CrawlForge MCP API Reference
Complete reference for all 30 CrawlForge MCP tools. Build powerful web scraping applications with our developer-first API.
API Overview
Base URL
https://crawlforge.dev/api/v1Authentication
All API requests require an API key passed in the X-API-Key header:
curl -H "X-API-Key: cf_test_YOUR_KEY" \
https://crawlforge.dev/api/v1/tools/fetch_urlGet your API key from the dashboard.
Request Format
All tool endpoints accept JSON in the request body:
{
"url": "https://example.com",
"timeout": 10000,
"follow_redirects": true
}Response Format
All responses follow a standard format:
{
"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
| Code | Description |
|---|---|
| 200 | OK - Request successful |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 402 | Payment Required - Insufficient credits |
| 403 | Forbidden - 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 |
| 429 | Too 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 |
| 500 | Internal Server Error |
Rate Limits
429 Too Many Requests response.All Tools
Basic Tools 1-2 credits
1 credit
1 credit
1 credit
1 credit
1 credit
1 credit
1 credit
1 credit
2 credits
2 credits
2 credits
2 credits
2 credits
2 credits
2 credits
Advanced Tools 3-5 credits
3 credits
3 credits
2 credits
3 credits
3 credits
4 credits
4 credits
5 credits
5 credits
5 credits
5 credits
5 credits
5 credits
Premium Tools 8-10 credits
8 credits
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.
// 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.
curl -s https://www.crawlforge.dev/openapi.json | jq '.paths | keys'Error Handling
error.code and error.message fields.{
"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.