Felo APIs
Web Fetch API
Extrayez le contenu d'une page web en HTML, texte ou Markdown avec les options selector et readability.
/v2/web/extractAuthentification
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/extractAuthentification
Envoyez votre clé API dans l'en-tête Authorization :
Authorization: Bearer YOUR_API_KEYConsultez 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ête | Requis | Description |
|---|---|---|
Authorization | Oui | Votre clé API au format Bearer YOUR_API_KEY |
Content-Type | Oui | Doit être application/json |
Paramètres du corps
| Paramètre | Type | Requis | Par défaut | Description |
|---|---|---|---|---|
url | string | Oui | - | L'URL de la page web à extraire. |
crawl_mode | string | Non | fast | Mode 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_format | string | Non | html | Format de sortie. Valeurs prises en charge : html, text, markdown. |
with_readability | boolean or string | Non | - | Active le traitement de lisibilité pour se concentrer sur le contenu principal et réduire le bruit de la page. |
with_links_summary | boolean | Non | - | Inclut un résumé des liens lorsque l'extracteur en aval le prend en charge. |
with_images_summary | boolean | Non | - | Inclut un résumé des images lorsque cela est pris en charge. |
with_images_readability | boolean | Non | - | Applique le traitement de lisibilité à l'extraction d'images lorsque cela est pris en charge. |
with_images | boolean | Non | - | Inclut les informations d'image dans le résultat extrait. |
with_links | boolean | Non | - | Inclut les informations de lien dans le résultat extrait. |
ignore_empty_text_image | boolean | Non | - | Ignore les images sans texte utile lorsque cela est pris en charge. |
target_selector | string | Non | - | Sélecteur CSS de l'élément cible à extraire, par exemple article.main-content. |
wait_for_selector | string | Non | - | Attend l'apparition d'un sélecteur CSS avant l'extraction. Utile pour les pages rendues dynamiquement. |
set_cookies | array | Non | - | Cookies à envoyer avec la requête d'extraction. |
user_agent | string | Non | - | Chaîne User-Agent personnalisée pour la requête d'extraction. |
timeout | integer | Non | - | Délai d'expiration de la requête en millisecondes. |
with_cache | boolean | Non | true | Indique si l'extracteur en aval peut utiliser le cache. |
with_stypes | boolean | Non | false | Inclut 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
| Champ | Type | Description |
|---|---|---|
status | string | Statut de la réponse. Généralement ok pour une requête réussie. |
message | string or null | Message supplémentaire. Généralement null pour les requêtes réussies. |
data | object | Contenu extrait et métadonnées renvoyés par le service d'extraction en aval. |
data.content | string or object | Contenu extrait. La forme dépend de output_format et des options sélectionnées. |
Réponses d'erreur
| Statut HTTP | Code d'erreur | Description | Action suggérée |
|---|---|---|---|
| 400 | WEB_EXTRACT_FAILED | La 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. |
| 401 | UNAUTHORIZED | La clé API est manquante, invalide ou révoquée. | Vérifiez votre clé API et l'en-tête d'autorisation. |
| 500 | WEB_EXTRACT_FAILED | Erreur 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.
dataest transmis depuis le service d'extraction en aval, des champs supplémentaires peuvent donc apparaître avec le temps.- Le mode
finepeut être plus lent quefast, 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_agentpersonnalisé.