Felo APIs
Web Fetch API
Estrai il contenuto delle pagine web come HTML, testo o Markdown con le opzioni selector e readability.
/v2/web/extractAutenticazione
Bearer API key
Tipo di contenuto
application/json
Note sui limiti
Possono applicarsi limiti specifici dell'endpoint.
La Web Fetch API estrae il contenuto da un URL di destinazione e restituisce il risultato in un formato più facile da elaborare per agenti, sistemi RAG e workflow sui contenuti. Può restituire HTML, testo semplice o Markdown e supporta selettori, opzioni di leggibilità, controllo della cache, user agent personalizzati e cookie della richiesta.
Endpoint
POST https://openapi.felo.ai/v2/web/extractAutenticazione
Invia la tua chiave API nell'header Authorization:
Authorization: Bearer YOUR_API_KEYVedi la guida all'autenticazione per i dettagli sulla creazione e gestione delle chiavi API.
Uso con agenti IA
Installa il pacchetto completo felo-ai quando vuoi che un agente estragga pagine web insieme a ogni altra Felo Skill disponibile. L'installer individua dinamicamente ogni directory del pacchetto che contiene SKILL.md, quindi non si basa mai su un elenco fisso. Installa tutte le Skill trovate in Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills o Hermes Agent ~/.hermes/skills. Usa la guida alla configurazione manuale degli agenti IA per l'installazione sicura e i passaggi sulla chiave API di ogni piattaforma.
Richiesta
Header
| Header | Obbligatorio | Descrizione |
|---|---|---|
Authorization | Sì | La tua chiave API nel formato Bearer YOUR_API_KEY |
Content-Type | Sì | Deve essere application/json |
Parametri del corpo
| Parametro | Tipo | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|---|
url | string | Sì | - | L'URL della pagina web da estrarre. |
crawl_mode | string | No | fast | Modalità di estrazione. Usa fast per un recupero più rapido o fine per un crawl più preciso che può gestire pagine più complesse. |
output_format | string | No | html | Formato di output. Valori supportati: html, text, markdown. |
with_readability | boolean o string | No | - | Abilita l'elaborazione di leggibilità per concentrarsi sul contenuto principale e ridurre il rumore della pagina. |
with_links_summary | boolean | No | - | Includi un riepilogo dei link quando supportato dall'estrattore downstream. |
with_images_summary | boolean | No | - | Includi un riepilogo delle immagini quando supportato. |
with_images_readability | boolean | No | - | Applica l'elaborazione di leggibilità all'estrazione delle immagini quando supportato. |
with_images | boolean | No | - | Includi le informazioni sulle immagini nel risultato estratto. |
with_links | boolean | No | - | Includi le informazioni sui link nel risultato estratto. |
ignore_empty_text_image | boolean | No | - | Ignora le immagini che non contengono testo utile quando supportato. |
target_selector | string | No | - | Selettore CSS dell'elemento di destinazione da estrarre, come article.main-content. |
wait_for_selector | string | No | - | Attendi che compaia un selettore CSS prima dell'estrazione. Utile per le pagine renderizzate dinamicamente. |
set_cookies | array | No | - | Cookie da inviare con la richiesta di estrazione. |
user_agent | string | No | - | Stringa User-Agent personalizzata per la richiesta di estrazione. |
timeout | integer | No | - | Timeout della richiesta in millisecondi. |
with_cache | boolean | No | true | Se l'estrattore downstream può usare la cache. |
with_stypes | boolean | No | false | Includi i metadati dei tipi di stile quando supportato. |
Risposta
Risposta di successo
La risposta usa un design di pass-through trasparente. I campi esatti dentro data possono variare in base a output_format e alle altre opzioni di estrazione.
{
"status": "ok",
"message": null,
"data": {
"content": "# Example Article\n\nExtracted article content..."
}
}Campi della risposta
| Campo | Tipo | Descrizione |
|---|---|---|
status | string | Stato della risposta. Di solito ok per una richiesta riuscita. |
message | string o null | Messaggio aggiuntivo. Di solito null per le richieste riuscite. |
data | object | Contenuto estratto e metadati restituiti dal servizio di estrazione downstream. |
data.content | string o object | Contenuto estratto. La forma dipende da output_format e dalle opzioni selezionate. |
Risposte di errore
| Stato HTTP | Codice di errore | Descrizione | Azione consigliata |
|---|---|---|---|
| 400 | WEB_EXTRACT_FAILED | Convalida della richiesta non riuscita, l'URL non è valido oppure l'estrattore downstream ha restituito un errore lato client. | Controlla url, i selettori e i parametri della richiesta. |
| 401 | UNAUTHORIZED | La chiave API manca, non è valida o è revocata. | Verifica la chiave API e l'header di autorizzazione. |
| 500 | WEB_EXTRACT_FAILED | Errore interno del servizio. | Riprova la richiesta. Contatta il supporto se il problema persiste. |
Esempi
Estrazione di 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"
}'Estrarre Markdown con leggibilità
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
}'Estrarre un selettore CSS specifico
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"
}'Attendere contenuti dinamici
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
}'Casi d'uso
- Dare a un agente il contesto di una pagina web prima di rispondere a una domanda.
- Estrarre il testo di un articolo per l'ingestione RAG o la creazione di basi di conoscenza.
- Convertire pagine web in Markdown per workflow di archiviazione o documentazione.
- Estrarre contenuti mirati da una pagina usando selettori CSS.
- Ridurre il rumore della pagina con l'elaborazione di leggibilità prima dell'analisi IA a valle.
Note
- L'API gestisce un URL per richiesta.
dataviene passato così com'è dal servizio di estrazione downstream, quindi nel tempo possono comparire campi aggiuntivi.- La modalità
finepuò essere più lenta difast, ma può essere utile quando la pagina richiede un rendering più completo. - Alcune pagine possono bloccare l'estrazione, richiedere cookie o necessitare di un
user_agentpersonalizzato.