CrawlAPI

Extrae cualquier URL con renderizado de JavaScript y obtén markdown limpio, diseñado para agentes de IA, pipelines de LLM y flujos de trabajo de investigación autónomos.

Documentación

crawlapi-js

SDK oficial de JavaScript/TypeScript para CrawlAPI — API de scraping web construida para agentes de IA.

Pasa una URL y obtén markdown limpio que tu LLM realmente pueda leer.

Instalación

npm install crawlapi-js

Inicio rápido

const CrawlAPI = require('crawlapi-js');

const client = new CrawlAPI({ apiKey: 'YOUR_RAPIDAPI_KEY' });

// Scrape a URL → clean markdown
const result = await client.scrape('https://example.com');
console.log(result.data.markdown);

// Scrape multiple URLs in parallel
const batch = await client.batch([
  'https://example.com',
  'https://example.org'
]);

// Search + scrape top results in one call
const search = await client.search('LangChain web scraping 2025', { num: 5 });

Obtén una clave de API

Disponible en RapidAPI. Plan gratuito: 50 llamadas/día, sin tarjeta de crédito.

API

client.scrape(url, options?)

Extrae una sola URL con renderizado completo de JavaScript.

const result = await client.scrape('https://example.com', {
  formats: ['markdown'],   // 'markdown' | 'html' | 'text' | 'structured'
  waitFor: 1000,           // ms to wait after page load (JS-heavy pages)
  timeout: 30000           // max ms (default 30s, max 60s)
});

console.log(result.data.markdown);
console.log(result.data.metadata.title);

client.batch(urls, options?)

Extrae hasta 10 URLs en paralelo. Las URLs que fallen devuelven un campo de error en lugar de fallar toda la solicitud.

const result = await client.batch([
  'https://example.com',
  'https://example.org',
  'https://example.net'
]);

result.data.forEach(item => {
  if (item.success) console.log(item.data.markdown);
  else console.error(item.url, item.error);
});

client.search(query, options?)

Busca en la web y extrae automáticamente los N mejores resultados.

const result = await client.search('best pizza in New York', {
  num: 5,                  // 1-10 results (default 5)
  formats: ['markdown']
});

result.data.forEach(item => {
  console.log(item.title, item.url);
  if (item.success) console.log(item.data.markdown);
});

Ejemplos de frameworks para agentes

LangChain

const { Tool } = require('langchain/tools');
const CrawlAPI = require('crawlapi-js');

const client = new CrawlAPI({ apiKey: process.env.RAPIDAPI_KEY });

const webTool = new Tool({
  name: 'WebScraper',
  description: 'Scrape any URL and return clean markdown content. Input should be a URL.',
  func: async (url) => {
    const result = await client.scrape(url);
    return result.data.markdown;
  }
});

Llamada de funciones de OpenAI

const CrawlAPI = require('crawlapi-js');
const client = new CrawlAPI({ apiKey: process.env.RAPIDAPI_KEY });

// Tool definition
const tools = [{
  type: 'function',
  function: {
    name: 'scrape_url',
    description: 'Scrape a webpage and return its content as clean markdown',
    parameters: {
      type: 'object',
      properties: {
        url: { type: 'string', description: 'The URL to scrape' }
      },
      required: ['url']
    }
  }
}];

// Handle tool call
async function handleToolCall(url) {
  const result = await client.scrape(url);
  return result.data.markdown;
}

n8n / Flowise / HTTP personalizado

Todos los endpoints aceptan solicitudes POST JSON estándar:

POST https://crawlapi.net/v1/scrape
X-RapidAPI-Key: YOUR_KEY
Content-Type: application/json

{ "url": "https://example.com", "formats": ["markdown"] }

Especificación OpenAPI completa: crawlapi.net/openapi.json

TypeScript

Tipos completos de TypeScript incluidos:

import { CrawlAPI, ScrapeResponse } from 'crawlapi-js';

const client = new CrawlAPI({ apiKey: process.env.RAPIDAPI_KEY! });
const result: ScrapeResponse = await client.scrape('https://example.com');

Servidor MCP (Claude Desktop, Cursor, Windsurf)

CrawlAPI incluye un servidor MCP integrado — conéctalo directamente a cualquier cliente de IA compatible con MCP.

Configuración

1. Clona o descarga mcp-server.js de este repositorio.

2. Añádelo a tu configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json en Mac):

{
  "mcpServers": {
    "crawlapi": {
      "command": "node",
      "args": ["/path/to/crawlapi-js/mcp-server.js"],
      "env": {
        "CRAWLAPI_KEY": "your_rapidapi_key"
      }
    }
  }
}

3. Reinicia Claude Desktop. Verás tres nuevas herramientas:

  • scrape_url — extrae cualquier página a markdown
  • batch_scrape — extrae hasta 10 URLs en paralelo
  • search_and_scrape — busca + extrae los mejores resultados de una sola vez

Cursor / Windsurf / Continue

Misma configuración, diferente ubicación. Consulta la documentación de MCP de tu editor. El archivo mcp-server.js funciona con cualquier cliente MCP de transporte stdio.

Lo que ve el agente

"Usa scrape_url para obtener páginas web como markdown limpio. Usa search_and_scrape para investigar temas desde la web en vivo. Ambos admiten páginas renderizadas con JavaScript."

Obtén tu clave de API en RapidAPI — plan gratuito incluido.

Descubrimiento de agentes de IA

CrawlAPI publica todos los archivos de descubrimiento estándar:

ArchivoURL
llms.txtcrawlapi.net/llms.txt
Especificación OpenAPIcrawlapi.net/openapi.json
Manifiesto de plugin de IAcrawlapi.net/.well-known/ai-plugin.json
Manifiesto MCPcrawlapi.net/.well-known/mcp.json
APIs.jsoncrawlapi.net/apis.json

Enlaces