Sem KYC — sem documento de identidade, sem selfie, sem documentos. Pague com cripto: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Português
Obtenha uma chave de API

Docs · referência da API

Formato da resposta: todos os campos de uma pesquisa, explicados

Uma resposta de pesquisa é um objeto JSON: alguns campos sobre a chamada e depois um array results ordenado. Cada resultado informa se a página foi lida e, se foi, traz o conteúdo. Aqui estão todos os campos, com os status que um agente deve tratar.

Última atualização: · 6 min de leitura

Resposta rápida

O que a API do LLMWebSearch retorna para uma pesquisa?

LLMWebSearch retorna JSON com query, created_at, credits_used e um array results ordenado. Cada resultado tem sua posição, título, URL, host e snippet, e um content_status; quando ele é ok, o conteúdo principal da página está em content com um word_count. Uma pesquisa com até 3 páginas lidas custa 1 crédito, a partir de US$ 1,20/1K pesquisas em outubro de 2026. Sem KYC; pague com cripto.

Quais campos descrevem a chamada?

Nível superior de uma resposta /search.

CampoTipoSignificado
querystringA consulta como a executamos, após remover os espaços
created_atstringQuando a pesquisa foi executada, ISO 8601 em UTC
credits_usedintegerQuanto custou a chamada: 1, ou 2 quando read foi de 4 a 10
resultsarrayResultados ordenados, do melhor para o pior, no máximo max_results itens

Quais campos cada resultado carrega?

Um campo que a página ou o resultado da pesquisa não fornece é omitido em vez de enviado vazio.

CampoTipoQuando presenteSignificado
positionintegerSemprePosição na pesquisa, começando em 1
titlestringSempreTítulo do resultado
urlstringSempreEndereço da página
hoststringSempreNome do host da página, útil para agrupar ou citar
snippetstringSempreTrecho curto exibido pela pesquisa
published_atstringQuando uma data é conhecidaData de publicação da página ou do resultado de pesquisa
content_statusstringSempreSe a página foi lida e, caso não tenha sido, por quê
contentstringQuando content_status é okConteúdo principal em Markdown ou texto simples, cortado em max_chars
word_countintegerQuando content_status é okPalavras em todo o texto extraído, contadas antes do corte
target_statusintegerCom target_refusedO status HTTP que o site respondeu, como 403 ou 429

O que cada content_status significa?

Nenhuma dessas mudanças altera o preço da pesquisa. Elas descrevem uma página, nunca a chamada inteira.

content_statusSignificadoO que um agente deve fazer
okA página foi lida; content contém o texto principal delaUse-a e cite o url
not_requestedO resultado está além da contagem de readAumente read ou leia a página por meio de /extract, se necessário
blocked_by_robotsO robots.txt do site não permite nosso leitor nesta páginaUse o snippet ou outra fonte
blocked_by_site_policyO site declara Content-Signal: ai-input=noUse o snippet ou outra fonte
target_refusedO site recusou a solicitação; veja target_statusNão tente a página novamente; use outra fonte
fetch_failedErro de DNS, TLS ou conexão, ou a página não existe maisTente outro resultado; uma nova tentativa mais tarde pode funcionar
fetch_timeoutA página não respondeu em 15 segundosTente outro resultado; uma nova tentativa mais tarde pode funcionar
unsupported_contentO link é um arquivo que não conseguimos converter em textoUse o snippet ou outro resultado

Como é uma resposta completa?

O exemplo abaixo pediu 5 resultados com os 4 primeiros lidos, então custou 2 créditos. Os resultados 1 e 3 foram lidos. O resultado 2 pertence a um site cujo robots.txt mantém nosso leitor fora, o resultado 4 recusou a solicitação e o resultado 5 está além de read. Títulos, URLs e valores são ilustrativos.

Resposta de POST /search (ilustrativa)
{
  "query": "how to rotate api keys without downtime",
  "created_at": "2026-10-22T10:15:04Z",
  "credits_used": 2,
  "results": [
    {
      "position": 1,
      "title": "Rotating API keys",
      "url": "https://docs.example.com/security/key-rotation",
      "host": "docs.example.com",
      "snippet": "Create a second key, deploy it everywhere, then revoke the first one.",
      "published_at": "2026-09-30",
      "content_status": "ok",
      "content": "# Rotating API keys\n\n## Zero-downtime rotation\n\n1. Create a second key.\n2. Deploy it to every service.\n3. Revoke the old key.",
      "word_count": 948
    },
    {
      "position": 2,
      "title": "Key rotation checklist",
      "url": "https://blog.example.org/key-rotation-checklist",
      "host": "blog.example.org",
      "snippet": "Keep two keys active during the switch and alert on the old one.",
      "content_status": "blocked_by_robots"
    },
    {
      "position": 3,
      "title": "Secrets management basics",
      "url": "https://security.example.net/secrets-basics",
      "host": "security.example.net",
      "snippet": "Never commit keys to a repository.",
      "content_status": "ok",
      "content": "# Secrets management basics\n\n**Never** commit keys to a repository.",
      "word_count": 1310
    },
    {
      "position": 4,
      "title": "Key management service guide",
      "url": "https://cloud.example.com/kms-guide",
      "host": "cloud.example.com",
      "snippet": "Store keys in a managed vault and rotate them on a schedule.",
      "content_status": "target_refused",
      "target_status": 403
    },
    {
      "position": 5,
      "title": "API key best practices",
      "url": "https://dev.example.com/api-key-best-practices",
      "host": "dev.example.com",
      "snippet": "Scope each key to one service and one environment.",
      "content_status": "not_requested"
    }
  ]
}

Quais resultados recebem um status de página diferente de not_requested?

Apenas os primeiros read resultados, e cada item de uma chamada com /extract. Essas são as páginas que nosso leitor realmente tentou acessar. Tudo depois da contagem de read permanece not_requested, independentemente do que o site teria respondido.

A ordem nunca muda: o leitor trabalha nas posições 1, 2, 3 e assim por diante, nunca em um resultado posterior no lugar de um anterior que falhou. Se um agente precisa de um substituto para uma página recusada, ele pode ler o próximo resultado por meio de /extract.

Como é uma resposta de extract?

/extract retorna credits_used e um array results na ordem das URLs que você enviou. Cada item tem o url e um content_status; com ok ele adiciona title, content e word_count, e com target_refused ele adiciona target_status. Não há position, host nem snippet, porque nenhuma pesquisa foi executada.

A referência de extract mostra um exemplo completo e explica como os créditos são contados.

Como transformo resultados em contexto para um modelo?

Numere as fontes, mantenha a URL ao lado de cada uma e passe apenas o que o modelo precisa. Um layout compacto funciona bem: [1] title — url, depois o conteúdo dessa página, depois a próxima fonte. Peça ao modelo para citar com os mesmos números.

Quando um resultado não tem conteúdo, passe o snippet dele no lugar e diga que é apenas um snippet. Isso evita respostas construídas sobre uma página que o modelo nunca viu. A página de Python tem um loop curto que faz tudo isso dentro de um limite de tokens.

Formato da resposta: perguntas frequentes

O conteúdo é sempre Markdown?

Markdown por padrão. Envie format: "text" para obter texto simples sem marcação, por exemplo quando você só conta palavras ou classifica páginas. O nome do campo permanece content.

Por que published_at está ausente em alguns resultados?

Muitas páginas não informam data, e alguns resultados de pesquisa também não a exibem. Nesse caso, o campo é omitido, então verifique sua presença antes de usá-lo.

Novos campos podem aparecer depois?

Sim. Na versão 1, campos podem ser adicionados, mas nunca renomeados ou removidos. Escreva seu parser para ignorar campos que ele não conhece.

O conteúdo é armazenado do seu lado?

Não. Não treinamos nenhum modelo com as suas consultas ou com o que a API retorna, e não adicionamos nenhuma regra própria contra armazenar resultados; os direitos dos sites cujas páginas você lê continuam valendo. Nosso log de requisições mantém apenas um breve registro de cada chamada, descrito na página de privacidade.

A partir de US$ 1,20/1K pesquisas · sem KYC

Obtenha uma chave de API