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_1234567890abcdef1234567890abcdef
  • X-API-Key: mc_1234567890abcdef1234567890abcdef
POST

/extract

Extracts article, discussion, or web content into standardized Markdown and structured metadata.

Request Parameters

FieldTypeRequiredDescription
urlstringYesThe absolute target webpage URL (http/https)
requiresBrowserbooleanNo (default: false)Force rendering through stealth browser on VPS tier
maxPagesnumberNoMax 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: