Scrape any website, extract structured data, and collect web content at scale with AI agents
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y scrapfly-mcp
MCP client config
{
"mcpServers": {
"scrapfly-mcp": {
"command": "npx",
"args": [
"-y",
"scrapfly-mcp"
]
}
}
}Give your AI real-time access to any website
🌐 Landing Page • 📖 Documentation • 🎮 Live Demo • 🔑 Get API Key
The Scrapfly MCP Server connects your AI assistants to live web data through the Model Context Protocol. Transform your AI from being limited by training data to having real-time access to any website.
| Capability | Description |
|---|---|
| 🌐 Scrape Live Data | Pull current prices, listings, news, or any webpage content in real-time |
| 🛡️ Bypass Anti-Bot Systems | Automatically handle CAPTCHAs, proxies, JavaScript rendering, and rate limits |
| ⚡ Extract Structured Data | Parse complex websites into clean JSON using AI-powered extraction |
| 📸 Capture Screenshots | Take visual snapshots of pages or specific elements for analysis |
Built on battle-tested infrastructure used by thousands of developers:
📖 Learn more: Why Scrapfly MCP?
Click one of the buttons below to install the MCP server in your preferred IDE:
Works with most MCP-compatible tools:
{
"servers": {
"scrapfly-cloud-mcp": {
"type": "http",
"url": "https://mcp.scrapfly.io/mcp"
}
}
}
For tools that require a local process:
{
"mcpServers": {
"scrapfly": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.scrapfly.io/mcp"
]
}
}
}
Follow the VS Code MCP guide or use the CLI:
code --add-mcp '{"name":"scrapfly-cloud-mcp","type":"http","url":"https://mcp.scrapfly.io/mcp"}'
After installation, Scrapfly tools will be available in GitHub Copilot Chat.
📖 Full guide: VS Code Integration
code-insiders --add-mcp '{"name":"scrapfly-cloud-mcp","type":"http","url":"https://mcp.scrapfly.io/mcp"}'
📖 Full guide: VS Code Integration
scrapfly-cloud-mcphttp/ssehttps://mcp.scrapfly.io/mcp📖 Full guide: Visual Studio MCP documentation
Cursor Settings → MCP → Add new MCP Server📖 Full guide: Cursor Integration
Use the Claude Code CLI:
claude mcp add scrapfly-cloud-mcp --url https://mcp.scrapfly.io/mcp
📖 Full guide: Claude Code Integration
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"scrapfly": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.scrapfly.io/mcp"]
}
}
}
📖 Full guide: Claude Desktop Integration
Add to your Cline MCP settings:
{
"scrapfly-cloud-mcp": {
"type": "http",
"url": "https://mcp.scrapfly.io/mcp"
}
}
📖 Full guide: Cline Integration
Follow the Windsurf MCP documentation using the standard configuration.
📖 Full guide: Windsurf Integration
Add to your Zed settings:
{
"context_servers": {
"scrapfly-cloud-mcp": {
"type": "http",
"url": "https://mcp.scrapfly.io/mcp"
}
}
}
📖 Full guide: Zed Integration
Create or edit ~/.codex/config.toml:
[mcp_servers.scrapfly-cloud-mcp]
url = "https://mcp.scrapfly.io/mcp"
📖 More info: Codex MCP documentation
Follow the Gemini CLI MCP guide using the standard configuration.
Add to ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"scrapfly-cloud-mcp": {
"type": "http",
"url": "https://mcp.scrapfly.io/mcp",
"enabled": true
}
}
}
📖 More info: OpenCode MCP documentation
The Scrapfly MCP Server provides 5 powerful tools covering 99% of web scraping use cases:
| Tool | Description | Use Case |
|---|---|---|
scraping_instruction_enhanced | Cheat-sheet of the scraping options | Optional — when the right options are unclear |
web_get_page | Quick page fetch with smart defaults | Simple scraping tasks |
web_scrape | Full control with browser automation | Complex scraping, login flows |
screenshot | Capture page screenshots | Visual analysis, monitoring |
info_account | Check usage & quota | Account management |
📖 Full reference: Tools & API Specification
User: "What are the top posts on Hacker News right now?"
AI: Uses web_get_page to fetch https://news.ycombinator.com and returns current top stories
User: "Get all product prices from this Amazon page"
AI: Uses web_scrape with extraction_model="product_listing" to return structured JSON
📖 More examples: Real-World Examples
Scrapfly MCP supports multiple authentication methods:
| Method | Best For | Documentation |
|---|---|---|
| OAuth2 | Production, multi-user apps | OAuth2 Setup |
| API Key | Personal use, development | API Key Setup |
| Header Auth | Custom integrations | Header Auth |
🔑 Get your API key: Scrapfly Dashboard
| Setting | Value |
|---|---|
| Server Name | scrapfly-cloud-mcp |
| Type | Remote HTTP Server |
| URL | https://mcp.scrapfly.io/mcp |
| Protocol | MCP over HTTP/SSE |
You can run the Scrapfly MCP server locally or self-host it.
| Flag | Description |
|---|---|
-http <address> | Start HTTP server at the specified address (e.g., :8080). Takes precedence over PORT env var. In server-key mode this binds loopback (127.0.0.1) unless you also pass -allow-remote. |
-apikey <key> | Use this API key instead of the SCRAPFLY_API_KEY environment variable. |
-allow-remote | Server-key HTTP mode only: permit binding a non-loopback interface. That mode performs no per-caller authentication — every request uses the baked-in key — so only enable this behind your own auth proxy. |
-verify-ssl | Verify TLS certificates on outbound calls (default true). Set false only when targeting a host that serves a self-signed certificate. |
| Variable | Description |
|---|---|
PORT | HTTP port to listen on. Used if -http flag is not set. |
SCRAPFLY_API_KEY | Scrapfly API key baked into the server. When set, the server uses it for every request (server-key mode) and does not read a per-request key. |
SCRAPFLY_ALLOW_REMOTE | 1/true is the env equivalent of -allow-remote. |
SCRAPFLY_VERIFY_SSL | 0/false is the env equivalent of -verify-ssl=false. |
Per-request key: start the server without a baked-in key (-http only) and
each caller supplies their own key per request — as Authorization: Bearer <key>,
or ?key=<key> / ?apiKey=<key>. This path is authenticated; the server-key
path above is not, which is why it stays on loopback by default.
# Start HTTP server on port 8080
./scrapfly-mcp -http :8080
# Start HTTP server using PORT env var
PORT=8080 ./scrapfly-mcp
# Start with an API key. Prefer the environment variable: a key passed as a
# flag lands in your shell history and in the process list.
# Server-key mode has no per-caller auth, so it binds 127.0.0.1 here.
SCRAPFLY_API_KEY=... ./scrapfly-mcp -http :8080
# Same, but expose it on all interfaces — only behind your own auth proxy.
SCRAPFLY_API_KEY=... ./scrapfly-mcp -http 0.0.0.0:8080 -allow-remote
# Start in stdio mode (for local MCP clients)
./scrapfly-mcp
# Build
docker build -t scrapfly-mcp .
# Run (Smithery compatible - uses PORT env var)
docker run -p 8080:8080 scrapfly-mcp
# Run with custom port
docker run -e PORT=9000 -p 9000:9000 scrapfly-mcp
Scrapfly MCP also works with AI frameworks and automation tools:
| Framework | Documentation |
|---|---|
| LangChain | LangChain Integration |
| LlamaIndex | LlamaIndex Integration |
| CrewAI | CrewAI Integration |
| OpenAI | OpenAI Integration |
| n8n | n8n Integration |
| Make | Make Integration |
| Zapier | Zapier Integration |
📖 All integrations: Integration Index
Made with ❤️ by Scrapfly
The Web Scraping API for Developers