Scrape any web page, search Google/Amazon/Walmart/YouTube and extract data via the ScrapingBee API.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <ScrapingBee API key>. Get the key from https://app.scrapingbee.com/account/manage/api_key
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.
This tool allows you to send a prompt to OpenAI's ChatGPT via ScrapingBee and get back the generated response. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
The prompt to send to ChatGPT.
Response-header label only.
Whether to enable web search capability for the prompt.
Whether to include the full HTML of the page in the results.
ISO country code the request should originate from (affects web results when search is enabled).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
This tool allows you to send a prompt to OpenAI's ChatGPT via ScrapingBee and get back the generated response. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| tag | string | Response-header label only. |
| prompt* | string | The prompt to send to ChatGPT. |
| search | boolean | Whether to enable web search capability for the prompt. |
| add_html | boolean | Whether to include the full HTML of the page in the results. |
| country_code | string | ISO country code the request should originate from (affects web results when search is enabled). |
{
"type": "object",
"required": [
"prompt"
],
"properties": {
"tag": {
"type": "string",
"default": "",
"description": "Response-header label only."
},
"prompt": {
"type": "string",
"description": "The prompt to send to ChatGPT."
},
"search": {
"type": "boolean",
"default": false,
"description": "Whether to enable web search capability for the prompt."
},
"add_html": {
"type": "boolean",
"default": false,
"description": "Whether to include the full HTML of the page in the results."
},
"country_code": {
"type": "string",
"default": "",
"description": "ISO country code the request should originate from\n(affects web results when search is enabled)."
}
},
"additionalProperties": false
}Ask Gemini through ScrapingBee and receive citation objects when available. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| tag | string | Response-header label only. |
| prompt* | string | The prompt to send to Gemini. |
| add_html | boolean | Whether to return the full HTML of searched pages. |
| country_code | string | ISO country code to set request geolocation. |
{
"type": "object",
"required": [
"prompt"
],
"properties": {
"tag": {
"type": "string",
"default": "",
"description": "Response-header label only."
},
"prompt": {
"type": "string",
"description": "The prompt to send to Gemini."
},
"add_html": {
"type": "boolean",
"default": false,
"description": "Whether to return the full HTML of searched pages."
},
"country_code": {
"type": "string",
"default": "",
"description": "ISO country code to set request geolocation."
}
},
"additionalProperties": false
}Scrape a URL using ScrapingBee and extract specific data using CSS or XPath selectors. Scope: one URL per call, with the result returned into the conversation. For many URLs, a whole site, output written to a file or directory, resumable jobs, or a scheduled re-run, use the ScrapingBee CLI instead — `scrapingbee scrape --input-file urls.txt --output-dir results`, `scrapingbee crawl URL --save-pattern ...`, `scrapingbee schedule --every`. This server has no batch, crawl, file-output or scheduling equivalent.
| Argument | Type | Description |
|---|---|---|
| url* | string | The URL of the page to scrape. |
| wait | integer | Milliseconds to wait after page load (0–35000). |
| device | string | desktop (default) or mobile. |
| cookies | string | Semicolon-separated cookies to send to the target. |
| timeout | integer | Request timeout in milliseconds (1000–140000, default 140000). |
| max_cost | integer | Optional credit ceiling for auto_mode (integer >= 1). The request will not escalate to a configuration costing more than this many credits. 0 means no ceiling. Ignored unless auto_mode is True. |
| wait_for | string | CSS or XPath selector to wait for before returning. |
| auto_mode |
Search the web using ScrapingBee's Fast Search API and return structured results. This is the PRIMARY tool for web searches — it returns clean organic results and top stories in under one second at a lower credit cost. USE THIS TOOL FIRST for any general web search. Only fall back to get_google_search_results if you need specialized search types such as news, maps, Google Lens, shopping, image search, or Google AI mode. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| tag | string | Response-header label only. |
| page | integer | The page number to return. Default is 1, use page=2 for the second page, etc. |
| search* | string | The search query to use. Make sure to URL-encode special characters such as :, & or +. |
| language | string | Language of the search results (Example: en, fr, de, etc.). |
| country_code | string | ISO 3166-1 alpha-2 country code to localize results (Example: us, fr, de, in, gb, br, etc.). |
{
"type": "object",
"required": [
"search"
],
"properties": {
"tag": {
"type": "string",
"default": "",
"description": "Response-header label only."
},
"page": {
"type": "integer",
"default": 1,
"description": "The page number to return. Default is 1,\nuse page=2 for the second page, etc."
},
"search": {
"type": "string",
"description": "The search query to use.\nMake sure to URL-encode special characters such as :, & or +."
},
"language": {
"type": "string",
"default": "en",
"description": "Language of the search results (Example: en, fr, de, etc.)."
},
"country_code": {
"type": "string",
"default": "us",
"description": "ISO 3166-1 alpha-2 country code to localize results\n(Example: us, fr, de, in, gb, br, etc.)."
}
},
"additionalProperties": false
}Retrieve current Amazon product pricing and seller offers for a given ASIN. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| tag | string | Response-header label only. |
| asin* | string | Required 10-character ASIN from an Amazon product URL. |
| domain | string | Amazon domain (default com). |
| country | string | ISO country code for localization. Do not combine with a matching domain (e.g., country=fr&domain=fr). |
| add_html | boolean | Include page HTML in the response. |
| currency | string | ISO 4217 display currency. |
| language | string | ISO language code. |
| zip_code | string | ZIP code for delivery localization. |
| light_request | boolean | Use a light request (default True) or browser-rendered (False). |
Scrape Amazon product details using ScrapingBee. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| tag | string | Response-header label only. |
| query* | string | Search term (must be a valid 10-character ASIN code) |
| domain | string | The Amazon domain to use for the search (e.g., com, co.uk, de). |
| country | string | The country code for localization (e.g., us, uk, de). Do not combine with a matching domain (e.g., country=fr&domain=fr). |
| add_html | boolean | Whether to return the HTML along with the product details. |
| currency | string | The currency code (ISO 4217) to display results (e.g., USD, GBP, EUR). |
| language | string | The language code to display results (e.g., en, fr, de). |
| zip_code | string | The zip code to use for delivery localization. |
| screenshot |
Scrape Amazon search results using ScrapingBee. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| tag | string | Response-header label only. |
| pages | integer | The number of pages to scrape. |
| query* | string | The search query to perform. |
| domain | string | The Amazon domain to use for the search (e.g., com, co.uk, de). |
| country | string | The country code for localization (e.g., us, uk, de). Do not combine with a matching domain (e.g., country=fr&domain=fr). |
| sort_by | string | The sort order to use for the search (most_recent, price_low_to_high, price_high_to_low, featured, average_review, bestsellers). |
| add_html | boolean | Whether to return the HTML along with the search results. |
| currency | string | The currency code (ISO 4217) to display results (e.g., USD, GBP, EUR). |
Fetches a file from a URL and returns it in a format suitable for FastMcP. This tool can be used to fetch any file type, including images, PDFs, etc. The framework will handle the encoding and packaging of the file. Scope: one URL per call, with the result returned into the conversation. For many URLs, a whole site, output written to a file or directory, resumable jobs, or a scheduled re-run, use the ScrapingBee CLI instead — `scrapingbee scrape --input-file urls.txt --output-dir results`, `scrapingbee crawl URL --save-pattern ...`, `scrapingbee schedule --every`. This server has no batch, crawl, file-output or scheduling equivalent.
| Argument | Type | Description |
|---|---|---|
| url* | string | The URL of the file to fetch. |
| device | string | desktop (default) or mobile. |
| cookies | string | Semicolon-separated cookies to send to the target. |
| timeout | integer | Request timeout in milliseconds (1000–140000, default 140000). |
| render_js | boolean | Whether to use headless-browser rendering (default False). |
| session_id | any | Integer 0–10000000 to reuse an IP for up to 5 minutes. |
| country_code | string | ISO 3166-1 alpha-2 country code (e.g. "fr", "us") to route the request through an IP in that country. Only takes effect when premium_proxy is True. |
This is a FALLBACK tool — use fast_search first for general web searches. Only use this tool when you need specialized search types that fast_search does not support: news, maps, Google Lens, shopping, image search, or Google AI mode. Scrape Google search results using ScrapingBee and return the results. This tool can scrape normal results, news results, maps results, search using google lens, shopping related results, image results, and get the result from Google's AI mode. It can even return the HTML along with the search results. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| tag | string | Response-header label only. |
| nfpr | boolean | Whether to disable Google's autocorrection feature or not. |
| page | integer | The page number to return. |
| pages | integer | Number of pages to aggregate (max 10, default 1). |
| device | string | The device to use for the search (desktop, mobile). |
| radius | any | Radius in meters (requires latitude and longitude). |
| search* | string | The search query to use. |
Scrape a URL using ScrapingBee and return the page content in HTML. Scope: one URL per call, with the result returned into the conversation. For many URLs, a whole site, output written to a file or directory, resumable jobs, or a scheduled re-run, use the ScrapingBee CLI instead — `scrapingbee scrape --input-file urls.txt --output-dir results`, `scrapingbee crawl URL --save-pattern ...`, `scrapingbee schedule --every`. This server has no batch, crawl, file-output or scheduling equivalent.
| Argument | Type | Description |
|---|---|---|
| url* | string | The URL of the page to scrape. |
| wait | integer | Milliseconds to wait after page load (0–35000). |
| device | string | desktop (default) or mobile. |
| cookies | string | Semicolon-separated cookies to send to the target. |
| timeout | integer | Request timeout in milliseconds (1000–140000, default 140000). |
| ai_query | string | Natural-language question for AI extraction. |
| max_cost | integer | Optional credit ceiling for auto_mode (integer >= 1). The request will not escalate to a configuration costing more than this many credits. 0 means no ceiling. Ignored unless auto_mode is True. |
| wait_for |
Scrape a URL using ScrapingBee and return the page content in Markdown or Text format. Scope: one URL per call, with the result returned into the conversation. For many URLs, a whole site, output written to a file or directory, resumable jobs, or a scheduled re-run, use the ScrapingBee CLI instead — `scrapingbee scrape --input-file urls.txt --output-dir results`, `scrapingbee crawl URL --save-pattern ...`, `scrapingbee schedule --every`. This server has no batch, crawl, file-output or scheduling equivalent.
| Argument | Type | Description |
|---|---|---|
| url* | string | The URL of the page to scrape. |
| wait | integer | Milliseconds to wait after page load (0–35000). |
| device | string | desktop (default) or mobile. |
| cookies | string | Semicolon-separated cookies to send to the target. |
| timeout | integer | Request timeout in milliseconds (1000–140000, default 140000). |
| ai_query | string | Natural-language question for AI extraction. |
| max_cost | integer | Optional credit ceiling for auto_mode (integer >= 1). The request will not escalate to a configuration costing more than this many credits. 0 means no ceiling. Ignored unless auto_mode is True. |
| wait_for |
Read real-time credit and concurrency usage for the authenticated ScrapingBee account. Note: This endpoint is rate-limited to 6 calls per minute and does not count against the account's concurrency limit. Returns: max_api_credit, used_api_credit, max_concurrency, current_concurrency, renewal_subscription_date.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Scrape a URL using ScrapingBee and return it's screenshot. Scope: one URL per call, with the result returned into the conversation. For many URLs, a whole site, output written to a file or directory, resumable jobs, or a scheduled re-run, use the ScrapingBee CLI instead — `scrapingbee scrape --input-file urls.txt --output-dir results`, `scrapingbee crawl URL --save-pattern ...`, `scrapingbee schedule --every`. This server has no batch, crawl, file-output or scheduling equivalent.
| Argument | Type | Description |
|---|---|---|
| url* | string | The URL of the page to scrape. |
| wait | integer | Milliseconds to wait after page load (0–35000). |
| device | string | desktop (default) or mobile. |
| cookies | string | Semicolon-separated cookies to send to the target. |
| timeout | integer | Request timeout in milliseconds (1000–140000, default 140000). |
| wait_for | string | CSS or XPath selector to wait for before returning. |
| render_js | any | Whether to use headless-browser rendering. |
| session_id | any | Integer 0–10000000 to reuse an IP for up to 5 minutes. |
Scrape Walmart product details using ScrapingBee. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| tag | string | Response-header label only. |
| device | string | The device to use for the request (desktop, mobile, tablet). |
| domain | string | The domain to use for the search (Example: com, ca, com.mx, etc.) for localization. |
| add_html | boolean | Whether to return the HTML along with the product details. |
| store_id | string | Specific Walmart store ID for localization. |
| product_id* | string | The unique identifier for the Walmart product. |
| screenshot | boolean | Force a browser screenshot (returns base64 image). |
| delivery_zip | string | The zip code to use for delivery localization. |
| light_request | boolean |
Scrape Walmart search results using ScrapingBee. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| tag | string | Response-header label only. |
| query* | string | The search query to perform. |
| device | string | The device to use for the search (desktop, mobile, tablet). |
| domain | string | The domain to use for the search (Example: com, ca, com.mx, etc.) for localization. |
| sort_by | string | The sort order to use for the search (best_match, price_low, price_high, best_seller). |
| add_html | boolean | Whether to return the HTML along with the search results. |
| store_id | string | Specific Walmart store ID for localization. |
| max_price | any | The maximum price to use for the search. |
| min_price | any |
Search YouTube and return structured results. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| hd | boolean | Return only HD videos. |
| hdr | boolean | Return only HDR videos. |
| tag | string | Response-header label only. |
| live | boolean | Return only live streams. |
| is_3d | boolean | Return only 3D videos. |
| is_4k | boolean | Return only 4K videos. |
| vr180 | boolean | Return only VR180 videos. |
| is_360 | boolean | Return only 360-degree videos. |
| search* | string | The search query. |
| sort_by | string | Sort order: 'relevance' (default), 'rating', 'view_count', 'upload_date'. |
Fetch structured metadata for a YouTube video including title, description, views, likes, channel info, and technical details. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| video_id* | string | The unique YouTube video ID (e.g., 'rfscVS0vtbw'). |
{
"type": "object",
"required": [
"video_id"
],
"properties": {
"video_id": {
"type": "string",
"description": "The unique YouTube video ID (e.g., 'rfscVS0vtbw')."
}
},
"additionalProperties": false
}Retrieve subtitles for one YouTube video. Scope: one query per call. To run many queries in one pass, or to write results to disk instead of into the conversation, use the ScrapingBee CLI — `scrapingbee <command> --input-file queries.txt --output-dir results`.
| Argument | Type | Description |
|---|---|---|
| tag | string | Response-header label only. |
| language | string | Language code (e.g., 'en', 'es', 'fr'). Default is 'en'. |
| video_id* | string | The unique YouTube video ID. |
| subtitle_origin | string | 'auto_generated' (default) or 'uploader_provided'. |
{
"type": "object",
"required": [
"video_id"
],
"properties": {
"tag": {
"type": "string",
"default": "",
"description": "Response-header label only."
},
"language": {
"type": "string",
"default": "en",
"description": "Language code (e.g., 'en', 'es', 'fr'). Default is 'en'."
},
"video_id": {
"type": "string",
"description": "The unique YouTube video ID."
},
"subtitle_origin": {
"type": "string",
"default": "auto_generated",
"description": "'auto_generated' (default) or 'uploader_provided'."
}
},
"additionalProperties": false
}| boolean |
| On by default — ScrapingBee automatically picks the cheapest configuration that successfully fetches the page, escalating proxy strength only as needed (you are charged only for the winning config). To choose a configuration yourself instead, use one of: auto_mode=False for the classic tier (no proxy, cheapest), premium_proxy=True, or stealth_proxy=True — the two proxy flags override auto_mode on their own, so auto_mode=False is only needed for the classic tier. Setting render_js also switches to manual. |
| render_js | any | Whether to use headless-browser rendering. Setting this explicitly switches the request to manual configuration (disables auto_mode). |
| session_id | any | Integer 0–10000000 to reuse an IP for up to 5 minutes. |
| ai_selector | string | CSS selector to focus AI extraction on part of the page. |
| js_scenario | string | Stringified JSON object of browser interaction instructions. |
| country_code | string | ISO 3166-1 alpha-2 country code (e.g. "fr", "us") to route the request through an IP in that country. Only takes effect when premium_proxy or stealth_proxy is True. |
| wait_browser | string | domcontentloaded (default), load, networkidle0, networkidle2. |
| window_width | integer | Viewport width (default 1920). |
| custom_google | boolean | Set to True if the url is a google domain in the following format: <subdomain>.google.<top-level-domain> (Example: translate.google.com, mail.google.com, www.google.co.in etc) |
| extract_rules* | string | A JSON string defining extraction rules. SIMPLE SYNTAX: Use {"key_name": "css_or_xpath_selector"} format. - CSS selector example: {"title": "h1", "price": "span.price"} - XPath selector example: {"title": "//h1", "items": "//div[@class='item']"} - Extract attribute value of an element using @<attribute> or if you are using extended syntax <element>@<attribute>, for example: {"image": "img@src"}, "link": {"selector": "a","output": "@href"} Note: Selectors starting with "/" are treated as XPath, otherwise CSS. EXTENDED SYNTAX: For more control, use a dict with these options: - "selector": CSS or XPath selector string (required) - "type": "item" (single element, default) or "list" (multiple elements) - "output": It is also possible to add extraction rules inside the output option in order to create powerful extractors. Extended example: { "title" : "h1", "subtitle" : "#subtitle", "articles": { "selector": ".card", "type": "list", "output": { "title": ".post-title", "link": { "selector": ".post-title", "output": "@href" }, "description": ".post-description" } } } |
| json_response | boolean | Return the full JSON envelope instead of the raw body. |
| premium_proxy | boolean | Manual option: use a premium proxy (middle tier of classic/premium/stealth). Setting this disables auto_mode. |
| stealth_proxy | boolean | Manual option: use a stealth proxy (strongest tier of classic/premium/stealth). Setting this disables auto_mode. |
| window_height | integer | Viewport height (default 1080). |
| block_resources | boolean | Block images/CSS to speed up rendering. |
| ai_extract_rules | string | JSON string of AI extraction rules. |
{
"type": "object",
"required": [
"url",
"extract_rules"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the page to scrape."
},
"wait": {
"type": "integer",
"default": 0,
"description": "Milliseconds to wait after page load (0–35000)."
},
"device": {
"type": "string",
"default": "desktop",
"description": "desktop (default) or mobile."
},
"cookies": {
"type": "string",
"default": "",
"description": "Semicolon-separated cookies to send to the target."
},
"timeout": {
"type": "integer",
"default": 140000,
"description": "Request timeout in milliseconds (1000–140000, default 140000)."
},
"max_cost": {
"type": "integer",
"default": 0,
"description": "Optional credit ceiling for auto_mode (integer >= 1). The request\nwill not escalate to a configuration costing more than this many credits.\n0 means no ceiling. Ignored unless auto_mode is True."
},
"wait_for": {
"type": "string",
"default": "",
"description": "CSS or XPath selector to wait for before returning."
},
"auto_mode": {
"type": "boolean",
"default": true,
"description": "On by default — ScrapingBee automatically picks the cheapest\nconfiguration that successfully fetches the page, escalating proxy\nstrength only as needed (you are charged only for the winning\nconfig). To choose a configuration yourself instead, use one of:\nauto_mode=False for the classic tier (no proxy, cheapest),\npremium_proxy=True, or stealth_proxy=True — the two proxy flags\noverride auto_mode on their own, so auto_mode=False is only needed\nfor the classic tier. Setting render_js also switches to manual."
},
"render_js": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether to use headless-browser rendering. Setting this\nexplicitly switches the request to manual configuration\n(disables auto_mode)."
},
"session_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Integer 0–10000000 to reuse an IP for up to 5 minutes."
},
"ai_selector": {
"type": "string",
"default": "",
"description": "CSS selector to focus AI extraction on part of the page."
},
"js_scenario": {
"type": "string",
"default": "",
"description": "Stringified JSON object of browser interaction instructions."
},
"country_code": {
"type": "string",
"default": "",
"description": "ISO 3166-1 alpha-2 country code (e.g. \"fr\", \"us\") to\nroute the request through an IP in that country. Only takes effect\nwhen premium_proxy or stealth_proxy is True."
},
"wait_browser": {
"type": "string",
"default": "domcontentloaded",
"description": "domcontentloaded (default), load, networkidle0, networkidle2."
},
"window_width": {
"type": "integer",
"default": 1920,
"description": "Viewport width (default 1920)."
},
"custom_google": {
"type": "boolean",
"default": false,
"description": "Set to True if the url is a google domain in the following\nformat: <subdomain>.google.<top-level-domain>\n(Example: translate.google.com, mail.google.com, www.google.co.in etc)"
},
"extract_rules": {
"type": "string",
"description": "A JSON string defining extraction rules.\n\n SIMPLE SYNTAX:\n Use {\"key_name\": \"css_or_xpath_selector\"} format.\n - CSS selector example: {\"title\": \"h1\", \"price\": \"span.price\"}\n - XPath selector example:\n {\"title\": \"//h1\", \"items\": \"//div[@class='item']\"}\n - Extract attribute value of an element using @<attribute>\n or if you are using extended syntax <element>@<attribute>,\n for example: {\"image\": \"img@src\"},\n \"link\": {\"selector\": \"a\",\"output\": \"@href\"}\n\n Note: Selectors starting with \"/\" are treated as XPath,\n otherwise CSS.\n\n EXTENDED SYNTAX:\n For more control, use a dict with these options:\n - \"selector\": CSS or XPath selector string (required)\n - \"type\": \"item\" (single element, default) or\n \"list\" (multiple elements)\n - \"output\": It is also possible to add extraction rules inside\n the output option in order to create powerful extractors.\n\n Extended example:\n {\n \"title\" : \"h1\",\n \"subtitle\" : \"#subtitle\",\n \"articles\": {\n \"selector\": \".card\",\n \"type\": \"list\",\n \"output\": {\n \"title\": \".post-title\",\n \"link\": {\n \"selector\": \".post-title\",\n \"output\": \"@href\"\n },\n \"description\": \".post-description\"\n }\n }\n }"
},
"json_response": {
"type": "boolean",
"default": false,
"description": "Return the full JSON envelope instead of the raw body."
},
"premium_proxy": {
"type": "boolean",
"default": false,
"description": "Manual option: use a premium proxy (middle tier of\nclassic/premium/stealth). Setting this disables auto_mode."
},
"stealth_proxy": {
"type": "boolean",
"default": false,
"description": "Manual option: use a stealth proxy (strongest tier of\nclassic/premium/stealth). Setting this disables auto_mode."
},
"window_height": {
"type": "integer",
"default": 1080,
"description": "Viewport height (default 1080)."
},
"block_resources": {
"type": "boolean",
"default": true,
"description": "Block images/CSS to speed up rendering."
},
"ai_extract_rules": {
"type": "string",
"default": "",
"description": "JSON string of AI extraction rules."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"asin"
],
"properties": {
"tag": {
"type": "string",
"default": "",
"description": "Response-header label only."
},
"asin": {
"type": "string",
"description": "Required 10-character ASIN from an Amazon product URL."
},
"domain": {
"type": "string",
"default": "com",
"description": "Amazon domain (default com)."
},
"country": {
"type": "string",
"default": "",
"description": "ISO country code for localization.\nDo not combine with a matching domain (e.g., country=fr&domain=fr)."
},
"add_html": {
"type": "boolean",
"default": false,
"description": "Include page HTML in the response."
},
"currency": {
"type": "string",
"default": "",
"description": "ISO 4217 display currency."
},
"language": {
"type": "string",
"default": "",
"description": "ISO language code."
},
"zip_code": {
"type": "string",
"default": "",
"description": "ZIP code for delivery localization."
},
"light_request": {
"type": "boolean",
"default": true,
"description": "Use a light request (default True) or browser-rendered (False)."
}
},
"additionalProperties": false
}| boolean |
| Force a browser screenshot (returns base64 image). |
| light_request | boolean | Whether to use a light request or not. |
| autoselect_variant | boolean | Whether to automatically select product variant if applicable. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"tag": {
"type": "string",
"default": "",
"description": "Response-header label only."
},
"query": {
"type": "string",
"description": "Search term (must be a valid 10-character ASIN code)"
},
"domain": {
"type": "string",
"default": "",
"description": "The Amazon domain to use for the search (e.g., com, co.uk, de)."
},
"country": {
"type": "string",
"default": "",
"description": "The country code for localization (e.g., us, uk, de).\nDo not combine with a matching domain (e.g., country=fr&domain=fr)."
},
"add_html": {
"type": "boolean",
"default": false,
"description": "Whether to return the HTML along with the product details."
},
"currency": {
"type": "string",
"default": "",
"description": "The currency code (ISO 4217) to display results (e.g., USD, GBP, EUR)."
},
"language": {
"type": "string",
"default": "",
"description": "The language code to display results (e.g., en, fr, de)."
},
"zip_code": {
"type": "string",
"default": "",
"description": "The zip code to use for delivery localization."
},
"screenshot": {
"type": "boolean",
"default": false,
"description": "Force a browser screenshot (returns base64 image)."
},
"light_request": {
"type": "boolean",
"default": true,
"description": "Whether to use a light request or not."
},
"autoselect_variant": {
"type": "boolean",
"default": false,
"description": "Whether to automatically select product variant if\napplicable."
}
},
"additionalProperties": false
}| language |
| string |
| The language code to display results (e.g., en, fr, de). |
| zip_code | string | The ZIP code to use for delivery localization. |
| screenshot | boolean | Force a browser screenshot (returns base64 image). |
| start_page | integer | The page number to start scraping from. |
| category_id | string | The category ID to use for the search. |
| merchant_id | string | The merchant ID to use for the search. |
| light_request | boolean | Whether to use a light request or not. |
| autoselect_variant | boolean | Automatically select the default/most-popular variant. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"tag": {
"type": "string",
"default": "",
"description": "Response-header label only."
},
"pages": {
"type": "integer",
"default": 1,
"description": "The number of pages to scrape."
},
"query": {
"type": "string",
"description": "The search query to perform."
},
"domain": {
"type": "string",
"default": "com",
"description": "The Amazon domain to use for the search (e.g., com, co.uk, de)."
},
"country": {
"type": "string",
"default": "",
"description": "The country code for localization (e.g., us, uk, de).\nDo not combine with a matching domain (e.g., country=fr&domain=fr)."
},
"sort_by": {
"type": "string",
"default": "",
"description": "The sort order to use for the search\n(most_recent, price_low_to_high, price_high_to_low, featured,\naverage_review, bestsellers)."
},
"add_html": {
"type": "boolean",
"default": false,
"description": "Whether to return the HTML along with the search results."
},
"currency": {
"type": "string",
"default": "",
"description": "The currency code (ISO 4217) to display results (e.g., USD, GBP, EUR)."
},
"language": {
"type": "string",
"default": "",
"description": "The language code to display results (e.g., en, fr, de)."
},
"zip_code": {
"type": "string",
"default": "",
"description": "The ZIP code to use for delivery localization."
},
"screenshot": {
"type": "boolean",
"default": false,
"description": "Force a browser screenshot (returns base64 image)."
},
"start_page": {
"type": "integer",
"default": 1,
"description": "The page number to start scraping from."
},
"category_id": {
"type": "string",
"default": "",
"description": "The category ID to use for the search."
},
"merchant_id": {
"type": "string",
"default": "",
"description": "The merchant ID to use for the search."
},
"light_request": {
"type": "boolean",
"default": true,
"description": "Whether to use a light request or not."
},
"autoselect_variant": {
"type": "boolean",
"default": false,
"description": "Automatically select the default/most-popular variant."
}
},
"additionalProperties": false
}| custom_google | boolean | Set to True if the url is a google domain in the following format: <subdomain>.google.<top-level-domain> (Example: translate.google.com, mail.google.com, www.google.co.in etc) |
| premium_proxy | boolean | Whether to use a premium proxy for the request. Use it only if you are getting blocked by the website. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the file to fetch."
},
"device": {
"type": "string",
"default": "desktop",
"description": "desktop (default) or mobile."
},
"cookies": {
"type": "string",
"default": "",
"description": "Semicolon-separated cookies to send to the target."
},
"timeout": {
"type": "integer",
"default": 140000,
"description": "Request timeout in milliseconds (1000–140000, default 140000)."
},
"render_js": {
"type": "boolean",
"default": false,
"description": "Whether to use headless-browser rendering (default False)."
},
"session_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Integer 0–10000000 to reuse an IP for up to 5 minutes."
},
"country_code": {
"type": "string",
"default": "",
"description": "ISO 3166-1 alpha-2 country code (e.g. \"fr\", \"us\") to\nroute the request through an IP in that country. Only takes effect\nwhen premium_proxy is True."
},
"custom_google": {
"type": "boolean",
"default": false,
"description": "Set to True if the url is a google domain in the following\nformat: <subdomain>.google.<top-level-domain>\n(Example: translate.google.com, mail.google.com, www.google.co.in etc)"
},
"premium_proxy": {
"type": "boolean",
"default": false,
"description": "Whether to use a premium proxy for the request.\nUse it only if you are getting blocked by the website."
}
},
"additionalProperties": false
}| sort_by | string | Shopping sort order: relevance, reviews, price_asc, price_desc. |
| add_html | boolean | Whether to return the HTML along with the search results. |
| language | string | The language to use for the search (Example: en, fr, de, etc.). |
| latitude | any | Latitude in decimal degrees for geographic searches. |
| longitude | any | Longitude in decimal degrees for geographic searches. |
| max_price | any | Shopping maximum price filter. |
| min_price | any | Shopping minimum price filter. |
| date_range | string | Filter by date range: past_hour, past_day, past_week, past_month, past_year. Only for classic, news, and images. |
| search_type | string | The search type to use (classic: normal results, news: news results [not available if device is mobile], maps: maps results, lens: search using google lens [requires image url as search parameter], shopping: shopping related results, images: image results, ai_mode: get the result from Google's AI mode, ads: paid-ad results). |
| country_code | string | The country code to use for the search (Example: us, fr, de, etc.). |
| extra_params | string | Extra parameters to pass to the search (Example: tbs=qdr:d&udm=7). |
| light_request | boolean | Whether to use a light request or not. |
{
"type": "object",
"required": [
"search"
],
"properties": {
"tag": {
"type": "string",
"default": "",
"description": "Response-header label only."
},
"nfpr": {
"type": "boolean",
"default": false,
"description": "Whether to disable Google's autocorrection feature or not."
},
"page": {
"type": "integer",
"default": 1,
"description": "The page number to return."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to aggregate (max 10, default 1)."
},
"device": {
"type": "string",
"default": "desktop",
"description": "The device to use for the search (desktop, mobile)."
},
"radius": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Radius in meters (requires latitude and longitude)."
},
"search": {
"type": "string",
"description": "The search query to use."
},
"sort_by": {
"type": "string",
"default": "",
"description": "Shopping sort order: relevance, reviews, price_asc, price_desc."
},
"add_html": {
"type": "boolean",
"default": false,
"description": "Whether to return the HTML along with the search results."
},
"language": {
"type": "string",
"default": "en",
"description": "The language to use for the search (Example: en, fr, de, etc.)."
},
"latitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Latitude in decimal degrees for geographic searches."
},
"longitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitude in decimal degrees for geographic searches."
},
"max_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Shopping maximum price filter."
},
"min_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Shopping minimum price filter."
},
"date_range": {
"type": "string",
"default": "",
"description": "Filter by date range: past_hour, past_day, past_week,\npast_month, past_year. Only for classic, news, and images."
},
"search_type": {
"type": "string",
"default": "classic",
"description": "The search type to use (classic: normal results,\nnews: news results [not available if device is mobile], maps: maps results,\nlens: search using google lens [requires image url as search parameter],\nshopping: shopping related results, images: image results,\nai_mode: get the result from Google's AI mode, ads: paid-ad results)."
},
"country_code": {
"type": "string",
"default": "us",
"description": "The country code to use for the search\n(Example: us, fr, de, etc.)."
},
"extra_params": {
"type": "string",
"default": "",
"description": "Extra parameters to pass to the search (Example: tbs=qdr:d&udm=7)."
},
"light_request": {
"type": "boolean",
"default": true,
"description": "Whether to use a light request or not."
}
},
"additionalProperties": false
}| string |
| CSS or XPath selector to wait for before returning. |
| auto_mode | boolean | On by default — ScrapingBee automatically picks the cheapest configuration that successfully fetches the page, escalating proxy strength only as needed (you are charged only for the winning config). To choose a configuration yourself instead, use one of: auto_mode=False for the classic tier (no proxy, cheapest), premium_proxy=True, or stealth_proxy=True — the two proxy flags override auto_mode on their own, so auto_mode=False is only needed for the classic tier. Setting render_js also switches to manual. |
| render_js | any | Whether to use headless-browser rendering. Omit to use the API default (true). Setting this explicitly switches the request to manual configuration (disables auto_mode). |
| session_id | any | Integer 0–10000000 to reuse an IP for up to 5 minutes. |
| ai_selector | string | CSS selector to focus AI extraction on part of the page. |
| js_scenario | string | Stringified JSON object of browser interaction instructions. |
| country_code | string | ISO 3166-1 alpha-2 country code (e.g. "fr", "us") to route the request through an IP in that country. Only takes effect when premium_proxy or stealth_proxy is True. |
| wait_browser | string | domcontentloaded (default), load, networkidle0, networkidle2. |
| window_width | integer | Viewport width (default 1920). |
| custom_google | boolean | Set to True if the url is a google domain in the following format: <subdomain>.google.<top-level-domain> (Example: translate.google.com, mail.google.com, www.google.co.in etc) |
| premium_proxy | boolean | Manual option: use a premium proxy (middle tier of classic/premium/stealth). Setting this disables auto_mode. |
| stealth_proxy | boolean | Manual option: use a stealth proxy (strongest tier of classic/premium/stealth). Setting this disables auto_mode. |
| window_height | integer | Viewport height (default 1080). |
| block_resources | boolean | Block images/CSS to speed up rendering. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the page to scrape."
},
"wait": {
"type": "integer",
"default": 0,
"description": "Milliseconds to wait after page load (0–35000)."
},
"device": {
"type": "string",
"default": "desktop",
"description": "desktop (default) or mobile."
},
"cookies": {
"type": "string",
"default": "",
"description": "Semicolon-separated cookies to send to the target."
},
"timeout": {
"type": "integer",
"default": 140000,
"description": "Request timeout in milliseconds (1000–140000, default 140000)."
},
"ai_query": {
"type": "string",
"default": "",
"description": "Natural-language question for AI extraction."
},
"max_cost": {
"type": "integer",
"default": 0,
"description": "Optional credit ceiling for auto_mode (integer >= 1). The request\nwill not escalate to a configuration costing more than this many credits.\n0 means no ceiling. Ignored unless auto_mode is True."
},
"wait_for": {
"type": "string",
"default": "",
"description": "CSS or XPath selector to wait for before returning."
},
"auto_mode": {
"type": "boolean",
"default": true,
"description": "On by default — ScrapingBee automatically picks the cheapest\nconfiguration that successfully fetches the page, escalating proxy\nstrength only as needed (you are charged only for the winning\nconfig). To choose a configuration yourself instead, use one of:\nauto_mode=False for the classic tier (no proxy, cheapest),\npremium_proxy=True, or stealth_proxy=True — the two proxy flags\noverride auto_mode on their own, so auto_mode=False is only needed\nfor the classic tier. Setting render_js also switches to manual."
},
"render_js": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether to use headless-browser rendering.\nOmit to use the API default (true). Setting this explicitly\nswitches the request to manual configuration (disables auto_mode)."
},
"session_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Integer 0–10000000 to reuse an IP for up to 5 minutes."
},
"ai_selector": {
"type": "string",
"default": "",
"description": "CSS selector to focus AI extraction on part of the page."
},
"js_scenario": {
"type": "string",
"default": "",
"description": "Stringified JSON object of browser interaction instructions."
},
"country_code": {
"type": "string",
"default": "",
"description": "ISO 3166-1 alpha-2 country code (e.g. \"fr\", \"us\") to\nroute the request through an IP in that country. Only takes effect\nwhen premium_proxy or stealth_proxy is True."
},
"wait_browser": {
"type": "string",
"default": "domcontentloaded",
"description": "domcontentloaded (default), load, networkidle0, networkidle2."
},
"window_width": {
"type": "integer",
"default": 1920,
"description": "Viewport width (default 1920)."
},
"custom_google": {
"type": "boolean",
"default": false,
"description": "Set to True if the url is a google domain in the following\nformat: <subdomain>.google.<top-level-domain>\n(Example: translate.google.com, mail.google.com, www.google.co.in etc)"
},
"premium_proxy": {
"type": "boolean",
"default": false,
"description": "Manual option: use a premium proxy (middle tier of\nclassic/premium/stealth). Setting this disables auto_mode."
},
"stealth_proxy": {
"type": "boolean",
"default": false,
"description": "Manual option: use a stealth proxy (strongest tier of\nclassic/premium/stealth). Setting this disables auto_mode."
},
"window_height": {
"type": "integer",
"default": 1080,
"description": "Viewport height (default 1080)."
},
"block_resources": {
"type": "boolean",
"default": true,
"description": "Block images/CSS to speed up rendering."
}
},
"additionalProperties": false
}| string |
| CSS or XPath selector to wait for before returning. |
| auto_mode | boolean | On by default — ScrapingBee automatically picks the cheapest configuration that successfully fetches the page, escalating proxy strength only as needed (you are charged only for the winning config). To choose a configuration yourself instead, use one of: auto_mode=False for the classic tier (no proxy, cheapest), premium_proxy=True, or stealth_proxy=True — the two proxy flags override auto_mode on their own, so auto_mode=False is only needed for the classic tier. Setting render_js also switches to manual. |
| render_js | any | Whether to use headless-browser rendering. Omit to use the API default (true). Setting this explicitly switches the request to manual configuration (disables auto_mode). |
| session_id | any | Integer 0–10000000 to reuse an IP for up to 5 minutes. |
| ai_selector | string | CSS selector to focus AI extraction on part of the page. |
| js_scenario | string | Stringified JSON object of browser interaction instructions. |
| country_code | string | ISO 3166-1 alpha-2 country code (e.g. "fr", "us") to route the request through an IP in that country. Only takes effect when premium_proxy or stealth_proxy is True. |
| wait_browser | string | domcontentloaded (default), load, networkidle0, networkidle2. |
| window_width | integer | Viewport width (default 1920). |
| custom_google | boolean | Set to True if the url is a google domain in the following format: <subdomain>.google.<top-level-domain> (Example: translate.google.com, mail.google.com, www.google.co.in etc) |
| premium_proxy | boolean | Manual option: use a premium proxy (middle tier of classic/premium/stealth). Setting this disables auto_mode. |
| stealth_proxy | boolean | Manual option: use a stealth proxy (strongest tier of classic/premium/stealth). Setting this disables auto_mode. |
| window_height | integer | Viewport height (default 1080). |
| block_resources | boolean | Block images/CSS to speed up rendering. |
| return_page_text | boolean | Whether to return the page content in Text format. |
| return_page_markdown | boolean | Whether to return the page content in Markdown format. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the page to scrape."
},
"wait": {
"type": "integer",
"default": 0,
"description": "Milliseconds to wait after page load (0–35000)."
},
"device": {
"type": "string",
"default": "desktop",
"description": "desktop (default) or mobile."
},
"cookies": {
"type": "string",
"default": "",
"description": "Semicolon-separated cookies to send to the target."
},
"timeout": {
"type": "integer",
"default": 140000,
"description": "Request timeout in milliseconds (1000–140000, default 140000)."
},
"ai_query": {
"type": "string",
"default": "",
"description": "Natural-language question for AI extraction."
},
"max_cost": {
"type": "integer",
"default": 0,
"description": "Optional credit ceiling for auto_mode (integer >= 1). The request\nwill not escalate to a configuration costing more than this many credits.\n0 means no ceiling. Ignored unless auto_mode is True."
},
"wait_for": {
"type": "string",
"default": "",
"description": "CSS or XPath selector to wait for before returning."
},
"auto_mode": {
"type": "boolean",
"default": true,
"description": "On by default — ScrapingBee automatically picks the cheapest\nconfiguration that successfully fetches the page, escalating proxy\nstrength only as needed (you are charged only for the winning\nconfig). To choose a configuration yourself instead, use one of:\nauto_mode=False for the classic tier (no proxy, cheapest),\npremium_proxy=True, or stealth_proxy=True — the two proxy flags\noverride auto_mode on their own, so auto_mode=False is only needed\nfor the classic tier. Setting render_js also switches to manual."
},
"render_js": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether to use headless-browser rendering.\nOmit to use the API default (true). Setting this explicitly\nswitches the request to manual configuration (disables auto_mode)."
},
"session_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Integer 0–10000000 to reuse an IP for up to 5 minutes."
},
"ai_selector": {
"type": "string",
"default": "",
"description": "CSS selector to focus AI extraction on part of the page."
},
"js_scenario": {
"type": "string",
"default": "",
"description": "Stringified JSON object of browser interaction instructions."
},
"country_code": {
"type": "string",
"default": "",
"description": "ISO 3166-1 alpha-2 country code (e.g. \"fr\", \"us\") to\nroute the request through an IP in that country. Only takes effect\nwhen premium_proxy or stealth_proxy is True."
},
"wait_browser": {
"type": "string",
"default": "domcontentloaded",
"description": "domcontentloaded (default), load, networkidle0, networkidle2."
},
"window_width": {
"type": "integer",
"default": 1920,
"description": "Viewport width (default 1920)."
},
"custom_google": {
"type": "boolean",
"default": false,
"description": "Set to True if the url is a google domain in the following\nformat: <subdomain>.google.<top-level-domain>\n(Example: translate.google.com, mail.google.com, www.google.co.in etc)"
},
"premium_proxy": {
"type": "boolean",
"default": false,
"description": "Manual option: use a premium proxy (middle tier of\nclassic/premium/stealth). Setting this disables auto_mode."
},
"stealth_proxy": {
"type": "boolean",
"default": false,
"description": "Manual option: use a stealth proxy (strongest tier of\nclassic/premium/stealth). Setting this disables auto_mode."
},
"window_height": {
"type": "integer",
"default": 1080,
"description": "Viewport height (default 1080)."
},
"block_resources": {
"type": "boolean",
"default": true,
"description": "Block images/CSS to speed up rendering."
},
"return_page_text": {
"type": "boolean",
"default": false,
"description": "Whether to return the page content in Text format."
},
"return_page_markdown": {
"type": "boolean",
"default": true,
"description": "Whether to return the page content in Markdown format."
}
},
"additionalProperties": false
}| js_scenario |
| string |
| Stringified JSON object of browser interaction instructions. |
| country_code | string | ISO 3166-1 alpha-2 country code (e.g. "fr", "us") to route the request through an IP in that country. Only takes effect when premium_proxy or stealth_proxy is True. |
| wait_browser | string | domcontentloaded (default), load, networkidle0, networkidle2. |
| window_width | integer | Viewport width (default 1920). |
| custom_google | boolean | Set to True if the url is a google domain in the following format: <subdomain>.google.<top-level-domain> (Example: translate.google.com, mail.google.com, www.google.co.in etc) |
| json_response | boolean | Deprecated, removed in Version 3. Return the full JSON envelope (page content plus the base64 image under its "screenshot" key) instead of the raw image. |
| premium_proxy | boolean | Whether to use a premium proxy for the request. Use it only if you are getting blocked by the website, that is when you get a 500 status code. |
| stealth_proxy | boolean | Whether to use a stealth proxy for the request. Use it only if you are getting blocked by the website while using premium_proxy, that is when you get a 500 status code. |
| window_height | integer | Viewport height (default 1080). |
| block_resources | boolean | Block images/CSS to speed up rendering. |
| screenshot_selector | string | A CSS selector to take a screenshot of a specific element. |
| screenshot_full_page | boolean | Whether to take a screenshot of the full page or just the viewport. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the page to scrape."
},
"wait": {
"type": "integer",
"default": 0,
"description": "Milliseconds to wait after page load (0–35000)."
},
"device": {
"type": "string",
"default": "desktop",
"description": "desktop (default) or mobile."
},
"cookies": {
"type": "string",
"default": "",
"description": "Semicolon-separated cookies to send to the target."
},
"timeout": {
"type": "integer",
"default": 140000,
"description": "Request timeout in milliseconds (1000–140000, default 140000)."
},
"wait_for": {
"type": "string",
"default": "",
"description": "CSS or XPath selector to wait for before returning."
},
"render_js": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether to use headless-browser rendering."
},
"session_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Integer 0–10000000 to reuse an IP for up to 5 minutes."
},
"js_scenario": {
"type": "string",
"default": "",
"description": "Stringified JSON object of browser interaction instructions."
},
"country_code": {
"type": "string",
"default": "",
"description": "ISO 3166-1 alpha-2 country code (e.g. \"fr\", \"us\") to\nroute the request through an IP in that country. Only takes effect\nwhen premium_proxy or stealth_proxy is True."
},
"wait_browser": {
"type": "string",
"default": "domcontentloaded",
"description": "domcontentloaded (default), load, networkidle0, networkidle2."
},
"window_width": {
"type": "integer",
"default": 1920,
"description": "Viewport width (default 1920)."
},
"custom_google": {
"type": "boolean",
"default": false,
"description": "Set to True if the url is a google domain in the following\nformat: <subdomain>.google.<top-level-domain>\n(Example: translate.google.com, mail.google.com, www.google.co.in etc)"
},
"json_response": {
"type": "boolean",
"default": false,
"description": "Deprecated, removed in Version 3. Return the full JSON\nenvelope (page content plus the base64 image under its\n\"screenshot\" key) instead of the raw image."
},
"premium_proxy": {
"type": "boolean",
"default": false,
"description": "Whether to use a premium proxy for the request.\nUse it only if you are getting blocked by the website,\nthat is when you get a 500 status code."
},
"stealth_proxy": {
"type": "boolean",
"default": false,
"description": "Whether to use a stealth proxy for the request.\nUse it only if you are getting blocked by the website\nwhile using premium_proxy, that is when you get a 500 status code."
},
"window_height": {
"type": "integer",
"default": 1080,
"description": "Viewport height (default 1080)."
},
"block_resources": {
"type": "boolean",
"default": false,
"description": "Block images/CSS to speed up rendering."
},
"screenshot_selector": {
"type": "string",
"default": "",
"description": "A CSS selector to take a screenshot of a specific element."
},
"screenshot_full_page": {
"type": "boolean",
"default": false,
"description": "Whether to take a screenshot of the full page\nor just the viewport."
}
},
"additionalProperties": false
}| Whether to use a light request or not. |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"tag": {
"type": "string",
"default": "",
"description": "Response-header label only."
},
"device": {
"type": "string",
"default": "desktop",
"description": "The device to use for the request (desktop, mobile, tablet)."
},
"domain": {
"type": "string",
"default": "",
"description": "The domain to use for the search\n(Example: com, ca, com.mx, etc.) for localization."
},
"add_html": {
"type": "boolean",
"default": false,
"description": "Whether to return the HTML along with the product details."
},
"store_id": {
"type": "string",
"default": "",
"description": "Specific Walmart store ID for localization."
},
"product_id": {
"type": "string",
"description": "The unique identifier for the Walmart product."
},
"screenshot": {
"type": "boolean",
"default": false,
"description": "Force a browser screenshot (returns base64 image)."
},
"delivery_zip": {
"type": "string",
"default": "",
"description": "The zip code to use for delivery localization."
},
"light_request": {
"type": "boolean",
"default": true,
"description": "Whether to use a light request or not."
}
},
"additionalProperties": false
}| The minimum price to use for the search. |
| screenshot | boolean | Force a browser screenshot (returns base64 image). |
| start_page | integer | The page number to return (default 1). |
| delivery_zip | string | The zip code to use for delivery localization. |
| light_request | boolean | Whether to use a light request or not. |
| fulfillment_type | string | The fulfillment type to use for the search (in_store). |
| fulfillment_speed | string | The fulfillment speed to use for the search (today, tomorrow, 2_days, anytime). |
{
"type": "object",
"required": [
"query"
],
"properties": {
"tag": {
"type": "string",
"default": "",
"description": "Response-header label only."
},
"query": {
"type": "string",
"description": "The search query to perform."
},
"device": {
"type": "string",
"default": "desktop",
"description": "The device to use for the search (desktop, mobile, tablet)."
},
"domain": {
"type": "string",
"default": "",
"description": "The domain to use for the search\n(Example: com, ca, com.mx, etc.) for localization."
},
"sort_by": {
"type": "string",
"default": "best_match",
"description": "The sort order to use for the search\n(best_match, price_low, price_high, best_seller)."
},
"add_html": {
"type": "boolean",
"default": false,
"description": "Whether to return the HTML along with the search results."
},
"store_id": {
"type": "string",
"default": "",
"description": "Specific Walmart store ID for localization."
},
"max_price": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "The maximum price to use for the search."
},
"min_price": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "The minimum price to use for the search."
},
"screenshot": {
"type": "boolean",
"default": false,
"description": "Force a browser screenshot (returns base64 image)."
},
"start_page": {
"type": "integer",
"default": 1,
"description": "The page number to return (default 1)."
},
"delivery_zip": {
"type": "string",
"default": "",
"description": "The zip code to use for delivery localization."
},
"light_request": {
"type": "boolean",
"default": true,
"description": "Whether to use a light request or not."
},
"fulfillment_type": {
"type": "string",
"default": "",
"description": "The fulfillment type to use for the search (in_store)."
},
"fulfillment_speed": {
"type": "string",
"default": "",
"description": "The fulfillment speed to use for the search\n(today, tomorrow, 2_days, anytime)."
}
},
"additionalProperties": false
}| duration | string | Filter by duration: '<4' (short), '4-20' (medium), '>20' (long). |
| location | boolean | Return only videos with location metadata. |
| purchased | boolean | Return only purchased movies. |
| subtitles | boolean | Return only videos with subtitles/captions. |
| result_type | string | Filter by type: 'video', 'channel', 'playlist', 'movie'. |
| upload_date | string | Filter by date: 'today', 'last_hour', 'this_week', 'this_month', 'this_year'. |
| creative_commons | boolean | Return only videos with Creative Commons license. |
{
"type": "object",
"required": [
"search"
],
"properties": {
"hd": {
"type": "boolean",
"default": false,
"description": "Return only HD videos."
},
"hdr": {
"type": "boolean",
"default": false,
"description": "Return only HDR videos."
},
"tag": {
"type": "string",
"default": "",
"description": "Response-header label only."
},
"live": {
"type": "boolean",
"default": false,
"description": "Return only live streams."
},
"is_3d": {
"type": "boolean",
"default": false,
"description": "Return only 3D videos."
},
"is_4k": {
"type": "boolean",
"default": false,
"description": "Return only 4K videos."
},
"vr180": {
"type": "boolean",
"default": false,
"description": "Return only VR180 videos."
},
"is_360": {
"type": "boolean",
"default": false,
"description": "Return only 360-degree videos."
},
"search": {
"type": "string",
"description": "The search query."
},
"sort_by": {
"type": "string",
"default": "relevance",
"description": "Sort order:\n'relevance' (default), 'rating', 'view_count', 'upload_date'."
},
"duration": {
"type": "string",
"default": "",
"description": "Filter by duration: '<4' (short), '4-20' (medium), '>20' (long)."
},
"location": {
"type": "boolean",
"default": false,
"description": "Return only videos with location metadata."
},
"purchased": {
"type": "boolean",
"default": false,
"description": "Return only purchased movies."
},
"subtitles": {
"type": "boolean",
"default": false,
"description": "Return only videos with subtitles/captions."
},
"result_type": {
"type": "string",
"default": "",
"description": "Filter by type: 'video', 'channel', 'playlist', 'movie'."
},
"upload_date": {
"type": "string",
"default": "",
"description": "Filter by date:\n'today', 'last_hour', 'this_week', 'this_month', 'this_year'."
},
"creative_commons": {
"type": "boolean",
"default": false,
"description": "Return only videos with Creative Commons license."
}
},
"additionalProperties": false
}