API

API de busca para IA

Uma requisição HTTP retorna resultados estruturados — recuperação web em tempo real para apps de IA, RAG e agentes. Uma alternativa a Firecrawl · Exa · Tavily.

Início rápido

GET /api/v1/search
curl "https://tutusoo.com/api/v1/search?q=rust&limit=5"

Parâmetros de consulta

ParâmetroTipoDescrição
q*stringConsulta de busca (obrigatório); várias palavras usam AND por padrão (todas devem corresponder)
limitintNúmero de resultados, padrão 10, máx. 100
offsetintDeslocamento de paginação, padrão 0, máx. 990
langstringFiltro de idioma, ex. zh / en
time_rangestringIntervalo de tempo indexado: 1d/7d/30d/1y/all (por crawled_at)
sitestringRestringir a um domínio de site
lang_prioritystringPrioridade de idioma (impulso suave, não filtro rígido): ex. zh eleva resultados do idioma correspondente sem esconder os outros; independente de lang

Operadores de consulta (dentro de q)

site:domainRestringir a um site, ex. site:github.com rust
intitle:wordCorresponde apenas a títulos que contenham a palavra
"exact phrase"Cada palavra da frase deve aparecer
-excludeExcluir resultados com a palavra, ex. rust -tutorial
A OR BCorresponde a qualquer termo, ex. rust OR golang
filetype:typeFiltrar por tipo de arquivo (pdf/doc/ppt/xls), ex. filetype:pdf

Resposta

{
  "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 exibido; pode ser omitido — recai em domain. source: local = nosso índice / brave = fallback web quando os resultados locais são insuficientes. has_llms_txt: se o site alvo oferece um llms.txt (amigável para IA).

Obter texto completo (RAG)

GET /api/v1/content/{id}

Quando um resultado tem source=local e id não vazio, obtenha o texto completo para alimentar um LLM. Resultados de fallback externo não têm corpo local e não podem usar este 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
}

Acesso e limites de taxa

Os endpoints públicos de pesquisa e conteúdo não exigem início de sessão nem chave de API — experimente-os diretamente; a camada pública aplica uma limitação de taxa justa por IP de cliente e devolve 429 quando excedida. As chaves de API dedicadas são fornecidas pelo operador para integrações confirmadas; este site não mostra um registo de autosserviço que não existe.

As respostas com chave dedicada devolvem X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset. Perante um 429, recue conforme as indicações da resposta — não repita imediatamente sem limite.