/v1/searches ti permette di cercare sul web con una query in linguaggio naturale e ottenere una lista deduplicata di link rilevanti con titoli e descrizioni.
- Invia una query in inglese semplice
- Ricevi link strutturati da tutto il web
- Facoltativamente, esegui lo scraping di ogni URL restituito in un unico round-trip e incorpora
markdown_content/html_contentdirettamente nella risposta - Filtra per dominio, controlla il numero di risultati e limita il tempo di scraping
Installazione
Uso di base
Invia una query in linguaggio naturale e ricevi una lista di link rilevanti.Parametri della richiesta
| Campo | Tipo | Richiesto | Default | Descrizione |
|---|---|---|---|---|
query | string | sì | — | La query di ricerca in linguaggio naturale. |
limit | integer | no | 12 | Numero massimo di link da restituire dopo la deduplicazione. Deve essere tra 1 e 25. |
include_domains | string[] | no | [] | Restringi i risultati a questi domini. Solo host nudi — http(s):// iniziale e slash finali vengono rimossi automaticamente. |
exclude_domains | string[] | no | [] | Escludi i risultati da questi domini. Solo host nudi — http(s):// iniziale e slash finali vengono rimossi automaticamente. |
scrape_options | object | no | — | Quando fornito, ogni link restituito viene anche sottoposto a scraping e il suo contenuto incorporato nella risposta. Vedi scrape_options sotto. |
Limitare il numero di risultati
Filtrare per dominio
include_domains restringe i risultati a una whitelist; exclude_domains filtra le fonti indesiderate. Possono essere combinati.
scrape_options
Passascrape_options per eseguire lo scraping di ogni URL restituito in parallelo e incorpora il contenuto reso direttamente su ciascun link. Questo salva un round-trip per risultato rispetto a chiamare /v1/searches e /v1/scrapes separatamente.
| Campo | Tipo | Default | Descrizione |
|---|---|---|---|
formats | string[] | ["markdown"] | Formati di output da allegare a ciascun link. Per /v1/searches, sono supportati solo "html" e "markdown". Passa ["html", "markdown"] per ricevere entrambi. |
remove_css_selectors | string | "default" | Inoltrato a /v1/scrapes. "default" rimuove rumore di nav/footer/script/style/svg/dialog. Usa "none" per disabilitare, o passa un array di selettori JSON-stringificato da rimuovere. |
timeout | integer | 25 | Budget di wallclock in secondi per l’intera fase di scraping. Deve essere tra 1 e 60. Dopo questo tempo, la ricerca restituisce immediatamente — i campi di contenuto saranno null per i link che non sono stati completati. |
Comportamento
- Tutti i link vengono sottoposti a scraping in parallelo. Il
timeoutlimita l’intero batch, non ogni singolo link. - I fallimenti di scraping per link (errori di rete, timeout della pagina individuale) lasciano il
markdown_content/html_contentdi quel link comenullmentre gli altri link vengono restituiti normalmente. - Se il
timeoutglobale scade prima che tutti gli scraping siano completati, la ricerca risponde immediatamente con i link che ha — gli scraping già completati mantengono il loro contenuto; quelli in corso tornano con contenutonull. - Per gli URL
reddit.com/.../comments/..., la richiesta viene automaticamente instradata attraverso il parser@olostep/reddit-poste il JSON strutturato viene reso in markdown pulito + HTML di base - Se il contenuto combinato in linea supera i 9MB, i campi di contenuto vengono annullati,
result.size_exceededè impostato sutrue, e puoi recuperare il payload completo daresult.json_hosted_url.
Esempio con scraping
Risposta
Riceverai un oggettosearch in risposta. L’oggetto search contiene un id, la tua query originale, credits_consumed, e un result con una lista di links.
result.links contiene:
| Campo | Tipo | Descrizione |
|---|---|---|
url | string | L’URL del risultato di ricerca. |
title | string | Il titolo della pagina del risultato. |
description | string | Un breve snippet che descrive il risultato. |
markdown_content | string | Contenuto markdown della pagina. Presente solo quando scrape_options.formats include "markdown". null se lo scraping è fallito, era vuoto, o ha raggiunto il timeout globale. |
html_content | string | Contenuto HTML della pagina. Presente solo quando scrape_options.formats include "html". null in caso di fallimento/timeout. |
result.json_hosted_url — utile quando result.size_exceeded è true.
Recuperare una ricerca passata
GET /v1/searches/{search_id} restituisce ciò che è stato memorizzato al momento della ricerca, incluso qualsiasi contenuto sottoposto a scraping. È una lettura idempotente pura — nessun nuovo scraping, nessuna nuova fatturazione. Le ricerche più vecchie senza scrape_options semplicemente non hanno campi di contenuto per link.
Prezzi
Ogni ricerca costa 5 crediti per la ricerca stessa. Quandoscrape_options è fornito, ogni pagina sottoposta a scraping viene addebitata al tasso standard /v1/scrapes (tipicamente 1 credito per pagina; alcuni parser costano di più). Il totale viene restituito in credits_consumed.
Esempi:
| Richiesta | credits_consumed |
|---|---|
| Solo ricerca | 5 |
| Ricerca + 5 pagine sottoposte a scraping (1 credito ciascuna) | 10 |