Felo API PlatformFelo API Platform

Felo APIs

Web Fetch API

Extrayez le contenu d'une page web en HTML, texte ou Markdown avec les options selector et readability.

POST/v2/web/extract

Authentification

Bearer API key

Type de contenu

application/json

Notes sur les limites

Des limites propres à l'endpoint peuvent s'appliquer.

L'API Web Fetch extrait le contenu d'une URL cible et renvoie le résultat dans un format plus facile à traiter pour les agents, les systèmes RAG et les workflows de contenu. Elle peut renvoyer du HTML, du texte brut ou du Markdown, et prend en charge les sélecteurs, les options de lisibilité, le contrôle du cache, les user agents personnalisés et les cookies de requête.

Endpoint

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

Authentification

Envoyez votre clé API dans l'en-tête Authorization :

Authorization: Bearer YOUR_API_KEY

Consultez le guide d'authentification pour les détails sur la création et la gestion des clés API.

Utilisation avec des agents IA

Installez le paquet complet felo-ai lorsque vous voulez qu'un agent extraie des pages web aux côtés de tous les autres Felo Skills disponibles. L'installateur découvre dynamiquement chaque répertoire de paquet contenant SKILL.md, il ne s'appuie donc jamais sur une liste figée. Installez tous les Skills découverts dans Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills ou Hermes Agent ~/.hermes/skills. Utilisez le guide d'installation manuelle des agents IA pour les étapes d'installation sûre et de clé API propres à chaque plateforme.

Requête

En-têtes

En-têteRequisDescription
AuthorizationOuiVotre clé API au format Bearer YOUR_API_KEY
Content-TypeOuiDoit être application/json

Paramètres du corps

ParamètreTypeRequisPar défautDescription
urlstringOui-L'URL de la page web à extraire.
crawl_modestringNonfastMode d'extraction. Utilisez fast pour une récupération plus rapide ou fine pour un crawl plus précis qui peut gérer des pages plus riches.
output_formatstringNonhtmlFormat de sortie. Valeurs prises en charge : html, text, markdown.
with_readabilityboolean or stringNon-Active le traitement de lisibilité pour se concentrer sur le contenu principal et réduire le bruit de la page.
with_links_summarybooleanNon-Inclut un résumé des liens lorsque l'extracteur en aval le prend en charge.
with_images_summarybooleanNon-Inclut un résumé des images lorsque cela est pris en charge.
with_images_readabilitybooleanNon-Applique le traitement de lisibilité à l'extraction d'images lorsque cela est pris en charge.
with_imagesbooleanNon-Inclut les informations d'image dans le résultat extrait.
with_linksbooleanNon-Inclut les informations de lien dans le résultat extrait.
ignore_empty_text_imagebooleanNon-Ignore les images sans texte utile lorsque cela est pris en charge.
target_selectorstringNon-Sélecteur CSS de l'élément cible à extraire, par exemple article.main-content.
wait_for_selectorstringNon-Attend l'apparition d'un sélecteur CSS avant l'extraction. Utile pour les pages rendues dynamiquement.
set_cookiesarrayNon-Cookies à envoyer avec la requête d'extraction.
user_agentstringNon-Chaîne User-Agent personnalisée pour la requête d'extraction.
timeoutintegerNon-Délai d'expiration de la requête en millisecondes.
with_cachebooleanNontrueIndique si l'extracteur en aval peut utiliser le cache.
with_stypesbooleanNonfalseInclut les métadonnées de type de style lorsque cela est pris en charge.

Réponse

Réponse de succès

La réponse utilise une conception de transmission transparente. Les champs exacts dans data peuvent varier selon output_format et les autres options d'extraction.

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

Champs de réponse

ChampTypeDescription
statusstringStatut de la réponse. Généralement ok pour une requête réussie.
messagestring or nullMessage supplémentaire. Généralement null pour les requêtes réussies.
dataobjectContenu extrait et métadonnées renvoyés par le service d'extraction en aval.
data.contentstring or objectContenu extrait. La forme dépend de output_format et des options sélectionnées.

Réponses d'erreur

Statut HTTPCode d'erreurDescriptionAction suggérée
400WEB_EXTRACT_FAILEDLa validation de la requête a échoué, l'URL est invalide ou l'extracteur en aval a renvoyé une erreur côté client.Vérifiez url, les sélecteurs et les paramètres de requête.
401UNAUTHORIZEDLa clé API est manquante, invalide ou révoquée.Vérifiez votre clé API et l'en-tête d'autorisation.
500WEB_EXTRACT_FAILEDErreur interne du service.Réessayez la requête. Contactez le support si le problème persiste.

Exemples

Extraction de base

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"
  }'

Extraire du Markdown avec lisibilité

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
  }'

Extraire un sélecteur CSS spécifique

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"
  }'

Attendre du contenu dynamique

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
  }'

Cas d'usage

  • Fournir à un agent le contexte d'une page web avant de répondre à une question.
  • Extraire le texte d'articles pour l'ingestion RAG ou la création de bases de connaissances.
  • Convertir des pages web en Markdown pour des workflows d'archivage ou de documentation.
  • Extraire un contenu ciblé d'une page à l'aide de sélecteurs CSS.
  • Réduire le bruit des pages grâce au traitement de lisibilité avant une analyse IA en aval.

Remarques

  • L'API traite une URL par requête.
  • data est transmis depuis le service d'extraction en aval, des champs supplémentaires peuvent donc apparaître avec le temps.
  • Le mode fine peut être plus lent que fast, mais peut être utile lorsque la page nécessite un rendu plus riche.
  • Certaines pages peuvent bloquer l'extraction, nécessiter des cookies ou exiger un user_agent personnalisé.