loading…
Search for a command to run...
loading…
Enables AI agents to scrape any website by providing tools for JavaScript rendering, antibot bypass, and automatic captcha solving. It supports synchronous, asy
Enables AI agents to scrape any website by providing tools for JavaScript rendering, antibot bypass, and automatic captcha solving. It supports synchronous, asynchronous, and batch scraping operations with built-in proxy rotation.
MCP (Model Context Protocol) server for FineData web scraping API.
Enables AI agents like Claude, Cursor, and GPT to scrape any website with:
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Run directly with uvx
FINEDATA_API_KEY=fd_xxx uvx finedata-mcp
pip install finedata-mcp
# Run
FINEDATA_API_KEY=fd_xxx finedata-mcp
npx -y @finedata/mcp-server
Step 1: Open Cursor Settings → MCP
Or create/edit ~/.cursor/mcp.json:
macOS/Linux:
mkdir -p ~/.cursor && nano ~/.cursor/mcp.json
Windows:
%USERPROFILE%\.cursor\mcp.json
Step 2: Add FineData MCP server:
{
"mcpServers": {
"finedata": {
"command": "uvx",
"args": ["finedata-mcp"],
"env": {
"FINEDATA_API_KEY": "fd_your_api_key_here"
}
}
}
}
Step 3: Restart Cursor
Step 4: Test by asking the agent:
"Scrape https://example.com and show me the title"
{
"mcpServers": {
"finedata": {
"command": "npx",
"args": ["-y", "@finedata/mcp-server"],
"env": {
"FINEDATA_API_KEY": "fd_your_api_key_here"
}
}
}
}
Note: npx requires Python 3.10+ and uv/pipx installed. uvx is recommended.
Step 1: Open config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Step 2: Add MCP server:
{
"mcpServers": {
"finedata": {
"command": "uvx",
"args": ["finedata-mcp"],
"env": {
"FINEDATA_API_KEY": "fd_your_api_key_here"
}
}
}
}
Step 3: Restart Claude Desktop
| Variable | Required | Description |
|---|---|---|
FINEDATA_API_KEY |
Yes | Your FineData API key |
FINEDATA_API_URL |
No | API URL (default: https://api.finedata.ai) |
FINEDATA_TIMEOUT |
No | Default timeout in seconds (default: 60) |
Scrape content from any web page with antibot bypass.
scrape_url(
url: "https://example.com",
formats: ["markdown"], # Output: markdown, rawHtml, text, links (default: ["markdown"])
only_main_content: true, # Extract main content only (default: true)
extract_prompt: null, # AI extraction instruction (e.g. "Extract all product prices")
use_js_render: false, # Enable Playwright for SPAs
stealth_antibot: false, # Stealth mode for Cloudflare, DataDome (+7 tokens)
stealth_antibot_headful: false, # Maximum bypass with real browser (+25 tokens)
stealth_new: false, # Experimental engine (+15 tokens)
use_residential: false, # Use residential proxy
solve_captcha: false, # Auto-solve captchas
timeout: 60 # Timeout in seconds
)
Note: The MCP server returns Markdown by default (not raw HTML), which is optimized for AI agent consumption.
Token costs:
Submit an async scraping job for long-running requests.
scrape_async(
url: "https://heavy-site.com",
use_js_render: true,
timeout: 120,
callback_url: "https://your-webhook.com/callback"
)
Returns a job_id for status polling.
Get the status of an async scraping job.
get_job_status(job_id: "550e8400-e29b-41d4-a716-446655440000")
Statuses: pending, processing, completed, failed, cancelled
Scrape multiple URLs in a single batch (up to 100 URLs).
batch_scrape(
urls: ["https://example.com/1", "https://example.com/2"],
use_js_render: false,
callback_url: "https://your-webhook.com/batch-done"
)
Get current API token usage.
get_usage()
Ask Claude or your AI agent:
"Scrape https://example.com and show me the content"
"Scrape https://spa-website.com with JavaScript rendering enabled"
"Scrape https://protected-site.com using residential proxy and captcha solving"
"Scrape https://shop.com/products and extract all product names and prices"
"Scrape these URLs: https://example.com/1, https://example.com/2, https://example.com/3"
FineData uses token-based pricing. Each feature adds tokens:
| Feature | Tokens |
|---|---|
| Base request | 1 |
| Antibot (TLS fingerprinting) | +2 |
| JS Rendering (Playwright) | +5 |
| Stealth Antibot | +7 |
| Stealth Headful | +25 |
| Stealth New | +15 |
| Residential Proxy | +3 |
| Mobile Proxy | +4 |
| reCAPTCHA / hCaptcha | +10 |
| Cloudflare Turnstile | +12 |
| Yandex SmartCaptcha | +15 |
| AI Extraction (Qwen3-32B) | +5 |
Get your API key and free trial tokens at finedata.ai.
Install uv and use uvx:
curl -LsSf https://astral.sh/uv/install.sh | sh
This happens with Homebrew Python. Use uvx instead of pip:
{
"command": "uvx",
"args": ["finedata-mcp"]
}
~/.cursor/mcp.json syntax (valid JSON)FINEDATA_API_KEY is setMIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"finedata-mcp-server": {
"command": "npx",
"args": []
}
}
}