MCP Server

ScrapingBot

io.scrapingbot/scrapingbot

What this MCP does

Scrapes public web pages and provides structured search and content data for Google, Amazon, Instagram, TikTok, and Google Maps.

amazonProduct
Amazon product
Everything on an Amazon product page by ASIN: price, rating, availability, bullet points, specifications, photos and variations. 10 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asin'], 'properties': {'asin': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
amazonProducts
Amazon products (batch)
Full details for up to 20 ASINs in one call, the same as amazonProduct for each. 10 credits per product returned; ASINs that fail are free.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asins'], 'properties': {'asins': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Up to 20 ASINs; 10 credits per product returned'}}, 'additionalProperties': False}
amazonRankings
Amazon best sellers
Amazon's Best Sellers or New Releases for a department, in rank order, with price and rating. 10 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['list', 'category'], 'properties': {'list': {'enum': ['best_sellers', 'new_releases'], 'type': 'string'}, 'page': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'category': {'enum': ['electronics', 'pc', 'wireless', 'videogames', 'books', 'toys-and-games', 'home-garden', 'kitchen', 'appliances', 'beauty', 'hpc', 'grocery', 'fashion', 'sporting-goods', 'pet-supplies', 'baby-products', 'automotive', 'office-products', 'arts-crafts', 'musical-instruments'], 'type': 'string', 'description': 'Amazon department slug'}}, 'additionalProperties': False}
amazonSearch
Search Amazon
Search Amazon US products by keyword: title, price, rating, Prime and photo for each. page for more. 10 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'page': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 1}, {'type': 'string', 'minLength': 1}]}, 'query': {'type': 'string', 'minLength': 1}, 'department': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
amazonSuggestions
Amazon search suggestions
The suggestions Amazon shows as a shopper types: useful for keyword research. 10 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 1, 'description': 'What a shopper has typed so far'}, 'department': {'type': 'string', 'minLength': 1, 'description': 'Search alias such as aps, electronics, stripbooks'}}, 'additionalProperties': False}
extractStructuredData
Extract data from a page
Fetch a web page and have AI pull out exactly the fields you want, as JSON. Pass ai_query (plain English, e.g. "title, price and stock") or ai_schema ({"field": "description"}). The page cost plus 5 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'wait': {'type': 'integer', 'maximum': 45000, 'minimum': 0}, 'cookies': {'type': 'string'}, 'timeout': {'type': 'integer', 'maximum': 120000, 'minimum': 1}, 'ai_query': {'type': 'string', 'minLength': 1}, 'wait_for': {'type': 'string', 'minLength': 1}, 'ai_schema': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'object', 'additionalProperties': {}}]}, 'block_ads': {'type': 'boolean'}, 'render_js': {'type': 'boolean'}, 'screenshot': {'anyOf': [{'type': 'boolean'}, {'type': 'string', 'const': 'fullPage'}]}, 'wait_browser': {'enum': ['load', 'domcontentloaded', 'networkidle0', 'networkidle2'], 'type': 'string'}, 'premium_proxy': {'type': 'boolean'}, 'stealth_proxy': {'type': 'boolean'}, 'block_resources': {'type': 'boolean'}, 'capture_runtime_issues': {'type': 'boolean'}}, 'additionalProperties': False}
getScrapeJob
Get a scrape job
Look up an earlier scrape by the job_id it returned. Free.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
googleReviews
Google Maps reviews
Reviews of a place from Google Maps, by the cid, fid or placeId in a googleSearch places or maps result. sortBy newest, mostRelevant, highestRating or lowestRating; pass nextPageToken for more. 10 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'gl': {'type': 'string', 'maxLength': 8, 'minLength': 2}, 'hl': {'type': 'string', 'maxLength': 8, 'minLength': 2}, 'cid': {'type': 'string', 'minLength': 1}, 'fid': {'type': 'string', 'minLength': 1}, 'sortBy': {'enum': ['mostRelevant', 'newest', 'highestRating', 'lowestRating'], 'type': 'string'}, 'placeId': {'type': 'string', 'minLength': 1}, 'nextPageToken': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
googleSearch
Google search
Google results as JSON: web (default), images, videos, news, shopping, places or maps (type), for any country (gl) and language (hl). Places and maps results include a cid for googleReviews. 10 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'minLength': 1}, 'gl': {'type': 'string', 'maxLength': 8, 'minLength': 2}, 'hl': {'type': 'string', 'maxLength': 8, 'minLength': 2}, 'll': {'type': 'string', 'minLength': 1, 'description': 'Maps/places viewport, e.g. @30.27,-97.74,12z'}, 'num': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 1}, {'type': 'string', 'minLength': 1}]}, 'tbs': {'type': 'string', 'minLength': 1}, 'page': {'anyOf': [{'type': 'integer', 'minimum': 1}, {'type': 'string', 'minLength': 1}]}, 'type': {'enum': ['search', 'images', 'videos', 'news', 'shopping', 'places', 'maps'], 'type': 'string', 'description': 'What to search: web results (default), images, videos, news, shopping, places or maps.'}, 'sortBy': {'type': 'string', 'minLength': 1}, 'autocorrect': {'type': 'boolean'}}, 'additionalProperties': False}
instagramFollowers
Instagram followers
List or search an Instagram account's followers or following, by numeric user_id from instagramUser. query searches the whole list; max_id pages. For very large accounts Instagram shows only about 50 recent followers, so use query to find someone. 5 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id', 'direction'], 'properties': {'query': {'type': 'string', 'minLength': 1, 'description': 'Search the list by username or name'}, 'max_id': {'type': 'string', 'minLength': 1, 'description': 'next_max_id from the previous page'}, 'user_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric user id (from instagramUser)'}, 'direction': {'enum': ['followers', 'following'], 'type': 'string'}}, 'additionalProperties': False}
instagramMedia
Instagram posts, stories and comments
Instagram content by mode: an account's posts, reels or tagged posts (user_id), one post by shortcode or url, a post's comments, the replies to a comment (comment_id), or an account's active stories (username). 5 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'mode': {'enum': ['user_posts', 'tagged_posts', 'reels', 'media_by_shortcode', 'media_by_url', 'comments', 'comment_replies', 'stories'], 'type': 'string'}, 'count': {'type': 'integer', 'maximum': 100, 'exclusiveMinimum': 0}, 'user_id': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'exclusiveMinimum': 0}]}, 'media_id': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'exclusiveMinimum': 0}]}, 'username': {'type': 'string', 'minLength': 1, 'description': 'Username (stories)'}, 'shortcode': {'type': 'string', 'minLength': 1}, 'comment_id': {'type': 'string', 'minLength': 1, 'description': 'Parent comment id (comment_replies)'}, 'end_cursor': {'type': 'string', 'minLength': 1}, 'pagination_token': {'type': 'string', 'minLength': 1}, 'code_or_id_or_url': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
instagramSearch
Search Instagram
Search Instagram accounts, hashtags, places or posts (search_type), or everything at once (global). 5 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['keyword', 'search_type'], 'properties': {'keyword': {'type': 'string', 'minLength': 1}, 'search_type': {'enum': ['users', 'hashtags', 'places', 'global', 'posts'], 'type': 'string'}}, 'additionalProperties': False}
instagramUser
Instagram profile
An Instagram profile: bio, follower, following and post counts, links and the numeric user id other tools need. Pass one of username, user_id or url. 5 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'user_id': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'exclusiveMinimum': 0}]}, 'username': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
listCapabilities
List capabilities
List every ScrapingBot tool, the API routes behind them and their parameters. Free.
Read only
Input schema
{'type': 'object', 'properties': {}}
pollJobUntilDone
Wait for a scrape job
Wait for a scrape job to finish, then return it. Free.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'minLength': 1}, 'timeout_ms': {'type': 'integer', 'maximum': 300000, 'minimum': 1000}, 'poll_interval_ms': {'type': 'integer', 'maximum': 30000, 'minimum': 250}}, 'additionalProperties': False}
providerRequest
Call an API endpoint directly
Call any Google, Instagram, TikTok or Amazon endpoint by path, for the few the other tools do not cover (listCapabilities lists them). Costs the same as that API.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider', 'endpoint'], 'properties': {'params': {'type': 'object', 'additionalProperties': {}}, 'endpoint': {'type': 'string', 'minLength': 1}, 'provider': {'enum': ['google', 'instagram', 'tiktok', 'amazon'], 'type': 'string'}}, 'additionalProperties': False}
runBrowserScenario
Run browser steps on a page
Open a page in a real browser, run steps such as click, fill, scroll and wait, then return the resulting page as markdown. js_scenario: {"instructions": [{"fill": ["#q", "shoes"]}, {"click": "#go"}, {"wait": 1000}]}. From 5 credits.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url', 'js_scenario'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'wait': {'type': 'integer', 'maximum': 45000, 'minimum': 0}, 'format': {'enum': ['markdown', 'html'], 'type': 'string', 'description': 'Page content as markdown (default, compact and readable) or the raw HTML'}, 'cookies': {'type': 'string'}, 'timeout': {'type': 'integer', 'maximum': 120000, 'minimum': 1}, 'wait_for': {'type': 'string', 'minLength': 1}, 'block_ads': {'type': 'boolean'}, 'render_js': {'type': 'boolean'}, 'screenshot': {'anyOf': [{'type': 'boolean'}, {'type': 'string', 'const': 'fullPage'}]}, 'js_scenario': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, {'$ref': '#/properties/js_scenario/anyOf/0/items'}]}, 'wait_browser': {'enum': ['load', 'domcontentloaded', 'networkidle0', 'networkidle2'], 'type': 'string'}, 'premium_proxy': {'type': 'boolean'}, 'stealth_proxy': {'type': 'boolean'}, 'block_resources': {'type': 'boolean'}, 'capture_runtime_issues': {'type': 'boolean'}}, 'additionalProperties': False}
scrapeWebsite
Scrape a web page
Fetch any public web page and return its content as markdown (format: "html" for the raw HTML). 1 credit; render_js (pages built with JavaScript) 5; premium_proxy 10; stealth_proxy 75. screenshot: true attaches a screenshot image.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'wait': {'type': 'integer', 'maximum': 45000, 'minimum': 0}, 'format': {'enum': ['markdown', 'html'], 'type': 'string', 'description': 'Page content as markdown (default, compact and readable) or the raw HTML'}, 'cookies': {'type': 'string'}, 'timeout': {'type': 'integer', 'maximum': 120000, 'minimum': 1}, 'wait_for': {'type': 'string', 'minLength': 1}, 'block_ads': {'type': 'boolean'}, 'render_js': {'type': 'boolean'}, 'screenshot': {'anyOf': [{'type': 'boolean'}, {'type': 'string', 'const': 'fullPage'}]}, 'wait_browser': {'enum': ['load', 'domcontentloaded', 'networkidle0', 'networkidle2'], 'type': 'string'}, 'premium_proxy': {'type': 'boolean'}, 'stealth_proxy': {'type': 'boolean'}, 'block_resources': {'type': 'boolean'}, 'capture_runtime_issues': {'type': 'boolean'}}, 'additionalProperties': False}
tiktokComments
TikTok comments
Comments on a TikTok video (url), or the replies to one comment (comment_id plus the video url or video_id). 1 credit.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Video URL (required for comments)'}, 'count': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'cursor': {'type': 'integer', 'minimum': 0}, 'video_id': {'type': 'string', 'minLength': 1, 'description': 'Video id (replies only; or pass url)'}, 'comment_id': {'type': 'string', 'minLength': 1, 'description': 'Set to fetch the replies to this comment'}}, 'additionalProperties': False}
tiktokFollowers
TikTok followers
A TikTok account's followers or the accounts it follows, by numeric user_id (data.user.id from tiktokUser). Up to 50. 1 credit.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id', 'direction'], 'properties': {'count': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'user_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric user id (data.user.id from tiktokUser)'}, 'direction': {'enum': ['followers', 'following'], 'type': 'string'}}, 'additionalProperties': False}
tiktokSearch
Search TikTok
Search TikTok creators (search_type: users) or videos (videos) by keyword. 1 credit.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query', 'search_type'], 'properties': {'count': {'type': 'integer', 'maximum': 100, 'exclusiveMinimum': 0}, 'query': {'type': 'string', 'minLength': 1}, 'cursor': {'anyOf': [{'type': 'integer', 'minimum': 0}, {'type': 'string', 'minLength': 1}]}, 'search_type': {'enum': ['users', 'videos'], 'type': 'string'}}, 'additionalProperties': False}
tiktokUser
TikTok profile
A TikTok profile by username: bio, counts, verified badge and numeric user id; include_posts returns the latest videos instead. 1 credit.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['unique_id'], 'properties': {'unique_id': {'type': 'string', 'minLength': 1}, 'include_posts': {'type': 'boolean'}}, 'additionalProperties': False}
tiktokVideo
TikTok video
A TikTok video's stats, caption, author, sound and download links, by video URL. 1 credit.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}
Added
providerRequest
Oct. 5, 2026, 2:40 a.m.
Added
amazonRankings
Oct. 5, 2026, 2:40 a.m.
Added
amazonSuggestions
Oct. 5, 2026, 2:40 a.m.
Added
amazonProducts
Oct. 5, 2026, 2:40 a.m.
Added
amazonProduct
Oct. 5, 2026, 2:40 a.m.
Added
amazonSearch
Oct. 5, 2026, 2:40 a.m.
Added
tiktokFollowers
Oct. 5, 2026, 2:40 a.m.
Added
tiktokComments
Oct. 5, 2026, 2:40 a.m.
Added
tiktokSearch
Oct. 5, 2026, 2:40 a.m.
Added
tiktokUser
Oct. 5, 2026, 2:40 a.m.
Added
tiktokVideo
Oct. 5, 2026, 2:40 a.m.
Added
instagramFollowers
Oct. 5, 2026, 2:40 a.m.
Added
instagramMedia
Oct. 5, 2026, 2:40 a.m.
Added
instagramSearch
Oct. 5, 2026, 2:40 a.m.
Added
instagramUser
Oct. 5, 2026, 2:40 a.m.
Added
googleReviews
Oct. 5, 2026, 2:40 a.m.
Added
googleSearch
Oct. 5, 2026, 2:40 a.m.
Added
runBrowserScenario
Oct. 5, 2026, 2:40 a.m.
Added
pollJobUntilDone
Oct. 5, 2026, 2:40 a.m.
Added
getScrapeJob
Oct. 5, 2026, 2:40 a.m.
Added
extractStructuredData
Oct. 5, 2026, 2:40 a.m.
Added
scrapeWebsite
Oct. 5, 2026, 2:40 a.m.
Added
listCapabilities
Oct. 5, 2026, 2:40 a.m.