MaxCrawl API Documentation
The 3-tier, zero-latency web extraction engine for AI agents, research bots, and high-throughput crawlers.
⚡ Quick Start
Call the extraction endpoint with your API key (`mc_...`) in the `Authorization` header:
curl -X POST https://api.maxcrawl.com/extract \
-H "Authorization: Bearer mc_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"url": "https://news.ycombinator.com",
"requiresBrowser": false
}'🔑 Authentication
All API requests must pass an API Key starting with the mc_ prefix followed by 32 hex characters. You can provide it via either header:
Authorization: Bearer mc_1234567890abcdef1234567890abcdefX-API-Key: mc_1234567890abcdef1234567890abcdef
POST
/extract
Extracts article, discussion, or web content into standardized Markdown and structured metadata.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | The absolute target webpage URL (http/https) |
| requiresBrowser | boolean | No (default: false) | Force rendering through stealth browser on VPS tier |
| maxPages | number | No | Max discussion depth (Demo: 1, Free: 3, Paid: up to 100) |
📄 ExtractResult Schema
Every successful extraction returns a standardized JSON object:
{
"url": "https://example.com/post",
"title": "Clean Page Title",
"author": "Author Name",
"published": "2026-08-17T12:00:00Z",
"wordCount": 850,
"content": "# Clean Markdown Body\n\nAll scripts, ads, and cookies stripped.",
"metadata": {
"statusCode": 200,
"tier": "paid"
},
"trace": {
"engine": "defuddle",
"fetcher": "impit-tls",
"durationMs": 14.8
}
}⚡ Shared Rate Limit Pool
Rate limits are enforced at the Account level. All API keys under the same account share the total throughput:
- Paid Tier: 20 req/s aggregate throughput across all keys.
- Free Tier: 3 req/s aggregate throughput (1,000 requests/month allowance).
- Demo (No Key): 1 req/s per IP (20 requests/day).
⚠️ Error Envelope
All error responses return structured JSON instead of raw HTML error pages:
{
"error": "Rate limit exceeded (20 req/s). Please slow down.",
"code": "RATE_LIMIT_EXCEEDED",
"status": 429
}🧪 Interactive Test Playground
Test your extraction parameters directly in the browser: