Passer au contenu principal
L’intégration Olostep Mastra apporte de puissantes capacités d’extraction de données web aux agents de Mastra.ai. Olostep est une API de recherche, de scraping et de crawling web — une API pour rechercher, extraire et structurer des données web. Construisez des agents IA intelligents capables de rechercher, scraper, analyser et structurer de manière autonome des données depuis n’importe quel site web. Installer depuis npm →

Fonctionnalités

L’intégration fournit 4 API puissantes pour l’extraction automatisée de données web :

Scraper un site web

Extraire le contenu d’une URL unique dans plusieurs formats (Markdown, HTML, JSON, texte)

Scraper des URLs en lot

Traiter jusqu’à 100 000 URLs en parallèle. Parfait pour l’extraction de données à grande échelle

Créer un crawl

Découvrir et scraper de manière autonome des sites web entiers en suivant les liens

Créer une carte

Extraire toutes les URLs d’un site web pour l’analyse de la structure du site et la découverte de contenu

Installation

npm install @olostep/mastra-tools

Configuration

1. Installer le package

npm install @olostep/mastra-tools @mastra/core

2. Importer et enregistrer l’intégration

Dans votre fichier de configuration Mastra :
import { Mastra } from '@mastra/core';
import { createOlostepIntegration } from '@olostep/mastra-tools';

// Créer l'intégration Olostep
const olostep = createOlostepIntegration();

// Enregistrer les APIs (cela les rend disponibles pour les agents)
olostep.registerApis();

// Ajouter à votre configuration Mastra
export const mastra = new Mastra({
  config: {
    integrations: [olostep],
    // ... autre configuration
  },
});

3. Configurer la clé API

Définissez votre clé API Olostep comme une variable d’environnement :
export OLOSTEP_API_KEY=your-api-key-here
Ou dans votre fichier .env :
OLOSTEP_API_KEY=your-api-key-here
Obtenez votre clé API depuis le Tableau de bord Olostep.

APIs Disponibles

L’intégration expose 4 APIs que vos agents Mastra peuvent utiliser :

scrapeWebsite

Extraire le contenu d’une URL unique. Prend en charge plusieurs formats et le rendu JavaScript. Cas d’utilisation :
  • Surveiller les changements sur des pages spécifiques
  • Extraire des informations produit de sites e-commerce
  • Rassembler des données d’articles de presse ou de blogs
  • Extraire du contenu pour l’agrégation de contenu
Paramètres du schéma :
apiKey
string
requis
Votre clé API Olostep
url_to_scrape
string
requis
URL du site web à scraper (doit inclure http:// ou https://)
formats
array
défaut:"['markdown']"
Formats de sortie : [‘html’, ‘markdown’, ‘json’, ‘text’]
country
string
Code pays pour le contenu spécifique à une localisation (ex : “US”, “GB”, “CA”)
wait_before_scraping
number
Temps d’attente en millisecondes pour le rendu JavaScript (0-10000)
parser
string
ID de parser optionnel pour une extraction spécialisée (ex : “@olostep/amazon-product”)
Réponse :
  • id - ID du scrape
  • url_to_scrape - URL scrappée
  • result.markdown_content - Contenu Markdown
  • result.html_content - Contenu HTML
  • result.json_content - Contenu JSON
  • result.text_content - Contenu texte
  • result.screenshot_hosted_url - URL de capture d’écran (si disponible)
  • result.markdown_hosted_url - URL hébergée du Markdown
  • object - Type d’objet (“scrape”)
  • created - Timestamp Unix
Exemple d’utilisation :
// Dans votre agent ou workflow
const result = await mastra.callApi({
  integrationName: 'olostep',
  api: 'scrapeWebsite',
  payload: {
    data: {
      apiKey: process.env.OLOSTEP_API_KEY,
      url_to_scrape: 'https://example.com',
      formats: ['markdown'],
      country: 'US',
    }
  }
});

batchScrape

Traiter plusieurs URLs en parallèle (jusqu’à 100 000 à la fois). Parfait pour l’extraction de données à grande échelle. Cas d’utilisation :
  • Scraper des catalogues de produits entiers
  • Extraire des données de plusieurs résultats de recherche
  • Traiter des listes d’URLs depuis des feuilles de calcul
  • Extraction de contenu en masse
Paramètres du schéma :
apiKey
string
requis
Votre clé API Olostep
batch_array
array
requis
Tableau d’objets avec les champs url et custom_id optionnelExemple : [{"url":"https://example.com","custom_id":"site1"}]
formats
array
défaut:"['markdown']"
Formats de sortie pour toutes les URLs
country
string
Code pays pour le scraping spécifique à une localisation
wait_before_scraping
number
Temps d’attente en millisecondes pour le rendu JavaScript
parser
string
ID de parser optionnel pour une extraction spécialisée
Réponse :
  • batch_id - ID du lot (utilisez-le pour récupérer les résultats plus tard)
  • status - Statut du traitement
  • object - Type d’objet (“batch”)
Exemple d’utilisation :
const result = await mastra.callApi({
  integrationName: 'olostep',
  api: 'batchScrape',
  payload: {
    data: {
      apiKey: process.env.OLOSTEP_API_KEY,
      batch_array: [
        { url: 'https://example.com', custom_id: 'site1' },
        { url: 'https://test.com', custom_id: 'site2' },
      ],
      formats: ['markdown'],
    }
  }
});

createCrawl

Découvrir et scraper de manière autonome des sites web entiers en suivant les liens. Parfait pour les sites de documentation, les blogs et les référentiels de contenu. Cas d’utilisation :
  • Crawler et archiver des sites de documentation entiers
  • Extraire tous les articles de blog d’un site web
  • Construire des bases de connaissances à partir de contenu web
  • Surveiller les changements de structure de site
Paramètres du schéma :
apiKey
string
requis
Votre clé API Olostep
start_url
string
requis
URL de départ pour le crawl (doit inclure http:// ou https://)
max_pages
number
défaut:"10"
Nombre maximum de pages à crawler
Si les liens trouvés sur les pages doivent être suivis
formats
array
défaut:"['markdown']"
Format pour le contenu scrappé
country
string
Code pays optionnel pour le crawling spécifique à une localisation
parser
string
ID de parser optionnel pour une extraction de contenu spécialisée
Réponse :
  • id - ID du crawl (utilisez-le pour récupérer les résultats plus tard)
  • object - Type d’objet (“crawl”)
  • status - Statut du crawl
  • created - Timestamp Unix
Exemple d’utilisation :
const result = await mastra.callApi({
  integrationName: 'olostep',
  api: 'createCrawl',
  payload: {
    data: {
      apiKey: process.env.OLOSTEP_API_KEY,
      start_url: 'https://docs.example.com',
      max_pages: 50,
      follow_links: true,
      formats: ['markdown'],
    }
  }
});

createMap

Extraire toutes les URLs d’un site web pour la découverte de contenu et l’analyse de la structure du site. Cas d’utilisation :
  • Construire des sitemaps et des diagrammes de structure de site
  • Découvrir toutes les pages avant le scraping en lot
  • Trouver des pages cassées ou manquantes
  • Audits et analyses SEO
Paramètres du schéma :
apiKey
string
requis
Votre clé API Olostep
url
string
requis
URL du site web pour extraire les liens (doit inclure http:// ou https://)
search_query
string
Requête de recherche optionnelle pour filtrer les URLs (ex : “blog”)
top_n
number
Limiter le nombre d’URLs retournées
include_urls
array
Modèles globaux pour inclure des chemins spécifiques (ex : [“/blog/**”])
exclude_urls
array
Modèles globaux pour exclure des chemins spécifiques (ex : [“/admin/**”])
Réponse :
  • id - ID de la carte
  • object - Type d’objet (“map”)
  • url - URL du site web
  • total_urls - Nombre total d’URLs trouvées
  • urls - Tableau d’URLs découvertes
Exemple d’utilisation :
const result = await mastra.callApi({
  integrationName: 'olostep',
  api: 'createMap',
  payload: {
    data: {
      apiKey: process.env.OLOSTEP_API_KEY,
      url: 'https://example.com',
      search_query: 'blog',
      top_n: 100,
      include_urls: ['/blog/**'],
    }
  }
});

Utilisation avec des Agents

Exemple d’Agent Basique

Créer un agent capable de scraper des sites web :
import { Agent } from '@mastra/core';
import { createOlostepIntegration } from '@olostep/mastra-tools';

const olostep = createOlostepIntegration();
olostep.registerApis();

const agent = new Agent({
  name: 'web-researcher',
  instructions: `
    Tu es un assistant de recherche web. Lorsque les utilisateurs te demandent d'obtenir des informations depuis un site web,
    utilise l'API Olostep scrapeWebsite pour extraire le contenu, puis résume-le pour eux.
  `,
  model: 'openai/gpt-4',
});

// L'agent peut maintenant utiliser les APIs Olostep via le système d'API de Mastra

Exemple de Workflow d’Agent

Construire un workflow de recherche qui découvre et scrape du contenu :
// 1. Cartographier un site web pour découvrir des URLs
const mapResult = await mastra.callApi({
  integrationName: 'olostep',
  api: 'createMap',
  payload: {
    data: {
      apiKey: process.env.OLOSTEP_API_KEY,
      url: 'https://example.com',
      include_urls: ['/blog/**'],
    }
  }
});

// 2. Scraper en lot les URLs découvertes
const batchResult = await mastra.callApi({
  integrationName: 'olostep',
  api: 'batchScrape',
  payload: {
    data: {
      apiKey: process.env.OLOSTEP_API_KEY,
      batch_array: mapResult.urls.slice(0, 10).map(url => ({ url })),
      formats: ['markdown'],
    }
  }
});

// 3. Traiter les résultats avec votre agent
const summary = await agent.generate({
  messages: [{
    role: 'user',
    content: `Résume ce contenu : ${batchResult.result.markdown_content}`
  }]
});

Cas d’Utilisation Populaires

Agent de Recherche

Construire un agent qui recherche des sujets de manière autonome :
Workflow :
  1. L’utilisateur demande : “Recherche les tendances IA”
  2. L’agent utilise createMap pour découvrir des pages pertinentes
  3. L’agent utilise batchScrape pour extraire le contenu
  4. L’agent analyse et résume les résultats
  5. Retourne un rapport de recherche structuré
Workflow :
  1. Planifier une surveillance quotidienne
  2. Utiliser scrapeWebsite pour vérifier les pages des concurrents
  3. Comparer avec les données précédentes
  4. Alerter sur les changements significatifs
  5. Générer des rapports hebdomadaires
Workflow :
  1. Utiliser createCrawl pour découvrir tous les articles de blog
  2. Utiliser batchScrape pour extraire le contenu
  3. Traiter avec l’IA pour extraire les sujets clés
  4. Stocker dans une base de connaissances
  5. Générer un calendrier de contenu

Intelligence E-commerce

Surveiller les produits et les prix :
Workflow de l'Agent :
1. Scraper les pages produits (scrapeWebsite)
2. Extraire des données structurées (avec parser)
3. Suivre les changements de prix
4. Générer des alertes
5. Mettre à jour la base de données

Analyse SEO

Analyser la structure et le contenu d’un site web :
Workflow de l'Agent :
1. Cartographier la structure du site (createMap)
2. Crawler les sections importantes (createCrawl)
3. Analyser la qualité du contenu
4. Identifier les opportunités SEO
5. Générer des recommandations

Parsers Spécialisés

Olostep fournit des parsers pré-construits pour les sites web populaires. Utilisez-les avec le paramètre parser :

Recherche Google

@olostep/google-searchExtraire : résultats de recherche, titres, extraits, URLs

Google Maps

@olostep/google-mapsExtraire : informations commerciales, avis, évaluations, localisation

Utilisation des Parsers

Ajoutez l’ID du parser au paramètre parser :
const result = await mastra.callApi({
  integrationName: 'olostep',
  api: 'scrapeWebsite',
  payload: {
    data: {
      apiKey: process.env.OLOSTEP_API_KEY,
      url_to_scrape: 'https://www.amazon.com/dp/PRODUCT_ID',
      formats: ['json'],
      parser: '@olostep/amazon-product',
    }
  }
});
Le parser extrait automatiquement des données structurées spécifiques à ce type de site web.

Bonnes Pratiques

Lorsque vous scrapez plus de 3 à 5 URLs, utilisez batchScrape au lieu de plusieurs appels scrapeWebsite. Le traitement en lot est :
  • Beaucoup plus rapide (traitement parallèle)
  • Plus économique
  • Plus facile à gérer
  • Meilleur pour les limites de taux
Pour les sites riches en JavaScript, utilisez le paramètre wait_before_scraping :
  • Sites simples : 0-1000ms
  • Sites dynamiques : 2000-3000ms
  • JavaScript lourd : 5000-8000ms
Testez avec différentes valeurs pour trouver le temps d’attente optimal.
Pour les sites web populaires (Amazon, LinkedIn, Google), utilisez des parsers pré-construits :
  • Obtenez des données structurées automatiquement
  • Extraction plus fiable
  • Pas besoin de parsing personnalisé
  • Maintenu par Olostep
Les opérations Batch, Crawl et Map sont asynchrones :
  • Stockez l’ID retourné (batch_id, crawl_id, map_id)
  • Interrogez pour la complétion ou utilisez des webhooks
  • Configurez des workflows séparés pour la récupération
Enveloppez toujours les appels API dans des blocs try-catch :
try {
  const result = await mastra.callApi({
    integrationName: 'olostep',
    api: 'scrapeWebsite',
    payload: { data: {...} }
  });
} catch (error) {
  // Gérer les erreurs d'authentification, de limite de taux ou de réseau
  console.error('Le scraping a échoué :', error.message);
}
Soyez attentif aux limites de taux :
  • Espacer les requêtes avec des délais
  • Utiliser le traitement en lot lorsque c’est possible
  • Surveiller l’utilisation dans le tableau de bord Olostep
  • Mettre à niveau le plan si nécessaire

Exemple Complet

Voici un exemple complet de construction d’un agent de recherche :
import { Mastra } from '@mastra/core';
import { Agent } from '@mastra/core';
import { createOlostepIntegration } from '@olostep/mastra-tools';

// Créer et enregistrer l'intégration Olostep
const olostep = createOlostepIntegration();
olostep.registerApis();

// Initialiser Mastra
export const mastra = new Mastra({
  config: {
    integrations: [olostep],
    // ... autre configuration
  },
});

// Créer un agent de recherche
const researchAgent = new Agent({
  name: 'research-assistant',
  instructions: `
    Tu es un assistant de recherche capable de rechercher, extraire et structurer des données web.
    Lorsque les utilisateurs te demandent de rechercher un sujet :
    1. Utilise createMap d'Olostep pour découvrir des pages pertinentes
    2. Utilise batchScrape pour extraire le contenu de plusieurs sources
    3. Analyse et résume les résultats
    4. Présente des rapports de recherche structurés
  `,
  model: 'openai/gpt-4',
});

// Utiliser l'agent
async function researchTopic(topic: string) {
  // Étape 1 : Découvrir des pages pertinentes
  const mapResult = await mastra.callApi({
    integrationName: 'olostep',
    api: 'createMap',
    payload: {
      data: {
        apiKey: process.env.OLOSTEP_API_KEY!,
        url: `https://example.com/search?q=${topic}`,
        top_n: 20,
      }
    }
  });

  // Étape 2 : Scraper les pages découvertes
  const batchResult = await mastra.callApi({
    integrationName: 'olostep',
    api: 'batchScrape',
    payload: {
      data: {
        apiKey: process.env.OLOSTEP_API_KEY!,
        batch_array: mapResult.urls.slice(0, 10).map(url => ({ url })),
        formats: ['markdown'],
      }
    }
  });

  // Étape 3 : Analyser avec l'agent
  const summary = await researchAgent.generate({
    messages: [{
      role: 'user',
      content: `Sur la base de ces données de recherche, fournissez un résumé complet de ${topic}`
    }]
  });

  return summary;
}

Dépannage

Erreur : “Clé API invalide”Solutions :
  • Vérifiez la clé API depuis le tableau de bord
  • Assurez-vous que la clé API est définie dans la variable d’environnement
  • Vérifiez que la clé API est active
  • Vérifiez qu’il n’y a pas d’espaces supplémentaires dans la clé API
Erreur : “API non trouvée” ou “Intégration non enregistrée”Solutions :
  • Assurez-vous que registerApis() est appelé après la création de l’intégration
  • Vérifiez que l’intégration est ajoutée à la configuration Mastra
  • Vérifiez que le nom de l’intégration est ‘olostep’
  • Redémarrez le serveur Mastra après les modifications
Erreur : Les champs de contenu sont videsSolutions :
  • Augmentez le temps wait_before_scraping
  • Vérifiez si le site web nécessite une connexion
  • Essayez un format différent (HTML vs Markdown)
  • Vérifiez que l’URL est accessible
  • Vérifiez si le site bloque l’accès automatisé
Erreur : “Limite de taux dépassée”Solutions :
  • Espacer les requêtes avec des délais
  • Utiliser le traitement en lot au lieu de scrapes individuels
  • Mettre à niveau votre plan Olostep
  • Vérifiez la limite de taux dans le tableau de bord
Erreur : Module non trouvé ou erreurs de typeSolutions :
  • Assurez-vous que @mastra/core est installé
  • Vérifiez la compatibilité de la version TypeScript
  • Vérifiez que toutes les dépendances sont installées
  • Rebuild : npm run build

Tarification

Olostep facture en fonction de l’utilisation de l’API, indépendamment de Mastra :
  • Scrapes : Paiement par scrape
  • Lots : Paiement par URL dans le lot
  • Crawls : Paiement par page crawlée
  • Cartes : Paiement par opération de carte
Consultez la tarification actuelle sur olostep.com/pricing.

Support

Besoin d’aide avec l’intégration Mastra ?

Documentation

Parcourir la documentation complète de l’API

Email de Support

Docs Mastra

En savoir plus sur le framework Mastra

Ressources Associées

API Scrapes

En savoir plus sur le point de terminaison Scrapes

API Batches

En savoir plus sur le point de terminaison Batches

API Crawls

En savoir plus sur le point de terminaison Crawls

API Maps

En savoir plus sur le point de terminaison Maps

Intégration Zapier

Automatiser avec les workflows Zapier

Intégration LangChain

Construire des agents IA avec LangChain

Site Web Mastra

Plateforme Mastra

Commencer

Prêt à construire des agents IA avec des capacités de scraping web ?

Installer le Package

Installer @olostep/mastra-tools depuis npm
Construisez des agents IA intelligents capables de rechercher, extraire et structurer des données web avec Olostep et Mastra !