API di ricerca per l’IA
Una richiesta HTTP restituisce risultati strutturati — recupero web in tempo reale per app di IA, RAG e agenti. Un’alternativa a Firecrawl · Exa · Tavily.
Avvio rapido
/api/v1/searchcurl "https://tutusoo.com/api/v1/search?q=rust&limit=5"Parametri di query
| Parametro | Tipo | Descrizione |
|---|---|---|
| q* | string | Query di ricerca (obbligatorio); più parole in AND per default (devono corrispondere tutte) |
| limit | int | Numero di risultati, default 10, max 100 |
| offset | int | Offset di paginazione, default 0, max 990 |
| lang | string | Filtro lingua, es. zh / en |
| time_range | string | Intervallo tempo indicizzato: 1d/7d/30d/1y/all (per crawled_at) |
| site | string | Limita a un dominio di sito |
| lang_priority | string | Priorità lingua (boost soft, non filtro rigido): es. zh spinge in alto i risultati nella lingua corrispondente senza nascondere gli altri; indipendente da lang |
Operatori di query (dentro q)
| site:domain | Limita a un sito, es. site:github.com rust |
| intitle:word | Corrisponde solo ai titoli contenenti la parola |
| "exact phrase" | Ogni parola della frase deve comparire |
| -exclude | Escludi i risultati con la parola, es. rust -tutorial |
| A OR B | Corrisponde a uno dei termini, es. rust OR golang |
| filetype:type | Filtra per tipo di file (pdf/doc/ppt/xls), es. filetype:pdf |
Risposta
{
"total": 586,
"took_ms": 142,
"results": [
{
"id": "a1b2c3d4-…", // page id for local results; may be empty for external fallback
"url": "https://rust-lang.org/",
"title": "Rust Programming Language",
"snippet": "A language empowering everyone to build reliable software…",
"domain": "rust-lang.org",
"site_name": "Rust Programming Language", // display name (optional; client falls back to domain)
"lang": "en",
"score": 12.4,
"source": "local", // local (our index) | brave (web fallback)
"has_llms_txt": true,
"published_at": "2010-01-25T…", // article publish time (nullable; returned when known; RAG freshness/date)
"crawled_at": "2026-07-18T…" // crawl time (freshness; time_range filters on this)
}
]
} site_name: nome visualizzato; può essere omesso — ripiega su domain. source: local = il nostro indice / brave = fallback web quando i risultati locali sono insufficienti. has_llms_txt: se il sito target fornisce un llms.txt (adatto all’IA).
Recupera il testo completo (RAG)
/api/v1/content/{id}Quando un risultato ha source=local e un id non vuoto, recupera il testo completo per un LLM. I risultati di fallback esterno non hanno corpo locale e non possono usare questo endpoint.
curl "https://tutusoo.com/api/v1/content/<local_page_id>"
# Response (RAG-relevant fields only, no internal columns):
{
"id": "…",
"url": "https://rust-lang.org/",
"title": "Rust Programming Language",
"body_text": "…full article text…",
"author": "Jane Doe", // author (nullable; RAG citation/byline)
"published_at": "2026-01-…", // original publish time (nullable; freshness)
"lang": "en",
"word_count": 1200,
"crawled_at": "2026-07-18T…",
"has_llms_txt": true
}Accesso e rate limit
Gli endpoint pubblici di ricerca e contenuto non richiedono login né chiave API — provali direttamente; il livello pubblico applica un rate limiting equo per IP client e restituisce 429 al superamento. Le chiavi API dedicate vengono fornite dall’operatore per integrazioni confermate; questo sito non mostra una registrazione self-service che non esiste.
Le risposte con chiave dedicata restituiscono X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset. In caso di 429, attendi secondo le indicazioni della risposta — non riprovare subito senza limiti.


















