Felo API PlatformFelo API Platform

Felo APIs

Web Fetch API

Extrae el contenido de páginas web como HTML, texto o Markdown con opciones de selector y readability.

POST/v2/web/extract

Autenticación

Bearer API key

Tipo de contenido

application/json

Notas sobre límites

Pueden aplicarse límites específicos del endpoint.

La Web Fetch API extrae contenido de una URL de destino y devuelve el resultado en un formato más fácil de procesar para agentes, sistemas RAG y flujos de trabajo de contenido. Puede devolver HTML, texto sin formato o Markdown, y admite selectores, opciones de legibilidad, control de caché, agentes de usuario personalizados y cookies de solicitud.

Endpoint

POST https://openapi.felo.ai/v2/web/extract

Autenticación

Envía tu clave de API en el encabezado Authorization:

Authorization: Bearer YOUR_API_KEY

Consulta la guía de autenticación para obtener detalles sobre la creación y gestión de claves de API.

Uso con agentes de IA

Instala el paquete completo felo-ai cuando quieras que un agente extraiga páginas web junto con todas las demás Felo Skills disponibles. El instalador descubre dinámicamente todos los directorios del paquete que contengan SKILL.md, por lo que nunca depende de una lista fija. Instala todas las Skills descubiertas en Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills o Hermes Agent ~/.hermes/skills. Usa la guía de configuración manual de agentes de IA para los pasos de instalación segura y de clave de API de cada plataforma.

Solicitud

Encabezados

EncabezadoObligatorioDescripción
AuthorizationSíTu clave de API con el formato Bearer YOUR_API_KEY
Content-TypeSíDebe ser application/json

Parámetros del cuerpo

ParámetroTipoObligatorioPredeterminadoDescripción
urlstringSí-La URL de la página web que se va a extraer.
crawl_modestringNofastModo de extracción. Usa fast para una obtención más rápida o fine para un rastreo más preciso que puede manejar páginas más complejas.
output_formatstringNohtmlFormato de salida. Valores admitidos: html, text, markdown.
with_readabilityboolean o stringNo-Activa el procesamiento de legibilidad para centrarse en el contenido principal y reducir el ruido de la página.
with_links_summarybooleanNo-Incluye un resumen de enlaces cuando el extractor downstream lo admita.
with_images_summarybooleanNo-Incluye un resumen de imágenes cuando se admita.
with_images_readabilitybooleanNo-Aplica el tratamiento de legibilidad a la extracción de imágenes cuando se admita.
with_imagesbooleanNo-Incluye información de imágenes en el resultado extraído.
with_linksbooleanNo-Incluye información de enlaces en el resultado extraído.
ignore_empty_text_imagebooleanNo-Ignora las imágenes que no contienen texto útil cuando se admita.
target_selectorstringNo-Selector CSS del elemento de destino que se va a extraer, por ejemplo article.main-content.
wait_for_selectorstringNo-Espera hasta que aparezca un selector CSS antes de extraer. Útil para páginas renderizadas dinámicamente.
set_cookiesarrayNo-Cookies que se enviarán con la solicitud de extracción.
user_agentstringNo-Cadena de User-Agent personalizada para la solicitud de extracción.
timeoutintegerNo-Tiempo de espera de la solicitud en milisegundos.
with_cachebooleanNotrueIndica si el extractor downstream puede usar la caché.
with_stypesbooleanNofalseIncluye metadatos de tipo de estilo cuando se admita.

Respuesta

Respuesta correcta

La respuesta usa un diseño de paso directo transparente. Los campos exactos dentro de data pueden variar según output_format y otras opciones de extracción.

{
  "status": "ok",
  "message": null,
  "data": {
    "content": "# Example Article\n\nExtracted article content..."
  }
}

Campos de la respuesta

CampoTipoDescripción
statusstringEstado de la respuesta. Normalmente ok en una solicitud correcta.
messagestring o nullMensaje adicional. Normalmente null en las solicitudes correctas.
dataobjectContenido extraído y metadatos devueltos por el servicio de extracción downstream.
data.contentstring u objectContenido extraído. La forma depende de output_format y de las opciones seleccionadas.

Respuestas de error

Estado HTTPCódigo de errorDescripciónAcción sugerida
400WEB_EXTRACT_FAILEDFalló la validación de la solicitud, la URL no es válida o el extractor downstream devolvió un error del lado del cliente.Comprueba url, los selectores y los parámetros de la solicitud.
401UNAUTHORIZEDFalta la clave de API, no es válida o está revocada.Verifica tu clave de API y el encabezado de autorización.
500WEB_EXTRACT_FAILEDError interno del servicio.Reintenta la solicitud. Contacta con soporte si el problema persiste.

Ejemplos

Extracción básica

curl -X POST https://openapi.felo.ai/v2/web/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com"
  }'

Extraer Markdown con legibilidad

curl -X POST https://openapi.felo.ai/v2/web/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/article",
    "output_format": "markdown",
    "with_readability": true
  }'

Extraer un selector CSS concreto

curl -X POST https://openapi.felo.ai/v2/web/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/article",
    "target_selector": "article.main-content",
    "output_format": "text"
  }'

Esperar contenido dinámico

curl -X POST https://openapi.felo.ai/v2/web/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/app",
    "crawl_mode": "fine",
    "wait_for_selector": "#loaded-content",
    "output_format": "markdown",
    "timeout": 30000
  }'

Casos de uso

  • Dar a un agente el contexto de una página web antes de responder a una pregunta.
  • Extraer el texto de un artículo para ingerirlo en RAG o crear una base de conocimiento.
  • Convertir páginas web a Markdown para archivarlas o para flujos de documentación.
  • Obtener contenido concreto de una página mediante selectores CSS.
  • Reducir el ruido de la página con el procesamiento de legibilidad antes del análisis de IA downstream.

Notas

  • La API gestiona una URL por solicitud.
  • data se pasa directamente desde el servicio de extracción downstream, por lo que pueden aparecer campos adicionales con el tiempo.
  • El modo fine puede ser más lento que fast, pero puede resultar útil cuando la página necesita un comportamiento de renderizado más completo.
  • Algunas páginas pueden bloquear la extracción, requerir cookies o necesitar un user_agent personalizado.