Felo API PlatformFelo API Platform

Felo APIs

Web Fetch API

Estrai il contenuto delle pagine web come HTML, testo o Markdown con le opzioni selector e readability.

POST/v2/web/extract

Autenticazione

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/extract

Autenticazione

Invia la tua chiave API nell'header Authorization:

Authorization: Bearer YOUR_API_KEY

Vedi 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

HeaderObbligatorioDescrizione
AuthorizationSìLa tua chiave API nel formato Bearer YOUR_API_KEY
Content-TypeSìDeve essere application/json

Parametri del corpo

ParametroTipoObbligatorioPredefinitoDescrizione
urlstringSì-L'URL della pagina web da estrarre.
crawl_modestringNofastModalità di estrazione. Usa fast per un recupero più rapido o fine per un crawl più preciso che può gestire pagine più complesse.
output_formatstringNohtmlFormato di output. Valori supportati: html, text, markdown.
with_readabilityboolean o stringNo-Abilita l'elaborazione di leggibilità per concentrarsi sul contenuto principale e ridurre il rumore della pagina.
with_links_summarybooleanNo-Includi un riepilogo dei link quando supportato dall'estrattore downstream.
with_images_summarybooleanNo-Includi un riepilogo delle immagini quando supportato.
with_images_readabilitybooleanNo-Applica l'elaborazione di leggibilità all'estrazione delle immagini quando supportato.
with_imagesbooleanNo-Includi le informazioni sulle immagini nel risultato estratto.
with_linksbooleanNo-Includi le informazioni sui link nel risultato estratto.
ignore_empty_text_imagebooleanNo-Ignora le immagini che non contengono testo utile quando supportato.
target_selectorstringNo-Selettore CSS dell'elemento di destinazione da estrarre, come article.main-content.
wait_for_selectorstringNo-Attendi che compaia un selettore CSS prima dell'estrazione. Utile per le pagine renderizzate dinamicamente.
set_cookiesarrayNo-Cookie da inviare con la richiesta di estrazione.
user_agentstringNo-Stringa User-Agent personalizzata per la richiesta di estrazione.
timeoutintegerNo-Timeout della richiesta in millisecondi.
with_cachebooleanNotrueSe l'estrattore downstream può usare la cache.
with_stypesbooleanNofalseIncludi 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

CampoTipoDescrizione
statusstringStato della risposta. Di solito ok per una richiesta riuscita.
messagestring o nullMessaggio aggiuntivo. Di solito null per le richieste riuscite.
dataobjectContenuto estratto e metadati restituiti dal servizio di estrazione downstream.
data.contentstring o objectContenuto estratto. La forma dipende da output_format e dalle opzioni selezionate.

Risposte di errore

Stato HTTPCodice di erroreDescrizioneAzione consigliata
400WEB_EXTRACT_FAILEDConvalida 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.
401UNAUTHORIZEDLa chiave API manca, non è valida o è revocata.Verifica la chiave API e l'header di autorizzazione.
500WEB_EXTRACT_FAILEDErrore 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.
  • data viene passato così com'è dal servizio di estrazione downstream, quindi nel tempo possono comparire campi aggiuntivi.
  • La modalità fine può essere più lenta di fast, 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_agent personalizzato.