Senza KYC — nessun documento, nessun selfie, nessun file. Paghi in criptovalute: BTC, USDT, USDC, ETH, SOL, LTC
Lingua: Italiano
Ottieni una chiave API

Docs · curl

Ricette curl e jq per la web search API

Ogni funzione dell'API funziona da terminale. Queste ricette usano curl per chiamarla e jq per modellare il JSON: utili per testare una query prima di scriverne il codice, per gli shell script e per i cron job.

Ultimo aggiornamento: · 4 min di lettura

Risposta rapida

Come si usa una web search API dalla riga di comando?

Invia un body JSON con curl -d a https://llmwebsearch.com/api/v1/search, la tua chiave in un header Authorization: Bearer, e passa la risposta a jq. LLMWebSearch restituisce risultati ordinati con le prime 3 pagine come Markdown, così una sola riga può elencare le fonti o salvare le pagine su file. Una ricerca costa 1 credito, da 1,20 USD/1K ricerche a ottobre 2026. Senza KYC; paghi in criptovalute.

Come si configura il terminale una volta sola?

Esporta la chiave nella shell, così resta fuori dai comandi che digiti e fuori dalla cronologia. Le ricette qui sotto la leggono come $LLMWEBSEARCH_API_KEY. Ti serve anche jq, che la maggior parte dei package manager installa con quel nome.

Tutte le ricette presuppongono una shell POSIX come bash o zsh. Su Windows, Git Bash o WSL le eseguono senza modifiche.

Imposta la chiave e controlla il saldo (gratis)
export LLMWEBSEARCH_API_KEY="your-key"

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

Come si elencano le fonti di una ricerca?

Esegui la ricerca con read impostato a 0 e stampa una riga per risultato: posizione, host e URL. Costa 1 credito e ti mostra, in un secondo, quali fonti tira fuori una domanda. È un buon modo per calibrare la formulazione di una query prima che la usi un agente.

Una riga per risultato
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)"'

Come si salvano le pagine che sono state lette?

Tieni i risultati il cui content_status è ok e scrivi ogni content nel suo file. La ricetta qui sotto salva 01.md, 02.md e così via, ciascuno che inizia con il suo URL di origine. jq seleziona i risultati e il loop della shell scrive i file.

Salva ogni pagina come 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

Come si cercano notizie da alcuni siti?

Aggiungi topic, time_range e include_domains al body. La ricetta tiene le notizie dell'ultima settimana su due domini e stampa la data accanto a ogni titolo, abbastanza per tenere d'occhio un argomento da un cron job.

Notizie dell'ultima settimana da due domini
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)"'

Come si usa la forma GET?

Usa curl -G con --data-urlencode per la query, così spazi e simboli vengono codificati per te. Le liste come include_domains diventano un unico valore separato da virgole. GET è comodo per un test veloce; gli script che crescono dovrebbero passare a 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'

Come si leggono URL che ho già?

Inviale a /extract come array JSON da 1 a 20 indirizzi. Leggere pagine di cui hai già gli URL costa 1 credito per ogni gruppo iniziato di 3 pagine restituite con contenuto, fino a 20 URL per chiamata; gli URL rifiutati o falliti non vengono contati. La ricetta stampa ogni URL con il suo stato e il conteggio delle parole, che mostra a colpo d'occhio quali pagine un sito ci ha permesso di leggere.

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)")'

Come vedo l'errore quando una chiamata fallisce?

Stampa lo status HTTP con -w e conserva il body: gli errori tornano come JSON con un code e un message. Uno script può poi diramare sullo status, per esempio aspettando e riprovando solo su 429, 502 o 504. Nessuno di questi errori consuma un credito.

Status code e body dell'errore
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: domande frequenti

Perché il mio body JSON fallisce con invalid_parameter?

Di solito è un problema di quoting. Racchiudi il body tra apici singoli in bash così le virgolette doppie interne restano intatte, e controllalo con echo '…' | jq . prima di inviarlo.

Posso passare la chiave nell'URL?

Sì, con -d api_key=… nella forma GET. L'header è più sicuro, perché la cronologia della shell e i log dei proxy registrano gli URL.

Una chiamata curl fallita costa un credito?

No. Gli errori HTTP non usano mai crediti. Viene fatturata solo una ricerca che restituisce risultati, come mostra credits_used.

Da 1,20 USD/1K ricerche · senza KYC

Ottieni una chiave API