Sans KYC — pas de pièce d'identité, pas de selfie, pas de documents. Payez en crypto : BTC, USDT, USDC, ETH, SOL, LTC
Langue: Français
Obtenir une clé API

Docs · curl

Recettes curl et jq pour l'API de recherche web

Toutes les fonctionnalités de l'API fonctionnent depuis un terminal. Ces recettes utilisent curl pour l'appeler et jq pour façonner le JSON : utile pour tester une requête avant de la coder, pour les scripts shell et pour les cron jobs.

Dernière mise à jour: · 4 min de lecture

Réponse rapide

Comment utiliser une API de recherche web en ligne de commande ?

Envoyez un corps JSON avec curl -d à https://llmwebsearch.com/api/v1/search, votre clé dans un header Authorization: Bearer, et passez la réponse dans jq. LLMWebSearch renvoie des résultats classés avec les 3 premières pages en Markdown, si bien qu'une seule ligne peut lister les sources ou enregistrer les pages dans des fichiers. Une requête coûte 1 crédit, à partir de 1,20 $US/1K requêtes en octobre 2026. Sans KYC ; paiement en crypto.

Comment configurer le terminal une fois pour toutes ?

Exportez votre clé dans le shell, pour qu'elle reste hors des commandes que vous tapez et hors de votre historique. Les recettes ci-dessous la lisent via $LLMWEBSEARCH_API_KEY. Il vous faut aussi jq, que la plupart des gestionnaires de paquets installent sous ce nom.

Toutes les recettes supposent un shell POSIX comme bash ou zsh. Sous Windows, Git Bash ou WSL les exécutent sans modification.

Définir la clé et vérifier votre solde (gratuit)
export LLMWEBSEARCH_API_KEY="your-key"

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

Comment lister les sources d'une requête ?

Lancez la recherche avec read défini sur 0 et affichez une ligne par résultat : position, hôte et URL. Cela coûte 1 crédit et vous montre, en une seconde, quelles sources une question fait remonter. C'est un bon moyen d'ajuster la formulation d'une requête avant qu'un agent ne l'utilise.

Une ligne par résultat
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)"'

Comment enregistrer les pages lues ?

Conservez les résultats dont le content_status vaut ok et écrivez chaque content dans son propre fichier. La recette ci-dessous enregistre 01.md, 02.md, etc., chacun commençant par son URL source. jq sélectionne les résultats et la boucle shell écrit les fichiers.

Enregistrer chaque page en 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

Comment rechercher des actualités sur quelques sites ?

Ajoutez topic, time_range et include_domains au corps. La recette conserve les actualités de la semaine passée sur deux domaines et affiche la date à côté de chaque titre, de quoi surveiller un sujet depuis un cron job.

Actualités de la semaine passée sur deux domaines
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)"'

Comment utiliser la forme GET ?

Utilisez curl -G avec --data-urlencode pour la requête, afin que les espaces et les symboles soient encodés pour vous. Les listes comme include_domains deviennent une seule valeur séparée par des virgules. GET est pratique pour un test rapide ; les scripts qui grossissent devraient passer à 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'

Comment lire des URL que j'ai déjà ?

Envoyez-les à /extract sous forme de tableau JSON de 1 à 20 adresses. Lire des pages dont vous avez déjà les URLs coûte 1 crédit par groupe de 3 pages entamé, renvoyées avec leur contenu, jusqu'à 20 URLs par appel ; les URLs refusées ou en échec ne sont pas comptées. La recette affiche chaque URL avec son statut et son nombre de mots, ce qui montre en un coup d'œil quelles pages un site nous a autorisés à lire.

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

Comment voir l'erreur quand un appel échoue ?

Affichez le statut HTTP avec -w et conservez le corps : les erreurs reviennent en JSON avec un code et un message. Un script peut ensuite brancher sur le statut, par exemple attendre et réessayer uniquement sur 429, 502 ou 504. Aucune de ces erreurs ne consomme de crédit.

Code de statut et corps d'erreur
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 : questions fréquentes

Pourquoi mon corps JSON échoue-t-il avec invalid_parameter ?

C'est généralement un problème de quoting. Entourez le corps de guillemets simples dans bash pour que les guillemets doubles à l'intérieur restent intacts, et vérifiez-le avec echo '…' | jq . avant l'envoi.

Puis-je passer la clé dans l'URL ?

Oui, avec -d api_key=… sur la forme GET. Le header est plus sûr, car l'historique du shell et les logs de proxy enregistrent les URL.

Un appel curl qui échoue coûte-t-il un crédit ?

Non. Les erreurs HTTP ne consomment jamais de crédits. Seule une requête qui renvoie des résultats est facturée, comme le montre credits_used.

À partir de 1,20 $US/1K requêtes · sans KYC

Obtenir une clé API