Passer au contenu principal
Le point d’accès Olostep /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_content directement dans la réponse
  • Filtrez par domaine, contrôlez le nombre de résultats et limitez le temps d’extraction
Il recherchera la requête de manière sémantique sur le web et retournera les résultats. Pour les détails de l’API, consultez la Référence de l’API du point d’accès de Recherche.

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

Passez scrape_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 timeout limite 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_content de ce lien à null tandis que les autres liens retournent normalement.
  • Si le timeout global 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 contenu null.
  • Pour les URL reddit.com/.../comments/..., la requête est automatiquement acheminée via le parseur @olostep/reddit-post et 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_exceeded est défini sur true, et vous pouvez récupérer la charge utile complète à partir de result.json_hosted_url.

Exemple avec extraction

Réponse

Vous recevrez un objet search en réponse. L’objet search contient un id, votre query original, credits_consumed, et un result avec une liste de links.
Chaque lien dans 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.
Voir Obtenir une Recherche pour tous les détails.

Stockage

Les fichiers stockés pour une recherche sont conservés pendant 7 jours par défaut. Passez un objet storage 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
Une valeur invalide retourne 400 :

Tarification

Chaque recherche coûte 5 crédits pour la recherche elle-même. Lorsque scrape_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 :