Guide
MCP server
Use ScrapingBot from AI agents. ScrapingBot runs a Model Context Protocol server, so Claude, Cursor and other MCP clients can scrape pages, search Google and pull TikTok, Instagram and Amazon data as tools.
- Transport: Streamable HTTP. The server is stateless and answers each request with JSON; there is no SSE stream, so
GETreturns405. - Auth: your API key in an
x-api-keyheader or asAuthorization: Bearer. - Billing: each tool call is a normal API request, with the same credits, concurrency slots and usage log.
- Safety: scraping tools refuse localhost, private and internal network addresses.
- Results: pages come back as markdown (or HTML with
format: "html") and screenshots as an image. Every result stays under about 60,000 characters; long lists are trimmed with a note saying what was left out.
When calling the endpoint yourself, send Accept: application/json, text/event-stream; requests that don't accept both are rejected with 406.
Connect a client
Pick your client in the setup example and use a key from your dashboard in place of YOUR_API_KEY. New here? Create a free account for 100 credits. Setup for the Claude app, VS Code and more is on the MCP server page.
Connect a client
claude mcp add --transport http scrapingbot \ https://scrapingbot.io/api/mcp \ --header "x-api-key: YOUR_API_KEY"
The JSON form goes in .cursor/mcp.json, or the equivalent settings file of any client that supports remote HTTP servers. Setup for the Claude app, VS Code and more is on the MCP server page.
Tools
Each tool maps to an API described in these docs and accepts the same parameters. Start with listCapabilities if your agent needs to discover what's available.
| Tool | What it does | Main inputs |
|---|---|---|
| listCapabilities | Lists the tools, endpoints and guardrails. | none |
| scrapeWebsite | Scrapes a page through the Website API and returns it as markdown, or HTML with format: "html". A screenshot comes back as an image. | url plus render_js, premium_proxy, stealth_proxy, wait, wait_for, wait_browser, cookies, screenshot, block_ads, block_resources, timeout, format |
| extractStructuredData | Scrapes a page and returns the AI-extracted fields as JSON. | the scrape options plus exactly one of ai_query or ai_schema |
| runBrowserScenario | Runs browser actions on a rendered page, then returns it as markdown (or HTML). | the scrape options plus js_scenario and format |
| getScrapeJob | Fetches a scrape job. | job_id |
| pollJobUntilDone | Polls a job until it completes, fails or times out. | job_id, timeout_ms, poll_interval_ms |
| googleSearch | Runs a Google search: web by default, or type images, videos, news, shopping, places or maps. | q, type, gl, hl, num, page, tbs, ll |
| googleReviews | Fetches Google Maps reviews for a place. | cid, fid or placeId, sortBy, nextPageToken |
| instagramUser | Looks up an Instagram profile. | one of username, user_id or url |
| instagramSearch | Searches Instagram accounts, hashtags, places or posts. | keyword, search_type: users, hashtags, places, global or posts |
| instagramMedia | Fetches posts, reels, tagged posts, stories, one media item, comments or comment replies. | mode: user_posts, reels, tagged_posts, stories, media_by_shortcode, media_by_url, comments or comment_replies; plus user_id, username, shortcode, url, code_or_id_or_url or comment_id as the mode needs |
| instagramFollowers | Lists or searches an Instagram account's followers or following. | user_id, direction: followers or following, query, max_id |
| tiktokVideo | Fetches TikTok video details. | url |
| tiktokUser | Fetches a TikTok profile, or its posts. | unique_id, include_posts |
| tiktokSearch | Searches TikTok users or videos. | query, search_type: users or videos, count, cursor |
| tiktokComments | Fetches comments on a TikTok video, or the replies to one comment. | url for comments; comment_id plus video_id or url for replies; count, cursor |
| tiktokFollowers | Fetches a TikTok account's followers or following. | user_id, direction: followers or following, count |
| amazonSearch | Searches Amazon products. | query, page, department |
| amazonProduct | Fetches Amazon product details. | asin |
| amazonProducts | Fetches details for up to 20 products at once. 10 credits per product returned. | asins (array) |
| amazonSuggestions | Fetches Amazon's search-box suggestions for a partial query. | query, department, limit |
| amazonRankings | Fetches best sellers or new releases for an Amazon department. | list: best_sellers or new_releases; category: a department slug; page |
| providerRequest | Calls any TikTok, Instagram, Google or Amazon endpoint in these docs directly. | provider, endpoint, params |
Stuck on something?
Try requests in the dashboard playgrounds, check every call in your usage log, or write to [email protected]. A real developer answers.