CrawlAPI

by jdwolf96

Not rated
GitHub

About

Scrape any URL with JavaScript rendering and get back clean markdown — built for AI agents, LLM pipelines, and autonomous research workflows.

Details

Author
jdwolf96
Categories
Web Scraping, Automation, Other, AI

Setup

Install CrawlAPI in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/jdwolf96/crawlapi-js

Follow the installation instructions in the repository README, then restart your MCP client.

Official JavaScript/TypeScript SDK forCrawlAPI— web scraping API built for AI agents.

Pass a URL, get back clean markdown your LLM can actually read.

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 });

Available onRapidAPI. Free tier: 50 calls/day, no credit card.

Scrape a single URL with full JavaScript rendering.

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);

Scrape up to 10 URLs in parallel. Failed URLs return an error field rather than failing the whole request.

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); });

Search the web and automatically scrape the top N results.

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); });
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; } });
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; }

All endpoints accept standard JSON POST requests:

POST https://crawlapi.net/v1/scrape X-RapidAPI-Key: YOUR_KEY Content-Type: application/json { "url": "https://example.com", "formats": ["markdown"] }

Full OpenAPI spec:crawlapi.net/openapi.json

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

MCP Server (Claude Desktop, Cursor, Windsurf)

CrawlAPI ships with a built-inMCP server— plug it directly into any MCP-compatible AI client.

1. Clone or downloadmcp-server.jsfrom this repo.

2. Add to your Claude Desktop config(~/Library/Application Support/Claude/claude_desktop_config.jsonon Mac):

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

3. Restart Claude Desktop.You'll see three new tools:

- scrape_url— scrape any page to markdown
- batch_scrape— scrape up to 10 URLs in parallel
- search_and_scrape— search + scrape top results in one shot

Same config, different location. Check your editor's MCP docs. Themcp-server.jsfile works with any stdio-transport MCP client.

"Usescrape_urlto fetch web pages as clean markdown. Usesearch_and_scrapeto research topics from the live web. Both support JavaScript-rendered pages."

Get your API key atRapidAPI— free tier included.

CrawlAPI publishes all standard discovery files:

- 🌐crawlapi.net
- 📦
RapidAPI listing
- 📄
OpenAPI spec
- 🤖
llms.txt
- 🔌
MCP server

Ultra-fast web scraper and deep discussion crawler delivering clean Markdown for AI Agents

Web scraping, crawling, and change detection with AI

Hyperbrowser is the next-generation platform empowering AI agents and enabling effortless, scalable browser automation.

Leverage Notte Web AI agents & cloud browser sessions for scalable browser automation & scraping workflows

AI-powered browser automation MCP server — navigate sites, fill forms, extract data, and handle logins via Claude Code CLI

A server for web crawling and content extraction using the Crawl4AI library.

Fetch and extract web content using a Playwright headless browser, with support for intelligent extraction and flexible output.

An AI-powered web scraping system for high-volume automation and advanced data extraction strategies.

A web crawler and content extractor that supports multiple output formats like text, markdown, and JSON.

AI tools for web scraping, crawling, browser control, and web search via the Oxylabs AI Studio API.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.