/v1/searches vous permet de rechercher sur le web avec une requête en langage naturel et d’obtenir une liste dédupliquée de liens pertinents avec des titres et des descriptions.
- Envoyez une requête en anglais simple
- Recevez des liens structurés de tout le web
- Optionnellement, récupérez chaque URL retournée en un seul aller-retour et intégrez
markdown_content/html_contentdirectement dans la réponse - Filtrez par domaine, contrôlez le nombre de résultats et limitez le temps d’extraction
Installation
Utilisation de base
Envoyez une requête en langage naturel et recevez une liste de liens pertinents.Paramètres de la requête
Limiter le nombre de résultats
Filtrer par domaine
include_domains restreint les résultats à une liste blanche ; exclude_domains filtre les sources indésirables. Ils peuvent être combinés.
scrape_options
Passezscrape_options pour extraire chaque URL retournée en parallèle et intégrer le contenu rendu directement sur chaque lien. Cela économise un aller-retour par résultat par rapport à l’appel de /v1/searches et /v1/scrapes séparément.
Comportement
- Tous les liens sont extraits en parallèle. Le
timeoutlimite l’ensemble du lot, pas chaque lien individuellement. - Les échecs d’extraction par lien (erreurs réseau, délais d’attente de page individuels) laissent le
markdown_content/html_contentde ce lien ànulltandis que les autres liens retournent normalement. - Si le
timeoutglobal expire avant que toutes les extractions ne soient terminées, la recherche répond immédiatement avec les liens qu’elle a — les extractions déjà terminées conservent leur contenu ; celles en cours reviennent avec un contenunull. - Pour les URL
reddit.com/.../comments/..., la requête est automatiquement acheminée via le parseur@olostep/reddit-postet le JSON structuré est rendu en markdown propre + HTML basique. - Si le contenu en ligne combiné dépasse 9 Mo, les champs de contenu sont annulés,
result.size_exceededest défini surtrue, et vous pouvez récupérer la charge utile complète à partir deresult.json_hosted_url.
Exemple avec extraction
Réponse
Vous recevrez un objetsearch en réponse. L’objet search contient un id, votre query original, credits_consumed, et un result avec une liste de links.
result.links contient :
Le résultat complet est également disponible sous forme de fichier JSON hébergé à
result.json_hosted_url — utile lorsque result.size_exceeded est true.
Récupérer une recherche passée
GET /v1/searches/{search_id} retourne ce qui a été conservé au moment de la recherche, y compris tout contenu extrait. C’est une lecture idempotente pure — pas de ré-extraction, pas de nouvelle facturation. Les recherches plus anciennes sans scrape_options n’ont tout simplement pas de champs de contenu par lien.
Stockage
Les fichiers stockés pour une recherche sont conservés pendant 7 jours par défaut. Passez un objetstorage sur POST /v1/searches pour les conserver plus longtemps, ou indéfiniment. Le paramètre couvre le fichier JSON hébergé à result.json_hosted_url et, lorsque scrape_options est défini, le contenu extrait pour chaque lien.
Omettre
storage, ou envoyer storage sans expires_in, utilise 7d. La réponse de création et GET /v1/searches/{search_id} incluent la valeur en vigueur :
cURL
400 :
Tarification
Chaque recherche coûte 5 crédits pour la recherche elle-même. Lorsquescrape_options est fourni, chaque page extraite est facturée au tarif standard de /v1/scrapes (généralement 1 crédit par page ; certains parseurs coûtent plus cher). Le total est retourné dans credits_consumed.
Exemples :