Public web data for AI agents: scrape any page, plus Google, TikTok, Instagram and Amazon as JSON.
Call this server's tools from your browser. Nothing to install.
Your ScrapingBot API key, from https://scrapingbot.io/dashboard/api-keys (100 free credits on sign-up).
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Everything on an Amazon product page by ASIN: price, rating, availability, bullet points, specifications, photos and variations. 10 credits.
Everything on an Amazon product page by ASIN: price, rating, availability, bullet points, specifications, photos and variations. 10 credits.
| Argument | Type | Description |
|---|---|---|
| asin* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"asin"
],
"properties": {
"asin": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| asins* | array | Up to 20 ASINs; 10 credits per product returned |
{
"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
}Amazon's Best Sellers or New Releases for a department, in rank order, with price and rating. 10 credits.
| Argument | Type | Description |
|---|---|---|
| list* | string | |
| page | integer | |
| category* | string | Amazon department slug |
{
"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
}Search Amazon US products by keyword: title, price, rating, Prime and photo for each. page for more. 10 credits.
| Argument | Type | Description |
|---|---|---|
| page | any | |
| query* | string | |
| department | string |
{
"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
}The suggestions Amazon shows as a shopper types: useful for keyword research. 10 credits.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string | What a shopper has typed so far |
| department | string | Search alias such as aps, electronics, stripbooks |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| wait | integer | |
| cookies | string | |
| timeout | integer | |
| ai_query | string | |
| wait_for | string | |
| ai_schema | any | |
| block_ads | boolean | |
| render_js | boolean | |
| screenshot | any | |
| wait_browser |
Look up an earlier scrape by the job_id it returned. Free.
| Argument | Type | Description |
|---|---|---|
| job_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| gl | string | |
| hl | string | |
| cid | string | |
| fid | string | |
| sortBy | string | |
| placeId | string | |
| nextPageToken | string |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| q* | string | |
| gl | string | |
| hl | string | |
| ll | string | Maps/places viewport, e.g. @30.27,-97.74,12z |
| num | any | |
| tbs | string | |
| page | any | |
| type | string | What to search: web results (default), images, videos, news, shopping, places or maps. |
| sortBy | string | |
| autocorrect | boolean |
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.
| Argument | Type | Description |
|---|---|---|
| query | string | Search the list by username or name |
| max_id | string | next_max_id from the previous page |
| user_id* | string | Numeric user id (from instagramUser) |
| direction* | string |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| url | string | |
| mode* | string | |
| count | integer | |
| user_id | any | |
| media_id | any | |
| username | string | Username (stories) |
| shortcode | string | |
| comment_id | string | Parent comment id (comment_replies) |
| end_cursor | string | |
| pagination_token | string | |
Search Instagram accounts, hashtags, places or posts (search_type), or everything at once (global). 5 credits.
| Argument | Type | Description |
|---|---|---|
| keyword* | string | |
| search_type* | string |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| url | string | |
| user_id | any | |
| username | string |
{
"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
}List every ScrapingBot tool, the API routes behind them and their parameters. Free.
No arguments.
{
"type": "object",
"properties": {}
}Wait for a scrape job to finish, then return it. Free.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | |
| timeout_ms | integer | |
| poll_interval_ms | integer |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| params | object | |
| endpoint* | string | |
| provider* | string |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| wait | integer | |
| format | string | Page content as markdown (default, compact and readable) or the raw HTML |
| cookies | string | |
| timeout | integer | |
| wait_for | string | |
| block_ads | boolean | |
| render_js | boolean | |
| screenshot | any | |
| js_scenario* | any |
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.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| wait | integer | |
| format | string | Page content as markdown (default, compact and readable) or the raw HTML |
| cookies | string | |
| timeout | integer | |
| wait_for | string | |
| block_ads | boolean | |
| render_js | boolean | |
| screenshot | any | |
| wait_browser | string | |
Comments on a TikTok video (url), or the replies to one comment (comment_id plus the video url or video_id). 1 credit.
| Argument | Type | Description |
|---|---|---|
| url | string | Video URL (required for comments) |
| count | integer | |
| cursor | integer | |
| video_id | string | Video id (replies only; or pass url) |
| comment_id | string | Set to fetch the replies to this comment |
{
"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
}A TikTok account's followers or the accounts it follows, by numeric user_id (data.user.id from tiktokUser). Up to 50. 1 credit.
| Argument | Type | Description |
|---|---|---|
| count | integer | |
| user_id* | string | Numeric user id (data.user.id from tiktokUser) |
| direction* | string |
{
"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
}Search TikTok creators (search_type: users) or videos (videos) by keyword. Videos page: for page 2 onward pass the previous response's data.cursor as cursor and its data.searchId as search_id. Users search returns a single page and ignores cursor. 1 credit.
| Argument | Type | Description |
|---|---|---|
| count | integer | |
| query* | string | |
| cursor | any | Videos only: the previous response's data.cursor, for the next page |
| search_id | string | Videos only: the previous response's data.searchId; required with cursor for page 2 onward |
| search_type* | string |
{
"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
}
],
"description": "Videos only: the previous response's data.cursor, for the next page"
},
"search_id": {
"type": "string",
"minLength": 1,
"description": "Videos only: the previous response's data.searchId; required with cursor for page 2 onward"
},
"search_type": {
"enum": [
"users",
"videos"
],
"type": "string"
}
},
"additionalProperties": false
}A TikTok profile by username: bio, counts, verified badge and numeric user id; include_posts returns the latest videos instead. 1 credit.
| Argument | Type | Description |
|---|---|---|
| unique_id* | string | |
| include_posts | boolean |
{
"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
}A TikTok video's stats, caption, author, sound and download links, by video URL. 1 credit.
| Argument | Type | Description |
|---|---|---|
| url* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": false
}| string |
| premium_proxy | boolean |
| stealth_proxy | boolean |
| block_resources | boolean |
| capture_runtime_issues | boolean |
{
"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
}{
"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
}| code_or_id_or_url |
| string |
{
"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
}| wait_browser | string |
| premium_proxy | boolean |
| stealth_proxy | boolean |
| block_resources | boolean |
| capture_runtime_issues | boolean |
{
"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
}| premium_proxy |
| boolean |
| stealth_proxy | boolean |
| block_resources | boolean |
| capture_runtime_issues | boolean |
{
"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
}