Skip to content
API Reference

CrawlForge MCP API Reference

Complete reference for all 31 CrawlForge MCP tools. Build powerful web scraping applications with our developer-first API.

API Overview

Base URL

Bash
https://crawlforge.dev/api/v1

Authentication

All API requests require an API key passed in the X-API-Key header:

Bash
curl -H "X-API-Key: cf_test_YOUR_KEY" \
     https://crawlforge.dev/api/v1/tools/fetch_url

Get your API key from the dashboard.

Request Format

All tool endpoints accept JSON in the request body:

Json
{
  "url": "https://example.com",
  "timeout": 10000,
  "follow_redirects": true
}

Response Format

All responses follow a standard format:

Json
{
  "success": true,
  "data": {
    // Tool-specific response data
  },
  "credits_used": 1,
  "credits_remaining": 999,
  "processing_time": 245
}

A response can also carry an optional top-level warnings array of strings, sitting alongside data and credits_used rather than inside data. It is present only when a request produced a warning: you disabled the robots.txt check with respect_robots: false — which is also recorded against your API key — or a multi-URL tool skipped a URL or did not fetch a source. If you never override the check and every URL you request is allowed, no response carries the field at all; its absence is the normal case, not a missing value.

HTTP Status Codes

CodeDescription
200OK - Request successful
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
402Payment Required - Insufficient credits
403Forbidden - robots.txt disallows the URL for CrawlForge (override with respect_robots: false), the host is on CrawlForge's permanent opt-out list (not overridable), or the URL resolves to a private or internal address. Nothing is fetched and no credits are charged
429Too Many Requests - your plan's rate limit (slow down or upgrade), or the target site asked CrawlForge to wait via a Retry-After on its own 429 or 503, which no plan change affects and respect_robots does not override. Neither is charged
500Internal Server Error

Rate Limits

Free Plan
1 requests per second
Hobby Plan
2 requests per second
Professional Plan
4 requests per second
Business Plan
10 requests per second

All Tools

Basic Tools 1-2 credits

Advanced Tools 3-5 credits

Premium Tools 8-10 credits

Hosted monitors

Official SDKs

The official SDKs, crawlforge-sdk on npm and crawlforge on PyPI, expose one typed method per tool that takes the same parameters as the REST endpoint. The TypeScript and Python tabs on every tool page use them.

Typescript
// npm install crawlforge-sdk
import { CrawlForge } from 'crawlforge-sdk';

const client = new CrawlForge({ apiKey: process.env.CRAWLFORGE_API_KEY });

const result = await client.fetchUrl({ url: 'https://example.com' });
console.log('Credits remaining:', result.creditsRemaining);

OpenAPI specification

The whole REST API is described by an OpenAPI 3.1 document at https://www.crawlforge.dev/openapi.json, generated from the same schemas that validate every request, so a code generator or an API client can be pointed straight at it.

Bash
curl -s https://www.crawlforge.dev/openapi.json | jq '.paths | keys'

Error Handling

Json
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid input parameters",
    "details": [
      {
        "field": "url",
        "message": "Invalid URL format"
      }
    ]
  }
}

See the FAQ for a complete list of error codes and solutions.

Ready to start building?

Pick a tool and explore its documentation