Saltar al contenido principal
La integración de Olostep Mastra aporta potentes capacidades de extracción de datos web a los agentes de Mastra.ai. Olostep es una API de búsqueda, scraping y crawling web — una API para buscar, extraer y estructurar datos web. Construye agentes de IA inteligentes que puedan buscar, extraer, analizar y estructurar datos de cualquier sitio web de manera autónoma. Instalar desde npm →

Características

La integración proporciona 4 potentes APIs para la extracción automatizada de datos web:

Extraer Sitio Web

Extrae contenido de cualquier URL en múltiples formatos (Markdown, HTML, JSON, texto)

Extraer URLs en Lote

Procesa hasta 100,000 URLs en paralelo. Perfecto para la extracción de datos a gran escala

Crear Crawl

Descubre y extrae automáticamente sitios web completos siguiendo enlaces

Crear Mapa

Extrae todas las URLs de un sitio web para el análisis de la estructura del sitio y descubrimiento de contenido

Instalación

npm install @olostep/mastra-tools

Configuración

1. Instalar el Paquete

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

2. Importar y Registrar la Integración

En tu archivo de configuración de Mastra:
import { Mastra } from '@mastra/core';
import { createOlostepIntegration } from '@olostep/mastra-tools';

// Crear la integración de Olostep
const olostep = createOlostepIntegration();

// Registrar APIs (esto las hace disponibles para los agentes)
olostep.registerApis();

// Añadir a tu configuración de Mastra
export const mastra = new Mastra({
  config: {
    integrations: [olostep],
    // ... otra configuración
  },
});

3. Configurar la Clave de API

Establece tu clave de API de Olostep como una variable de entorno:
export OLOSTEP_API_KEY=tu-clave-de-api-aquí
O en tu archivo .env:
OLOSTEP_API_KEY=tu-clave-de-api-aquí
Obtén tu clave de API desde el Tablero de Olostep.

APIs Disponibles

La integración expone 4 APIs que tus agentes de Mastra pueden usar:

scrapeWebsite

Extrae contenido de una sola URL. Soporta múltiples formatos y renderizado de JavaScript. Casos de Uso:
  • Monitorear cambios en páginas específicas
  • Extraer información de productos de sitios de comercio electrónico
  • Recopilar datos de artículos de noticias o publicaciones de blogs
  • Obtener contenido para agregación de contenido
Parámetros del Esquema:
apiKey
string
requerido
Tu clave de API de Olostep
url_to_scrape
string
requerido
URL del sitio web a extraer (debe incluir http:// o https://)
formats
array
predeterminado:"['markdown']"
Formatos de salida: [‘html’, ‘markdown’, ‘json’, ‘text’]
country
string
Código de país para contenido específico de ubicación (e.g., “US”, “GB”, “CA”)
wait_before_scraping
number
Tiempo de espera en milisegundos para el renderizado de JavaScript (0-10000)
parser
string
ID de parser opcional para extracción especializada (e.g., “@olostep/amazon-product”)
Respuesta:
  • id - ID de extracción
  • url_to_scrape - URL extraída
  • result.markdown_content - Contenido en Markdown
  • result.html_content - Contenido en HTML
  • result.json_content - Contenido en JSON
  • result.text_content - Contenido en texto
  • result.screenshot_hosted_url - URL de captura de pantalla (si está disponible)
  • result.markdown_hosted_url - URL de Markdown alojado
  • object - Tipo de objeto (“scrape”)
  • created - Marca de tiempo Unix
Ejemplo de Uso:
// En tu agente o flujo de trabajo
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

Procesa múltiples URLs en paralelo (hasta 100,000 a la vez). Perfecto para la extracción de datos a gran escala. Casos de Uso:
  • Extraer catálogos de productos completos
  • Extraer datos de múltiples resultados de búsqueda
  • Procesar listas de URLs desde hojas de cálculo
  • Extracción masiva de contenido
Parámetros del Esquema:
apiKey
string
requerido
Tu clave de API de Olostep
batch_array
array
requerido
Array de objetos con campos url y custom_id opcionalEjemplo: [{"url":"https://example.com","custom_id":"site1"}]
formats
array
predeterminado:"['markdown']"
Formatos de salida para todas las URLs
country
string
Código de país para scraping específico de ubicación
wait_before_scraping
number
Tiempo de espera en milisegundos para el renderizado de JavaScript
parser
string
ID de parser opcional para extracción especializada
Respuesta:
  • batch_id - ID de lote (usa esto para recuperar resultados más tarde)
  • status - Estado del procesamiento
  • object - Tipo de objeto (“batch”)
Ejemplo de Uso:
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

Descubre y extrae automáticamente sitios web completos siguiendo enlaces. Perfecto para sitios de documentación, blogs y repositorios de contenido. Casos de Uso:
  • Rastrear y archivar sitios de documentación completos
  • Extraer todas las publicaciones de un blog
  • Construir bases de conocimiento a partir de contenido web
  • Monitorear cambios en la estructura del sitio web
Parámetros del Esquema:
apiKey
string
requerido
Tu clave de API de Olostep
start_url
string
requerido
URL de inicio para el rastreo (debe incluir http:// o https://)
max_pages
number
predeterminado:"10"
Número máximo de páginas a rastrear
Si se deben seguir los enlaces encontrados en las páginas
formats
array
predeterminado:"['markdown']"
Formato para el contenido extraído
country
string
Código de país opcional para rastreo específico de ubicación
parser
string
ID de parser opcional para extracción de contenido especializada
Respuesta:
  • id - ID de rastreo (usa esto para recuperar resultados más tarde)
  • object - Tipo de objeto (“crawl”)
  • status - Estado del rastreo
  • created - Marca de tiempo Unix
Ejemplo de Uso:
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

Extrae todas las URLs de un sitio web para el descubrimiento de contenido y análisis de la estructura del sitio. Casos de Uso:
  • Construir mapas del sitio y diagramas de estructura del sitio
  • Descubrir todas las páginas antes de la extracción en lote
  • Encontrar páginas rotas o faltantes
  • Auditorías y análisis de SEO
Parámetros del Esquema:
apiKey
string
requerido
Tu clave de API de Olostep
url
string
requerido
URL del sitio web para extraer enlaces (debe incluir http:// o https://)
search_query
string
Consulta de búsqueda opcional para filtrar URLs (e.g., “blog”)
top_n
number
Limitar el número de URLs devueltas
include_urls
array
Patrones glob para incluir rutas específicas (e.g., [“/blog/**”])
exclude_urls
array
Patrones glob para excluir rutas específicas (e.g., [“/admin/**”])
Respuesta:
  • id - ID de mapa
  • object - Tipo de objeto (“map”)
  • url - URL del sitio web
  • total_urls - Total de URLs encontradas
  • urls - Array de URLs descubiertas
Ejemplo de Uso:
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/**'],
    }
  }
});

Uso con Agentes

Ejemplo Básico de Agente

Crea un agente que pueda extraer sitios web:
import { Agent } from '@mastra/core';
import { createOlostepIntegration } from '@olostep/mastra-tools';

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

const agent = new Agent({
  name: 'investigador-web',
  instructions: `
    Eres un asistente de investigación web. Cuando los usuarios te pidan obtener información de un sitio web,
    utiliza la API scrapeWebsite de Olostep para extraer el contenido, luego resúmelo para ellos.
  `,
  model: 'openai/gpt-4',
});

// El agente ahora puede usar las APIs de Olostep a través del sistema de API de Mastra

Ejemplo de Flujo de Trabajo de Agente

Construye un flujo de trabajo de investigación que descubra y extraiga contenido:
// 1. Mapear un sitio web para descubrir 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. Extraer en lote las URLs descubiertas
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. Procesar resultados con tu agente
const summary = await agent.generate({
  messages: [{
    role: 'user',
    content: `Resume este contenido: ${batchResult.result.markdown_content}`
  }]
});

Casos de Uso Populares

Agente de Investigación

Construye un agente que investigue temas de manera autónoma:
Flujo de Trabajo:
  1. Usuario pregunta: “Investiga tendencias de IA”
  2. Agente usa createMap para descubrir páginas relevantes
  3. Agente usa batchScrape para extraer contenido
  4. Agente analiza y resume los hallazgos
  5. Devuelve informe de investigación estructurado
Flujo de Trabajo:
  1. Programa monitoreo diario
  2. Usa scrapeWebsite para verificar páginas de competidores
  3. Compara con datos previos
  4. Alerta sobre cambios significativos
  5. Genera informes semanales
Flujo de Trabajo:
  1. Usa createCrawl para descubrir todas las publicaciones de blog
  2. Usa batchScrape para extraer contenido
  3. Procesa con IA para extraer temas clave
  4. Almacena en base de conocimiento
  5. Genera calendario de contenido

Inteligencia de Comercio Electrónico

Monitorea productos y precios:
Flujo de Trabajo del Agente:
1. Extraer páginas de productos (scrapeWebsite)
2. Extraer datos estructurados (con parser)
3. Rastrear cambios de precios
4. Generar alertas
5. Actualizar base de datos

Análisis SEO

Analiza la estructura y contenido del sitio web:
Flujo de Trabajo del Agente:
1. Mapear estructura del sitio web (createMap)
2. Rastrear secciones importantes (createCrawl)
3. Analizar calidad del contenido
4. Identificar oportunidades de SEO
5. Generar recomendaciones

Parsers Especializados

Olostep proporciona parsers preconstruidos para sitios web populares. Úsalos con el parámetro parser:

Búsqueda de Google

@olostep/google-searchExtrae: resultados de búsqueda, títulos, fragmentos, URLs

Google Maps

@olostep/google-mapsExtrae: información de negocios, reseñas, calificaciones, ubicación

Uso de Parsers

Añade el ID del parser al parámetro 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',
    }
  }
});
El parser extrae automáticamente datos estructurados específicos para ese tipo de sitio web.

Mejores Prácticas

Al extraer más de 3-5 URLs, usa batchScrape en lugar de múltiples llamadas a scrapeWebsite. El procesamiento en lote es:
  • Mucho más rápido (procesamiento en paralelo)
  • Más rentable
  • Más fácil de gestionar
  • Mejor para límites de tasa
Para sitios con mucho JavaScript, usa el parámetro wait_before_scraping:
  • Sitios simples: 0-1000ms
  • Sitios dinámicos: 2000-3000ms
  • JavaScript pesado: 5000-8000ms
Prueba con diferentes valores para encontrar el tiempo de espera óptimo.
Para sitios web populares (Amazon, LinkedIn, Google), usa parsers preconstruidos:
  • Obtén datos estructurados automáticamente
  • Extracción más confiable
  • No necesitas parsing personalizado
  • Mantenidos por Olostep
Las operaciones Batch, Crawl y Map son asíncronas:
  • Almacena el ID devuelto (batch_id, crawl_id, map_id)
  • Realiza sondeos para la finalización o usa webhooks
  • Configura flujos de trabajo separados para la recuperación
Siempre envuelve las llamadas a la API en bloques try-catch:
try {
  const result = await mastra.callApi({
    integrationName: 'olostep',
    api: 'scrapeWebsite',
    payload: { data: {...} }
  });
} catch (error) {
  // Maneja errores de autenticación, límite de tasa o red
  console.error('La extracción falló:', error.message);
}
Ten en cuenta los límites de tasa:
  • Espacia las solicitudes con demoras
  • Usa procesamiento en lote cuando sea posible
  • Monitorea el uso en el tablero de Olostep
  • Mejora el plan si es necesario

Ejemplo Completo

Aquí tienes un ejemplo completo de cómo construir un agente de investigación:
import { Mastra } from '@mastra/core';
import { Agent } from '@mastra/core';
import { createOlostepIntegration } from '@olostep/mastra-tools';

// Crear y registrar la integración de Olostep
const olostep = createOlostepIntegration();
olostep.registerApis();

// Inicializar Mastra
export const mastra = new Mastra({
  config: {
    integrations: [olostep],
    // ... otra configuración
  },
});

// Crear agente de investigación
const researchAgent = new Agent({
  name: 'asistente-de-investigación',
  instructions: `
    Eres un asistente de investigación que puede buscar, extraer y estructurar datos web.
    Cuando los usuarios te pidan investigar un tema:
    1. Usa createMap de Olostep para descubrir páginas relevantes
    2. Usa batchScrape para extraer contenido de múltiples fuentes
    3. Analiza y resume los hallazgos
    4. Presenta informes de investigación estructurados
  `,
  model: 'openai/gpt-4',
});

// Usa el agente
async function researchTopic(topic: string) {
  // Paso 1: Descubrir páginas relevantes
  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,
      }
    }
  });

  // Paso 2: Extraer páginas descubiertas
  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'],
      }
    }
  });

  // Paso 3: Analizar con el agente
  const summary = await researchAgent.generate({
    messages: [{
      role: 'user',
      content: `Basado en estos datos de investigación, proporciona un resumen completo de ${topic}`
    }]
  });

  return summary;
}

Solución de Problemas

Error: “Clave de API inválida”Soluciones:
  • Verifica la clave de API desde el tablero
  • Asegúrate de que la clave de API esté establecida en la variable de entorno
  • Verifica que la clave de API esté activa
  • Revisa si hay espacios extra en la clave de API
Error: “API no encontrada” o “Integración no registrada”Soluciones:
  • Asegúrate de que registerApis() se llame después de crear la integración
  • Verifica que la integración esté añadida a la configuración de Mastra
  • Comprueba que el nombre de la integración sea ‘olostep’
  • Reinicia el servidor de Mastra después de los cambios
Error: Los campos de contenido están vacíosSoluciones:
  • Aumenta el tiempo de wait_before_scraping
  • Verifica si el sitio web requiere inicio de sesión
  • Prueba con un formato diferente (HTML vs Markdown)
  • Verifica que la URL sea accesible
  • Comprueba si el sitio bloquea el acceso automatizado
Error: “Límite de tasa excedido”Soluciones:
  • Espacia las solicitudes con demoras
  • Usa procesamiento en lote en lugar de extracciones individuales
  • Mejora tu plan de Olostep
  • Verifica el límite de tasa en el tablero
Error: Módulo no encontrado o errores de tipoSoluciones:
  • Asegúrate de que @mastra/core esté instalado
  • Verifica la compatibilidad de la versión de TypeScript
  • Comprueba que todas las dependencias estén instaladas
  • Reconstruir: npm run build

Precios

Olostep cobra en función del uso de la API, independiente de Mastra:
  • Extracciones: Pago por extracción
  • Lotes: Pago por URL en lote
  • Rastreos: Pago por página rastreada
  • Mapas: Pago por operación de mapa
Consulta los precios actuales en olostep.com/pricing.

Soporte

¿Necesitas ayuda con la integración de Mastra?

Documentación

Explora la documentación completa de la API

Correo de Soporte

Documentación de Mastra

Aprende sobre el marco de Mastra

Recursos Relacionados

API de Extracciones

Aprende sobre el endpoint de Extracciones

API de Lotes

Aprende sobre el endpoint de Lotes

API de Rastreos

Aprende sobre el endpoint de Rastreos

API de Mapas

Aprende sobre el endpoint de Mapas

Integración con Zapier

Automatiza con flujos de trabajo de Zapier

Integración con LangChain

Construye agentes de IA con LangChain

Sitio Web de Mastra

Plataforma Mastra

Comienza Ahora

¿Listo para construir agentes de IA con capacidades de scraping web?

Instalar Paquete

Instala @olostep/mastra-tools desde npm
¡Construye agentes de IA inteligentes que puedan buscar, extraer y estructurar datos web con Olostep y Mastra!