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 · curl

Receitas de curl e jq para a API de pesquisa web

Todas as funcionalidades da API funcionam a partir do terminal. Estas receitas usam curl para chamá-la e jq para montar o JSON: úteis para testar uma consulta antes de codificá-la, para shell scripts e para cron jobs.

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

Resposta rápida

Como uso uma API de pesquisa web pela linha de comando?

Envie um corpo JSON com curl -d para https://llmwebsearch.com/api/v1/search, sua chave em um header Authorization: Bearer, e direcione a resposta para jq. LLMWebSearch retorna resultados ranqueados com as 3 melhores páginas em Markdown, então uma linha basta para listar fontes ou salvar páginas em arquivos. Uma pesquisa custa 1 crédito, a partir de US$ 1,20/1K pesquisas em outubro de 2026. Sem KYC; pague com cripto.

Como configuro o terminal uma vez só?

Exporte sua chave no shell, para que ela fique fora dos comandos que você digita e do seu histórico. As receitas abaixo a leem como $LLMWEBSEARCH_API_KEY. Você também precisa do jq, que a maioria dos gerenciadores de pacotes instala com esse nome.

Todas as receitas assumem um shell POSIX como bash ou zsh. No Windows, Git Bash ou WSL as executam sem alterações.

Defina a chave e confira seu saldo (grátis)
export LLMWEBSEARCH_API_KEY="your-key"

curl -s "https://llmwebsearch.com/api/v1/credits" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" | jq .

Como listo as fontes de uma pesquisa?

Execute a pesquisa com read definido como 0 e imprima uma linha por resultado: posição, host e URL. Isso custa 1 crédito e mostra, em um segundo, quais fontes uma pergunta traz. É uma boa forma de ajustar o texto de uma consulta antes que um agente a use.

Uma linha por resultado
curl -s "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "postgres connection pool size", "max_results": 10, "read": 0}' \
  | jq -r '.results[] | "\(.position)\t\(.host)\t\(.url)"'

Como salvo as páginas que foram lidas?

Mantenha os resultados cujo content_status seja ok e grave cada content em seu próprio arquivo. A receita abaixo salva 01.md, 02.md e assim por diante, cada um começando pela URL da fonte. O jq seleciona os resultados e o loop do shell grava os arquivos.

Salve cada página em Markdown
curl -s "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "postgres connection pool size", "read": 3}' > search.json

jq -r '.results[] | select(.content_status == "ok") | .position' search.json | while read -r pos; do
  jq -r --argjson p "$pos" '.results[] | select(.position == $p) | "Source: " + .url + "\n\n" + .content' \
    search.json > "$(printf '%02d' "$pos").md"
done
ls -1 ./*.md

Como pesquiso notícias de alguns sites?

Adicione topic, time_range e include_domains ao corpo. A receita mantém notícias da última semana em dois domínios e imprime a data ao lado de cada título, o que basta para acompanhar um assunto a partir de um cron job.

Notícias da última semana de dois domínios
curl -s "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "database security release", "topic": "news", "time_range": "week", "include_domains": ["news.example.com", "example.org"], "read": 0}' \
  | jq -r '.results[] | "\(.published_at // "no date")  \(.title)  \(.url)"'

Como uso o formato GET?

Use curl -G com --data-urlencode para a consulta, assim espaços e símbolos são codificados para você. Listas como include_domains viram um único valor separado por vírgulas. O GET é prático para um teste rápido; scripts que crescem devem migrar para POST.

GET /search
curl -sG "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  --data-urlencode "q=pgbouncer transaction mode" \
  -d read=1 -d max_chars=3000 -d include_domains=example.com,example.org \
  | jq -r '.results[0].content // .results[0].snippet'

Como leio URLs que já tenho?

Envie-as para /extract como um array JSON de 1 a 20 endereços. Ler páginas cujas URLs você já tem custa 1 crédito por cada grupo iniciado de 3 páginas devolvidas com conteúdo, até 20 URLs por chamada; URLs recusadas ou com falha não são contadas. A receita imprime cada URL com seu status e contagem de palavras, o que mostra rapidamente quais páginas um site nos permitiu ler.

POST /extract
curl -s "https://llmwebsearch.com/api/v1/extract" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://docs.example.com/security/key-rotation", "https://example.com/changelog"]}' \
  | jq -r '"credits: \(.credits_used)", (.results[] | "\(.content_status)\t\(.word_count // 0)\t\(.url)")'

Como vejo o erro quando uma chamada falha?

Imprima o status HTTP com -w e mantenha o body: os erros voltam como JSON com um code e um message. Um script pode então ramificar pelo status, por exemplo aguardando e tentando de novo apenas em 429, 502 ou 504. Nenhum desses erros usa um crédito.

Código de status e body de erro
status=$(curl -s -o body.json -w '%{http_code}' "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "test query"}')
if [ "$status" != "200" ]; then
  echo "HTTP $status: $(jq -r '.error.code + " - " + .error.message' body.json)"
fi

curl: perguntas comuns

Por que meu body JSON falha com invalid_parameter?

Normalmente é um problema de aspas. Coloque o body entre aspas simples no bash para que as aspas duplas internas fiquem intactas, e verifique com echo '…' | jq . antes de enviar.

Posso passar a chave na URL?

Sim, com -d api_key=… no formulário GET. O header é mais seguro, porque o histórico do shell e os logs de proxy registram URLs.

Uma chamada curl que falha custa um crédito?

Não. Erros HTTP nunca usam créditos. Só é cobrada a pesquisa que retorna resultados, como credits_used mostra.

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

Obtenha uma chave de API