Passer au contenu principal
Grâce à l’endpoint /v1/scrapes d’Olostep, vous pouvez extraire du Markdown, HTML, texte, captures d’écran ou JSON structuré adaptés aux LLM à partir de n’importe quelle URL en temps réel.
  • Produit du markdown propre, des données structurées, des captures d’écran ou du html
  • Extrayez du JSON via Parsers ou extraction LLM
  • Gère le contenu dynamique : sites rendus en js, flux de connexion via actions, PDFs
Pour les détails de l’API, consultez la Référence de l’API Scrape Endpoint.

Scraper une URL

Utilisez l’endpoint /v1/scrapes pour scraper une seule URL et choisir les formats de sortie.

Installation

# pip install requests

import requests

Utilisation

Vous pouvez utiliser l’endpoint pour scraper une seule URL et choisir les formats de sortie. Les paramètres obligatoires sont url_to_scrape et formats. Parmi les autres paramètres courants, on trouve wait_before_scraping (en millisecondes), remove_css_selectors (par défaut, aucun, ou un tableau de sélecteurs), et country.
import requests
import json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
    "url_to_scrape": "https://en.wikipedia.org/wiki/Alexander_the_Great",
    "formats": ["markdown", "html"]
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
}

response = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(response.json(), indent=2))

Réponse

L’API renvoie un objet scrape en réponse. Le scrape a quelques propriétés comme id et result. L’objet result a les champs suivants (selon le paramètre formats, certains peuvent être nuls) :
  • html_content : le contenu HTML de la page. Passez formats: ["html"] pour obtenir ceci.
  • markdown_content : le contenu MD de la page. Passez formats: ["markdown"] pour obtenir ceci.
  • text_content : le contenu texte de la page. Passez formats: ["text"] pour obtenir ceci.
  • json_content : le contenu JSON de la page. Passez formats: ["json"] pour obtenir ceci et fournissez également un paramètre parser ou llm_extract.
  • screenshot_hosted_url : l’URL hébergée de la capture d’écran.
  • html_hosted_url : l’URL hébergée du contenu HTML
  • markdown_hosted_url : l’URL hébergée du contenu Markdown
  • json_hosted_url : l’URL hébergée du contenu JSON
  • text_hosted_url : l’URL hébergée du contenu texte
  • links_on_page : les liens sur la page
  • page_metadata : les métadonnées de la page
{
  "id": "scrape_6h89o8u1kt",
  "object": "scrape",
  "created": 1745673871,
  "metadata": {},
  "retrieve_id": "6h89o8u1kt",
  "url_to_scrape": "https://en.wikipedia.org/wiki/Alexander_the_Great",
  "result": {
    "html_content": "<html...",
    "markdown_content": "## Alexander the Great...",
    "text_content": null,
    "json_content": null,
    "screenshot_hosted_url": null,
    "html_hosted_url": "https://olostep-storage.s3.us-east-1.amazonaws.com/text_6h89o8u1kt.txt",
    "markdown_hosted_url": "https://olostep-storage.s3.us-east-1.amazonaws.com/markDown_6h89o8u1kt.txt",
    "json_hosted_url": null,
    "text_hosted_url": null,
    "links_on_page": [],
    "page_metadata": { "status_code": 200, "title": "" }
  }
}

Formats de Scrape

Choisissez un ou plusieurs formats de sortie via formats :
  • markdown : markdown adapté aux LLM
  • html : HTML nettoyé
  • text : texte brut
  • json : sortie structurée (via parser ou llm_extract)
  • raw_pdf : octets PDF bruts extraits vers une URL hébergée
  • screenshot : défini via actions pour capturer une capture d’écran et retourner une URL hébergée
Les clés de sortie sont retournées à l’intérieur de result sous forme de champs *_content et également une *_hosted_url.

Extraire des données structurées

Vous pouvez extraire du JSON structuré de deux manières : en utilisant des Parsers ou l’extraction LLM.

Utiliser un Parser (recommandé pour l’échelle)

Définissez formats: ["json"] et fournissez un id de parser.
import requests, json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
  "url_to_scrape": "https://www.google.com/search?q=alexander+the+great&gl=us&hl=en",
  "formats": ["json"],
  "parser": { 
    "id": "@olostep/google-search" 
  }
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>", 
    "Content-Type": "application/json"
}

res = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(res.json(), indent=2))
Olostep propose quelques parsers préconstruits pour sites populaires mais vous pouvez également créer vos propres parsers via le tableau de bord ou demander à notre équipe de le faire pour vous. Les parsers sont auto-réparateurs et se mettront à jour eux-mêmes à la dernière version du site web.

Utiliser l’extraction LLM (schéma et/ou prompt)

Fournissez llm_extract avec un schéma JSON (schema) et/ou une instruction en langage naturel (prompt). Vous pouvez passer les deux paramètres, mais si les deux sont fournis, schema a la priorité. Sinon, si vous passez juste un prompt, le LLM extraira les données en fonction du prompt et décidera de la structure des données par lui-même.
import requests, json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
  "url_to_scrape": "https://www.berklee.edu/events/stefano-marchese-friends",
  "formats": ["markdown", "json"],
  "llm_extract": {
    "schema": {
      "event": {
        "type": "object",
        "properties": {
          "title": {"type": "string"},
          "date": {"type": "string"},
          "description": {"type": "string"},
          "venue": {"type": "string"},
          "address": {"type": "string"},
          "start_time": {"type": "string"}
        }
      }
    }
  }
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
}
res = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(res.json(), indent=2))
Note : result.json_content renvoie un JSON sous forme de chaîne. Analysez-le dans votre code si vous avez besoin d’un objet.

Interagir avec la page avec Actions

Effectuez des actions avant de scraper pour interagir avec des sites dynamiques. Actions prises en charge :
  • wait avec milliseconds
  • click avec selector
  • fill_input avec selector et value
  • scroll avec direction et amount
Il est souvent utile d’utiliser wait avant/après d’autres actions pour permettre le chargement de la page.

Exemple

import requests, json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
  "url_to_scrape": "https://example.com/login",
  "formats": ["markdown"],
  "actions": [
    {"type": "fill_input", "selector": "input[type=email]", "value": "john@example.com"},
    {"type": "wait", "milliseconds": 500},
    {"type": "fill_input", "selector": "input[type=password]", "value": "secret"},
    {"type": "click", "selector": "button[type=\"submit\"]"},
    {"type": "wait", "milliseconds": 1500}
  ]
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>", 
    "Content-Type": "application/json"
}
res = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(res.json(), indent=2))
La réponse inclura tous les formats demandés (par exemple, markdown_content).

Cas d’utilisation

Voici quelques applications pratiques de clients utilisant l’endpoint /scrapes.

Analyse de contenu & Recherche

  • Analyse concurrentielle : Extraire les détails des produits, les prix et les caractéristiques des sites concurrents
  • Études de marché : Analyser les pages de destination, les descriptions de produits et les témoignages clients
  • Recherche académique : Rassembler des données spécifiques à partir de publications scientifiques ou de portails de recherche
  • Documentation légale : Extraire des études de cas, des réglementations ou des précédents juridiques à partir de sites officiels

E-commerce & Vente au détail

  • Stratégies de tarification dynamique : Obtenir des prix de produits en temps réel à partir de magasins concurrents
  • Gestion de l’information produit : Extraire des spécifications détaillées et des descriptions
  • Suivi des stocks/inventaires : Vérifier la disponibilité des produits chez d’autres détaillants
  • Analyse des avis : Recueillir les commentaires et les sentiments des consommateurs pour des produits spécifiques

Marketing & Création de contenu

  • Curation de contenu : Extraire des articles et des billets de blog pertinents pour des newsletters
  • Analyse SEO : Examiner l’utilisation des mots-clés, les méta-descriptions et la structure des pages des concurrents
  • Génération de leads : Extraire des informations de contact à partir d’annuaires d’entreprises ou de pages d’entreprises
  • Recherche d’influenceurs : Recueillir des métriques d’engagement et des styles de contenu à partir de profils d’influenceurs
  • Génération de médias sociaux personnalisée : Créer du marketing sur les réseaux sociaux alimenté par l’IA en analysant les sites web des clients

Applications de données

  • Collecte de données d’entraînement IA : Recueillir des exemples spécifiques pour les modèles d’apprentissage automatique
  • Construction de bases de connaissances personnalisées : Extraire de la documentation ou des instructions à partir de sites logiciels
  • Archives de données historiques : Préserver le contenu des sites web à des moments spécifiques
  • Extraction de données structurées : Transformer le contenu web en ensembles de données formatés pour l’analyse

Surveillance & Alertes

  • Surveillance de la conformité réglementaire : Suivre les changements sur les sites légaux ou réglementaires
  • Gestion de crise : Surveiller les sites d’actualités pour des mentions d’événements ou d’organisations spécifiques
  • Suivi des événements : Extraire des détails sur les événements à venir à partir de sites de lieux ou d’organisateurs
  • Surveillance de l’état des services : Vérifier les pages d’état des services pour des plateformes ou outils spécifiques

Publication & Médias

  • Agrégation de nouvelles : Extraire des nouvelles de dernière minute à partir de sources officielles
  • Surveillance des médias : Suivre des sujets spécifiques sur les sites d’actualités
  • Vérification de contenu : Extraire des informations pour vérifier des affirmations ou des déclarations
  • Extraction multimédia : Recueillir des vidéos, images ou audios intégrés pour des bibliothèques multimédia

Applications financières

  • Recherche d’investissement : Extraire des états financiers ou des rapports annuels à partir de sites d’entreprises
  • Indicateurs économiques : Recueillir des données économiques à partir de sites gouvernementaux ou d’institutions financières
  • Données de cryptomonnaie : Extraire des informations en temps réel sur les prix et la capitalisation boursière
  • Analyse des nouvelles financières : Surveiller les sites d’actualités financières pour des signaux de marché spécifiques

Applications techniques

  • Extraction de documentation API : Recueillir de la documentation technique pour référence
  • Tests d’intégration : Extraire des éléments de site web pour vérifier les intégrations tierces
  • Tests d’accessibilité : Analyser la structure des sites web pour la conformité aux normes d’accessibilité
  • Création d’archives web : Capturer le contenu complet des sites web pour la préservation historique

Scénarios d’intégration

  • Systèmes CRM : Améliorer les profils clients avec des données de sites d’entreprises ou de Linkedin
  • Systèmes de gestion de contenu : Importer du contenu externe pertinent
  • Outils de Business Intelligence : Compléter les données internes avec des informations de marché externes
  • Logiciel de gestion de projet : Extraire des spécifications ou des exigences à partir de sites clients
  • Tableaux de bord personnalisés : Afficher les données extraites aux côtés des métriques internes

Tarification

Scrape coûte 1 crédit par défaut. Si vous passez également des parsers, les coûts varient selon le parser (1-5 crédits). Si vous utilisez LLM extract, cela coûte 20 crédits.