One web scraping MCP server
for 165 live data APIs
https://api.reefapi.com/mcpReefAPI's MCP server is one connection that gives an AI agent structured, live web data from 165 web APIs — Amazon, Instagram, Zillow, Reddit, Google Maps and more — through five discovery and call tools. The agent uses search_engines and the schema tools to find an engine and its exact inputs, then call_engine runs the request and returns a clean { ok, data, meta, error } JSON envelope. There is no per-site scraper to build and no proxy pool to manage: rotation, residential IPs and anti-bot handling live inside each engine on the server side. You connect once with your ReefAPI key; the same key and the same credit pool cover every engine, and failed or blocked calls cost nothing.
Five tools: discover, then call
The server exposes exactly five tools. Four are keyless discovery tools an agent uses to find the right engine and build a correct request; the fifth runs it. This discovery-first flow is why an agent can work across 165 APIs without any of them hard-coded into its prompt.
search_engines(keywords)keylessFind the right engine from a plain-language need ("amazon reviews", "rental listings", "tweets about X"). Returns matching engines and what each can do. Keyless — the agent explores before it commits a call.
get_catalog()keylessList every engine and category available on the account. Lets an agent enumerate the full surface instead of guessing brand names.
get_engine_schema(engine)keylessFor one engine, list its actions with descriptions — e.g. amazon → offers, reviews, search, product. The agent picks the action that fits the task.
get_action_schema(engine, action)keylessThe exact input contract for one action: required and optional params, types, enums and what the response returns. The agent builds a correct call from this, not from a guess.
call_engine(engine, action, params)needs your keyRun the call. Returns the live result as a clean { ok, data, meta, error } envelope. This is the only tool that spends credits — it authenticates with the user's ReefAPI key. Failed or blocked calls cost 0.
Flow: search_engines → get_engine_schema → get_action_schema → call_engine. The agent never has to know the engine roster in advance — it discovers what it needs at call time.
Add the server to your client
The remote MCP endpoint is https://api.reefapi.com/mcp (streamable-HTTP). Point any MCP client at it and authorize with your ReefAPI key.
Drop the JSON below into claude_desktop_config.json (Claude) or ~/.cursor/mcp.json (Cursor), then restart the client.
Run the claude mcp add command below — one line registers the remote server for the CLI.
Settings → Connectors → add a connector by URL. Paste the endpoint and authorize with your ReefAPI key.
// claude_desktop_config.json (Claude Desktop)
// ~/.cursor/mcp.json (Cursor — same shape)
{
"mcpServers": {
"reefapi": {
"url": "https://api.reefapi.com/mcp",
"headers": { "Authorization": "Bearer ak_live_your_key" }
}
}
}# Claude Code (CLI) — add the remote server once claude mcp add --transport http reefapi https://api.reefapi.com/mcp \ --header "Authorization: Bearer ak_live_your_key"
Discovery tools work without a key; calls authenticate with your ReefAPI key. Get one free at reefapi.com/signup — 1,000 credits, no card.
What a prompt turns into
Each natural-language ask resolves to one call_engine tool call and comes back as a clean JSON envelope the agent can reason over directly.
“Get the current buy-box and offers for Amazon ASIN B0C1234567.”
call_engine("amazon", "offers", {
"asin": "B0C1234567", "domain": "com"
}){
"ok": true,
"data": {
"asin": "B0C1234567",
"buybox": { "price": 29.99, "currency": "USD", "seller": "Amazon.com" },
"offers": [
{ "price": 27.40, "condition": "new", "seller": "TechDeals", "prime": true }
]
},
"meta": { "engine": "amazon", "credits": 1 },
"error": null
}“Collect recent Reddit comments discussing the Anker 737 power bank.”
call_engine("reddit", "search_comments", {
"query": "Anker 737 power bank", "sort": "new", "limit": 25
}){
"ok": true,
"data": {
"query": "Anker 737 power bank",
"comments": [
{ "id": "kd9f2a1", "author": "gadget_nomad", "subreddit": "batteries",
"body": "The 737 holds a charge for weeks — worth it.",
"score": 42, "created_utc": 1752600000 }
]
},
"meta": { "engine": "reddit", "credits": 1 },
"error": null
}“Find Zillow listings in Austin, TX under $600k with 3+ beds.”
call_engine("zillow", "search", {
"location": "Austin, TX", "max_price": 600000, "beds_min": 3
}){
"ok": true,
"data": {
"location": "Austin, TX", "count": 128,
"listings": [
{ "zpid": "70982315", "address": "1204 Maple St, Austin, TX 78702",
"price": 549000, "beds": 3, "baths": 2, "sqft": 1680,
"status": "for_sale" }
]
},
"meta": { "engine": "zillow", "credits": 1 },
"error": null
}One key, one pool, no charge for misses
Discovery is free
search_engines, get_catalog and both schema tools are keyless and unmetered. The agent explores the whole surface at no cost before it spends a credit.
Failed calls cost 0
If a call errors, times out or is blocked upstream, it returns ok:false with credits:0 in meta. You only pay for calls that return usable data.
One key, one pool
Every engine draws from the same ReefAPI account and the same shared credit balance — over MCP or over REST, there is nothing extra to provision per site.
{
"ok": false,
"data": null,
"meta": { "engine": "amazon", "credits": 0 },
"error": { "code": "UPSTREAM_BLOCKED", "message": "Target returned a challenge; try again." }
}See the full credit table and free tier on pricing.
The same engines over plain HTTP
MCP is a convenience layer over the REST gateway, not a separate product. Every engine is reachable at POST https://api.reefapi.com/<engine>/v1/<action> with an x-api-key header — same params, same credit pool, same envelope.
# Same engines, same envelope — over plain HTTP (no MCP client)
curl -X POST https://api.reefapi.com/amazon/v1/offers \
-H "x-api-key: ak_live_your_key" \
-H "content-type: application/json" \
-d '{ "asin": "B0C1234567", "domain": "com" }'MCP server questions
What is an MCP server for web data?
MCP (Model Context Protocol) is the open standard AI clients use to reach outside tools. ReefAPI's MCP server exposes every one of its live web-data APIs as MCP tools, so an agent connected once can search, fetch and parse from real sites and get clean JSON back — without you writing per-site scrapers.
Which MCP clients can connect?
Any client that speaks remote streamable-HTTP MCP: Claude Desktop, Claude Code, ChatGPT (Connectors), Cursor, and other MCP-aware agents. Discovery tools are keyless; call_engine authenticates with your ReefAPI key.
Do I pay for discovery calls?
No. search_engines, get_catalog, get_engine_schema and get_action_schema are free — the agent can explore the whole surface at no cost. Only call_engine spends credits, and failed or blocked calls cost 0.
Do I still need proxies or a headless browser?
No. Proxy rotation, residential IPs, browser fingerprinting and anti-bot handling live inside each engine on the server side. The agent just calls a tool; the wall-clearing is done for you.
Can I use the same engines without MCP?
Yes. Every engine is also a REST endpoint: POST https://api.reefapi.com/<engine>/v1/<action> with your x-api-key. Same key, same credit pool, same { ok, data, meta, error } envelope.