Fetch any page's HTML or AI-parsed JSON, Google results, or 100+ site plugins via ScrapeUnblocker
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Your ScrapeUnblocker API key (get one at https://app.scrapeunblocker.com). Optional - you can sign in with OAuth instead.
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.
Fetches a single Amazon product and returns it as JSON: `title`, `brand`, `price` + `currency`, `listPrice` and `savingsPercent`, `availability` (+ a boolean `inStock`), `rating`, `reviewCount`, `seller`, `features` (bullet points), `categories` (breadcrumb) and `images`. Identify the product with either `asin` (plus `marketplace`) or a full product `url`. Amazon prices each page in the currency of the delivery location it infers from the visitor's IP address, so `proxy_country` defaults to the marketplace's home country (amazon.com -> US) and the call is routed through ISP proxies in that country. The proxy that served the request is reported as `exitCountry` (its country) and `exitProvider` (its type: `isp`, `residential` or `datacenter`). Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
Full Amazon product url, e.g. 'https://www.amazon.de/dp/B0BSHF7WHW'. The ASIN and marketplace are read from it, so `asin`/`marketplace` are not needed when a url is given.
Amazon product id (10-char ASIN, e.g. 'B0BSHF7WHW'; books use their ISBN-10). Give either `asin` (with `marketplace`) or a full `url`.
Regional Amazon site the ASIN belongs to. Prices and currency differ per marketplace. One of: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.se, amazon.pl, amazon.com.be, amazon.com.tr, amazon.ca, amazon.com.mx, amazon.com.br, amazon.co.jp, amazon.in, amazon.ae, amazon.sa, amazon.sg, amazon.com.au. Default: amazon.com.
Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the marketplace's home country so the price comes back in the expected currency.
Fetches a single Amazon product and returns it as JSON: `title`, `brand`, `price` + `currency`, `listPrice` and `savingsPercent`, `availability` (+ a boolean `inStock`), `rating`, `reviewCount`, `seller`, `features` (bullet points), `categories` (breadcrumb) and `images`. Identify the product with either `asin` (plus `marketplace`) or a full product `url`. Amazon prices each page in the currency of the delivery location it infers from the visitor's IP address, so `proxy_country` defaults to the marketplace's home country (amazon.com -> US) and the call is routed through ISP proxies in that country. The proxy that served the request is reported as `exitCountry` (its country) and `exitProvider` (its type: `isp`, `residential` or `datacenter`). Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| url | string | Full Amazon product url, e.g. 'https://www.amazon.de/dp/B0BSHF7WHW'. The ASIN and marketplace are read from it, so `asin`/`marketplace` are not needed when a url is given. |
| asin | string | Amazon product id (10-char ASIN, e.g. 'B0BSHF7WHW'; books use their ISBN-10). Give either `asin` (with `marketplace`) or a full `url`. |
| marketplace | string | Regional Amazon site the ASIN belongs to. Prices and currency differ per marketplace. One of: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.se, amazon.pl, amazon.com.be, amazon.com.tr, amazon.ca, amazon.com.mx, amazon.com.br, amazon.co.jp, amazon.in, amazon.ae, amazon.sa, amazon.sg, amazon.com.au. Default: amazon.com. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the marketplace's home country so the price comes back in the expected currency. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string",
"description": "Full Amazon product url, e.g. 'https://www.amazon.de/dp/B0BSHF7WHW'. The ASIN and marketplace are read from it, so `asin`/`marketplace` are not needed when a url is given."
},
"asin": {
"type": "string",
"description": "Amazon product id (10-char ASIN, e.g. 'B0BSHF7WHW'; books use their ISBN-10). Give either `asin` (with `marketplace`) or a full `url`."
},
"marketplace": {
"type": "string",
"description": "Regional Amazon site the ASIN belongs to. Prices and currency differ per marketplace. One of: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.se, amazon.pl, amazon.com.be, amazon.com.tr, amazon.ca, amazon.com.mx, amazon.com.br, amazon.co.jp, amazon.in, amazon.ae, amazon.sa, amazon.sg, amazon.com.au. Default: amazon.com."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the marketplace's home country so the price comes back in the expected currency."
}
},
"additionalProperties": false
}Returns the review data an Amazon product page shows to a signed-out visitor, as JSON: the overall `rating`, total `reviewCount` (global ratings), the 5..1-star `histogram` (percent per star), the AI `customersSay` summary (overall text plus per-aspect `sentiment`, `mentions`, `positive`, `negative`, `summary` and the quoted review `excerpts` Amazon shows for the aspect) and the top `reviews` (each with `id`, `url`, `author`, `rating`, `title`, `body`, `date`, `country`, `fromOtherCountry`, `verified`, `helpfulVotes`, `variant` and `images`). Identify the product with `asin` (plus `marketplace`) or a product `url`. Scope: Amazon only shows its full review list to signed-in customers, so this endpoint returns the public slice on the product page - typically 5 to 13 top reviews, local ones first and then reviews from other countries - not a complete review export. When Amazon hides the top reviews behind a sign-in prompt (common on amazon.com), `reviewsGated` is `true` and `reviews` is empty; the rating, histogram and customers-say data, including its review excerpts, are still returned. Every field is always present and is `null` when the page does not show it. `proxy_country` defaults to the marketplace's home country; the proxy that served the request is reported as `exitCountry` (its country) and `exitProvider` (its type: `isp`, `residential` or `datacenter`). Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| url | string | Full Amazon product url, e.g. 'https://www.amazon.de/dp/B0D1XD1ZV3'. The ASIN and marketplace are read from it, so `asin`/`marketplace` are not needed when a url is given. |
| asin | string | Amazon product id (10-char ASIN, e.g. 'B07PXGQC1Q'; books use their ISBN-10). Give either `asin` (with `marketplace`) or a product `url`. |
Searches any regional Amazon marketplace for `keyword` and returns the result cards as JSON: `asin`, `title`, `price` + `currency`, `listPrice`, `rating`, `reviewCount`, a clean product `url`, `image`, and the `sponsored` / `prime` flags. Filter with `min_price` / `max_price`, order with `sort` (featured, price_asc, price_desc, avg_review, newest), and page with `page`. Fetch each result's full detail (all fields above plus features and images) through `POST /marketplace/amazon-product`. Some cards show no price on the search page (Amazon defers it, or the item has buying options); those return `price: null` and are kept in the list rather than dropped. `proxy_country` defaults to the marketplace's home country so prices are in the expected currency. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| page | integer | 1-based page number. Default: 1. |
| sort | string | Result order: featured, price_asc, price_desc, avg_review, newest. Default 'featured'. Default: featured. |
| keyword* | string | Search phrase, e.g. 'wireless headphones' or a brand + model. |
| max_price | number | Highest price to include, in the marketplace's currency. |
| min_price | number | Lowest price to include, in the marketplace's currency. |
Searches Booking.com for `location` and returns the properties as JSON: `name`, `price` (with `checkin`/`checkout`), `reviewScore`, `address`, coordinates, `image` and a hotel `url`. Set `adults`, `children`, `rooms` and `currency`, and collect up to `max_results` across pages. Prices only appear when check-in/check-out dates are given. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| rooms | integer | Number of rooms. |
| adults | integer | Number of adults. |
| checkin | string | Check-in YYYY-MM-DD (needed for prices). |
| checkout | string | Check-out YYYY-MM-DD. |
| children | integer | Number of children. |
| currency | string | Price currency: USD, EUR, GBP, AUD, CAD, CHF, JPY, CNY, INR, BRL, MXN, PLN, SEK, NOK, DKK, AED, SGD, ZAR, TRY, RUB. Default: USD. |
| location* | string | City or place to search, e.g. 'Austin' or 'Paris'. |
| max_results | integer |
Load a web page in a real browser through the ScrapeUnblocker API (https://docs.scrapeunblocker.com), run ordered browser actions on it (click, type into a search box, choose an option, press a key, scroll, wait), then return the resulting HTML. Discover selectors with list_elements first. Steps act on the website and are NOT idempotent - they run once per call and are not retried; never use them to buy, post, delete or change anything unless the user asked for exactly that. A failed step returns which step failed plus the page HTML at that point. Billed as one request.
| Argument | Type | Description |
|---|---|---|
| url* | string | The absolute URL to open (http/https). |
| steps* | array | Ordered browser actions to run after the page loads (wait_for, wait_for_text, wait, click, type [human-like], select, press_key, scroll), then the HTML is captured. |
| wait_value | string | The selector/expression paired with wait_method. |
| wait_method | string | Optional render-wait before the steps: 'css' selector or 'js' expression. |
| proxy_country | string | Optional ISO country code to route through, e.g. 'US'. |
| sleep_seconds | number | Extra seconds to wait after load. |
Searches any regional eBay marketplace for `keyword` and returns the listings as JSON: `title`, `price` + `currency`, `condition` (with a normalised `conditionCode`), `seller` (username, feedback percentage and score), `shippingCost`, `sold`, `watchers`, `bids`, `image` and a clean item `url`. Filter with `condition`, `listing_type`, `min_price`/`max_price`, `free_shipping`, `seller` or `category`, sort with `sort`, and page with `page`/`page_size` (60, 120 or 240 per page). Set `marketplace` to search a specific site - prices, currency and availability differ between ebay.com, ebay.de, ebay.co.uk and the rest. When eBay finds no exact match it still serves a full page of its own loosely-related suggestions. That case is reported honestly: `exactMatches` is `false` and a `notice` explains it, so those listings are never mistaken for real matches. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| page | integer | 1-based page number. Default: 1. |
| sort | string | Ordering: best_match, newly_listed, ending_soon, price_asc, price_desc. Default 'best_match'. Default: best_match. |
| seller | string | Restrict the search to one seller's username. |
| keyword* | string | Search phrase, e.g. 'iphone 13' or a part number like '1K0953519A'. |
| category | string | eBay category id to search inside, e.g. '131090' for vehicle parts and accessories. |
Fetch the fully rendered HTML of any web page through the ScrapeUnblocker API (https://docs.scrapeunblocker.com), bypassing anti-bot protection (Cloudflare, DataDome, PerimeterX, Akamai, Shape). Use when a normal fetch is blocked (403/429, captcha) or the page needs a real browser. Returns raw HTML. To read or summarise a page, fetch_markdown is much smaller. To click, type or scroll before capture, use browse_page.
| Argument | Type | Description |
|---|---|---|
| url* | string | The absolute URL to fetch (http/https). |
| wait_value | string | The selector/expression paired with wait_method. |
| wait_method | string | Optional render-wait: 'css' selector or 'js' expression. |
| proxy_country | string | Optional ISO country code to route through, e.g. 'US'. |
| sleep_seconds | number | Extra seconds to wait after load. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The absolute URL to fetch (http/https)."
},
"wait_value": {
"type": "string",
"description": "The selector/expression paired with wait_method."
},
"wait_method": {
"enum": [
"css",
"js"
],
"type": "string",
"description": "Optional render-wait: 'css' selector or 'js' expression."
},
"proxy_country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Optional ISO country code to route through, e.g. 'US'."
},
"sleep_seconds": {
"type": "number",
"description": "Extra seconds to wait after load.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Fetch a web page in a real browser through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return it as clean Markdown: the main content with absolute links, without scripts, styles, navigation or footer. Use it to read, quote or summarise a page; it is usually 2-25% the size of the HTML. Works on JavaScript-rendered pages and on pages that refuse ordinary fetches (403/429, captcha). Use fetch_html instead when you need the markup, selectors or browser steps. Billed as one request.
| Argument | Type | Description |
|---|---|---|
| url* | string | The absolute URL to read (http/https). |
| wait_value | string | The selector/expression paired with wait_method. |
| wait_method | string | Optional render-wait: 'css' selector or 'js' expression. |
| proxy_country | string | Optional ISO country code to route through, e.g. 'US'. |
| sleep_seconds | number | Extra seconds to wait after load. |
| main_content_only | boolean | Drop navigation, page header, footer and sidebars (default true). False keeps the whole page. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The absolute URL to read (http/https)."
},
"wait_value": {
"type": "string",
"description": "The selector/expression paired with wait_method."
},
"wait_method": {
"enum": [
"css",
"js"
],
"type": "string",
"description": "Optional render-wait: 'css' selector or 'js' expression."
},
"proxy_country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Optional ISO country code to route through, e.g. 'US'."
},
"sleep_seconds": {
"type": "number",
"description": "Extra seconds to wait after load.",
"exclusiveMinimum": 0
},
"main_content_only": {
"type": "boolean",
"description": "Drop navigation, page header, footer and sidebars (default true). False keeps the whole page."
}
},
"additionalProperties": false
}Fetch a web page through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return AI-parsed structured JSON instead of raw HTML (product details, article content, listings). If the page holds no structured data, the result says so and returns the rendered HTML instead (billed like fetch_html).
| Argument | Type | Description |
|---|---|---|
| url* | string | The absolute URL to fetch and parse. |
| proxy_country | string | Optional ISO country code, e.g. 'US'. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The absolute URL to fetch and parse."
},
"proxy_country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Optional ISO country code, e.g. 'US'."
}
},
"additionalProperties": false
}Runs the Google Images vertical (`udm=2`) for `q` and returns the image results as JSON. Every result carries `imageUrl` (the full-resolution origin image, not a Google thumbnail; for an image found inside a document such as a PDF, which has no URL of its own, it is Google's thumbnail and `sourcePageUrl` is the document), `sourceDomain` and `googleImagesUrl` (the Google Images viewer link, i.e. the `/imgres?...` URL a browser copies from the result tile), plus `sourcePageUrl`, `title`, `sourceName`, `thumbnailUrl`, `width`, `height` and `fileSize` where available. Set `proxy_country` to target a market: the Google market (`gl`) follows it automatically, and `gl` is only an optional override. `pages` fetches up to 5 result pages of ~100 each; every page fetched is billed as one request. `time_range` (past hour/day/week/month/year) or `date_from`/`date_to` limit the results to images Google found in that period, so a repeated scan returns only what is new. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| q* | string | Image search term, e.g. 'eiffel tower'. |
| gl | string | Optional Google market override (ISO-2, e.g. 'us', 'de'). Leave empty and the market follows `proxy_country` ('us' when neither is set). The market, not the proxy country, is what decides which images rank. |
| pages | integer | How many Google Images result pages to fetch (1-5, ~100 results each; Google stops at ~400-500 per query). Each page fetched is billed as one request. Default: 1. |
| date_to | string |
Runs a Google Local (`tbm=lcl`) search for `keyword` and returns up to ~20 businesses as JSON: `name`, `rating`, `reviews`, `price`, `category`, `address`, `phone`, `website`, `hours`, and a top `review_snippet`. `phone` and `website` are null when Google does not render them for that result - service businesses (plumbers, contractors) almost always carry both. Local results are location-sensitive - set `proxy_country` (and optionally `gl`/`hl`) to target a market. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| gl | string | Google country of search, ISO-2 lowercase, e.g. 'us', 'de'. |
| hl | string | Google UI language, e.g. 'en', 'de', 'fr'. Default: en. |
| keyword* | string | Search phrase, e.g. 'coffee shops in chicago' or 'plumbers near SW1A'. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'GB'). Local results are location-sensitive, so pick the country you want results for. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword"
],
"properties": {
"gl": {
"type": "string",
"description": "Google country of search, ISO-2 lowercase, e.g. 'us', 'de'."
},
"hl": {
"type": "string",
"description": "Google UI language, e.g. 'en', 'de', 'fr'. Default: en."
},
"keyword": {
"type": "string",
"description": "Search phrase, e.g. 'coffee shops in chicago' or 'plumbers near SW1A'."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'GB'). Local results are location-sensitive, so pick the country you want results for."
}
},
"additionalProperties": false
}Run a Google search through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return organic results as JSON.
| Argument | Type | Description |
|---|---|---|
| keyword* | string | The search query. |
| proxy_country | string | Optional ISO country code to search from, e.g. 'US'. |
| pages_to_check | integer | How many result pages to collect (default 1). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword"
],
"properties": {
"keyword": {
"type": "string",
"minLength": 1,
"description": "The search query."
},
"proxy_country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Optional ISO country code to search from, e.g. 'US'."
},
"pages_to_check": {
"type": "integer",
"maximum": 10,
"description": "How many result pages to collect (default 1).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Runs the Google Shopping vertical (`udm=28`) for `q` and returns the product cards as JSON: `title`, `price`, `currency`, `currencyCode`, `originalPrice`, `discount`, `merchant`, `rating`, `reviewCount` and Google's own ids for the product (`productId`, `catalogId`, `offerId` - stable across searches, for tracking one product). Set `proxy_country`/`gl` to target a market (prices/merchants are region-specific) and `min_price`/`max_price` to filter. One render returns the first page of products (v1). Note: Google Shopping exposes no per-product URL, so `url` is omitted and `image` is best-effort. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| q* | string | Product search term, e.g. 'wireless headphones'. |
| gl | string | Market of search, ISO-2, e.g. 'us', 'de'. Sets prices/merchants. Default: us. |
| max_price | integer | Maximum price filter (whole units, gl currency). |
| min_price | integer | Minimum price filter (whole units, gl currency). |
| max_results | integer | How many products to return (v1: first page). Default: 60. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Prices/merchants are market-specific. |
Searches Indeed for `query` in `location` and returns the job listings as JSON: `title`, `company`, `location`, `salary` (with parsed `min`/`max`), `jobTypes`, `companyRating`, a `snippet`, `datePosted` (YYYY-MM-DD), `sponsored` (Indeed's paid placement) and a clean job `url`. Filter with `country`, `job_type`, `days` (posting age), `remote`, sort with `sort` (`date` returns the collected jobs newest first, sponsored ones included), and collect up to `max_results` across pages. Indeed sits behind Cloudflare + PerimeterX - handled for you. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| days | integer | Max posting age in days: 1, 3, 7, 14. |
| sort | string | Ordering: relevance, date. Default: relevance. |
| query* | string | What to search, e.g. 'software engineer' or 'nurse'. |
| start | integer | 0-based result offset to start from. Default: 0. |
| radius | integer | Search radius in miles/km around the location. |
| remote | boolean | Only remote jobs. Default: false. |
| country | string | Indeed country site: us, uk, ca, au, in, ie, de, fr, nl, es, it, at, ch, be, pl, se, sg, za, nz, mx. Default: us. |
Fetch a page through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return its interactive elements (buttons, inputs, selects, links, forms), each with a ready-to-use selector, as JSON {url, count, elements:[...]} instead of raw HTML. Use it to discover what to target, then drive the page with the `steps` param of browse_page.
| Argument | Type | Description |
|---|---|---|
| url* | string | The absolute URL to load and inspect (http/https). |
| wait_value | string | The selector/expression paired with wait_method. |
| wait_method | string | Optional render-wait: 'css' selector or 'js' expression. |
| proxy_country | string | Optional ISO country code to route through, e.g. 'US'. |
| sleep_seconds | number | Extra seconds to wait after load before inspecting. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The absolute URL to load and inspect (http/https)."
},
"wait_value": {
"type": "string",
"description": "The selector/expression paired with wait_method."
},
"wait_method": {
"enum": [
"css",
"js"
],
"type": "string",
"description": "Optional render-wait: 'css' selector or 'js' expression."
},
"proxy_country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Optional ISO country code to route through, e.g. 'US'."
},
"sleep_seconds": {
"type": "number",
"description": "Extra seconds to wait after load before inspecting.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}List ScrapeUnblocker's ready-made site plugins: scrapers for specific sites that return clean structured JSON (Amazon, Walmart, Target, eBay, Zillow, Redfin, Booking.com, Airbnb, Indeed, Glassdoor, Google Trends / Shopping / Maps, YouTube, Spotify, App Store, Google Play, Trustpilot, Yelp, Ahrefs, Semrush and 100+ more). Check here before scraping a known site with fetch_html - a plugin returns the data already parsed. Without arguments it lists every plugin with its parameters (* = required); `category` or `search` narrow the list; `name` returns one plugin's full parameter docs. Free - it calls nothing.
| Argument | Type | Description |
|---|---|---|
| name | string | A plugin name, for its full parameter docs. |
| search | string | Only plugins whose name or description mentions this, e.g. 'zillow' or 'reviews'. |
| category | string | Only plugins in this category. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"name": {
"type": "string",
"description": "A plugin name, for its full parameter docs."
},
"search": {
"type": "string",
"description": "Only plugins whose name or description mentions this, e.g. 'zillow' or 'reviews'."
},
"category": {
"enum": [
"Travel",
"Google",
"Search engines",
"E-commerce",
"Classifieds & Resale",
"Groceries",
"Real estate",
"Vehicles",
"Jobs",
"Reviews & Companies",
"Local & Maps",
"Apps",
"Video & Music",
"SEO & Ads"
],
"type": "string",
"description": "Only plugins in this category."
}
},
"additionalProperties": false
}Returns the full data for one Google Maps place as JSON: `name`, `address` (+ `addressLines`), `phone`, `website`, `rating`, `categories`, `latitude`/`longitude`, `plusCode`, `hours` + `openNow`, `description`, `photo`, `cid`, `featureId`, `googleMapsUrl` and `relatedPlaces`. Identify the place with `place_id` (ChIJ...), a Maps `url`, or a raw `feature_id` (0xHEX:0xHEX). Location-neutral - the feature id resolves the place directly; `proxy_country` defaults to a US proxy to clear Google's consent wall. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| gl | string | Google country, ISO-2 lowercase, e.g. 'us'. Default: us. |
| hl | string | Google UI language, e.g. 'en', 'de', 'fr'. Default: en. |
| raw | boolean | Include the decoded place core array under `raw`. Default: false. |
| url | string | A Google Maps place URL (share link or /maps/place/... URL). The feature id or place_id is read out of it. |
| place_id | string | A Google place_id, e.g. 'ChIJN1t_tDeuEmsRUsoyG83frY4'. |
| feature_id | string | A Maps feature id '0xHEX:0xHEX', e.g. '0x47e66e2964e34e2d:0x8ddca9ee380ef7e0'. Fastest - no resolve step. |
Run one ScrapeUnblocker site plugin and return its JSON - e.g. a Target or Walmart search, a Zillow listing search, Google Trends for some keywords, an app's App Store reviews. Find the plugin and its parameters with list_plugins first. `params` uses the parameter names list_plugins shows (snake_case); a list value is fine where a parameter takes several. Each run is billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| name* | string | The plugin to run, as list_plugins names it. |
| params | object | The plugin's parameters, e.g. {"query": "coffee maker", "max_results": 20}. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"enum": [
"skyscanner_flights",
"skyscanner_hotels",
"skyscanner_carhire",
"booking_hotels",
"booking_reviews",
"airbnb_search",
"airbnb_room",
"airbnb_reviews",
"tripadvisor_list",
"tripadvisor_reviews",
"google_local",
"google_images",
"maps_place_details",
"google_trends",
"google_shopping",
"google_jobs",
"google_hotels",
"google_hotels_property",
"google_news",
"google_ads_transparency",
"google_ads_transparency_advertisers",
"bing_search",
"bing_images",
"duckduckgo_search",
"yahoo_search",
"yahoo_images",
"brave_search",
"brave_images",
"amazon_product",
"amazon_search",
"amazon_bestsellers",
"amazon_reviews",
"walmart_search",
"target_search",
"bestbuy_search",
"homedepot_search",
"etsy_search",
"shein_search",
"zalando_search",
"aliexpress_search",
"alibaba_search",
"alibaba_product",
"alibaba1688_search",
"alibaba1688_product",
"tiktok_shop_search",
"tiktok_shop_product",
"tiktok_shop_store",
"oopbuy_search",
"smyths_inventory",
"smyths_details",
"smyths_search",
"smyths_category",
"wish_search",
"wish_product",
"shopee_search",
"shopee_product",
"taobao_search",
"taobao_product",
"ebay_search",
"vinted_search",
"leboncoin_search",
"woolworths_search",
"woolworths_category",
"woolworths_specials",
"woolworths_product",
"coles_search",
"coles_category",
"coles_specials",
"coles_product",
"aldi_au_search",
"aldi_au_category",
"aldi_au_specials",
"aldi_au_product",
"zillow_search",
"zillow_detail",
"redfin_search",
"redfin_detail",
"rightmove_search",
"idealista_search",
"idealista_detail",
"immobilienscout24_search",
"mobile_de",
"autoscout24_search",
"indeed_jobs",
"glassdoor_jobs",
"glassdoor_reviews",
"glassdoor_salaries",
"naukri_jobs",
"wellfound_jobs",
"wellfound_job",
"wellfound_company",
"wellfound_company_search",
"career_site_jobs",
"upwork_jobs",
"trustpilot_reviews",
"g2_reviews",
"g2_search",
"capterra_reviews",
"capterra_search",
"product_hunt",
"crunchbase_company",
"crunchbase_search",
"yelp_search",
"yelp_business",
"yelp_reviews",
"naver_place_search",
"naver_place_details",
"google_play_app",
"google_play_search",
"app_store_app",
"app_store_search",
"app_store_reviews",
"youtube_channel",
"youtube_search",
"youtube_transcript",
"spotify_search",
"spotify_artist",
"spotify_album",
"spotify_track",
"spotify_playlist",
"similarweb_overview",
"ahrefs",
"semrush_overview",
"meta_ad_library"
],
"type": "string",
"description": "The plugin to run, as list_plugins names it."
},
"params": {
"type": "object",
"description": "The plugin's parameters, e.g. {\"query\": \"coffee maker\", \"max_results\": 20}.",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": [
"string",
"number"
]
}
}
]
}
}
},
"additionalProperties": false
}Search Google through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and read the top results in one call: returns Google's AI Overview when there is one, each of the first `results` pages (default 3, max 5) as Markdown, and the other organic results as title, URL and snippet. Use it to answer a question from the live web. Billed as one request for the search plus one per page read.
| Argument | Type | Description |
|---|---|---|
| keyword* | string | The search query. |
| results | integer | How many top results to read (default 3, max 5). |
| proxy_country | string | Optional ISO country code to search from and read the pages through, e.g. 'US'. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword"
],
"properties": {
"keyword": {
"type": "string",
"minLength": 1,
"description": "The search query."
},
"results": {
"type": "integer",
"maximum": 5,
"minimum": 1,
"description": "How many top results to read (default 3, max 5)."
},
"proxy_country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Optional ISO country code to search from and read the pages through, e.g. 'US'."
}
},
"additionalProperties": false
}Returns a company's Trustpilot profile and reviews as JSON. `company` is the reviewed domain (e.g. `www.nike.com`). The response has a `company` summary (`trustScore`, `totalReviews`, `ratingDistribution` 1-5, `categories`, `contact`) and a `reviews` array - each with `rating`, `title`, `text`, `verified`, `author` (name, country, review count), `reply` (the company's response) and dates. Page with `page`/`pages` (20 reviews per page), and filter with `stars`, `sort` (recency/relevancy), `language`, `date`, `search`, `verified` or `replies`. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| date | string | Only reviews from a recent window: last30days, last3months, last6months, last12months. Omit for all time. |
| page | integer | 1-based page to start from (20 reviews/page). Default: 1. |
| sort | string | Ordering: recency, relevancy. Default 'recency' (newest first). Default: recency. |
| pages | integer | How many consecutive pages to fetch from `page` onward (20 reviews each). Stops early at the last page. Default: 1. |
| stars | any | Only reviews with these star ratings (1, 2, 3, 4, 5). Repeatable, e.g. stars=4&stars=5. |
| search | string | Keyword to search within the company's reviews. |
Searches Walmart for `query` and returns the products as JSON: `name`, `price` and `wasPrice`, `rating`, `reviewCount`, `brand`, `seller`, `availability`, `image` and a product `url`. Sort with `sort`, filter with `min_price`/`max_price`, and collect up to `max_results` across pages. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| page | integer | 1-based page to start from (~40 per page). Default: 1. |
| sort | string | Ordering: best_match, price_low, price_high, best_seller, rating_high, new. Default: best_match. |
| query* | string | What to search, e.g. 'laptop' or 'coffee maker'. |
| max_price | integer | Highest price to include (USD). |
| min_price | integer | Lowest price to include (USD). |
| max_results | integer | How many products to collect across pages. Default: 40. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US. |
Searches YouTube for `query` and returns the results as JSON. For each video: `videoId`, `title`, `url`, `channel` (name/id/url), `publishedText`, `viewCount` (+ text), `lengthSeconds` (+ text), `thumbnails`, `descriptionSnippet`, `badges`, `verified` and `isLive`. Filter with `type` (video / channel / playlist / all) and `sort` (relevance / date / views / rating), and collect up to `max_results` across pages. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| sort | string | Ordering: relevance, rating, date, views. Default: relevance. |
| type | string | Result type: video, channel, playlist, movie, all. Default: video. |
| query* | string | Search terms. |
| max_results | integer | How many results to collect across pages (~20 per page). Default: 20. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"sort": {
"type": "string",
"description": "Ordering: relevance, rating, date, views. Default: relevance."
},
"type": {
"type": "string",
"description": "Result type: video, channel, playlist, movie, all. Default: video."
},
"query": {
"type": "string",
"description": "Search terms."
},
"max_results": {
"type": "integer",
"description": "How many results to collect across pages (~20 per page). Default: 20."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US."
}
},
"additionalProperties": false
}Returns a YouTube video's captions as JSON: timestamped `segments` (`start`, `dur`, `text`) and a joined `text`, plus `availableLanguages`, the picked `language`, `isAutoGenerated`, and the video's `title`, `author` and `lengthSeconds`. Pass a video id or any YouTube video URL; choose a caption language with `lang`. Ideal for LLM/RAG pipelines, subtitles and content analysis. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| lang | string | Preferred caption language code, e.g. 'en'. Omit for the default/first track. A prefix like 'en' matches 'en-US'. |
| video* | string | Video id (dQw4w9WgXcQ) or any YouTube video URL. |
| format | string | Output shape: text, segments. 'segments' returns timestamps; 'text' returns only the joined plaintext. Default: segments. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE') for the watch page. Defaults to US. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"video"
],
"properties": {
"lang": {
"type": "string",
"description": "Preferred caption language code, e.g. 'en'. Omit for the default/first track. A prefix like 'en' matches 'en-US'."
},
"video": {
"type": "string",
"description": "Video id (dQw4w9WgXcQ) or any YouTube video URL."
},
"format": {
"type": "string",
"description": "Output shape: text, segments. 'segments' returns timestamps; 'text' returns only the joined plaintext. Default: segments."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE') for the watch page. Defaults to US."
}
},
"additionalProperties": false
}Searches Zillow for `location` (a city/state or ZIP) and returns the listings as JSON: `price`, `beds`, `baths`, `area`, `address`, `homeType`, `zestimate`, `rentZestimate`, `daysOnZillow`, coordinates, broker and a clean `url`. Filter with `status` (for_sale / for_rent / sold), `min_price`/`max_price`, `beds`, `baths` and `home_type`, sort with `sort`, and collect up to `max_results` across pages. Rental results can include apartment buildings (`isBuilding: true`): they have no `zpid` and carry `lotId`, `buildingName`, a rent range (`price` to `maxPrice`), `units` and `availableUnits` instead. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Argument | Type | Description |
|---|---|---|
| beds | integer | Minimum bedrooms. |
| page | integer | 1-based results page to start from. Default: 1. |
| sort | string | Ordering: newest, price_asc, price_desc, relevant, beds, sqft, lot. Default: newest. |
| baths | integer | Minimum bathrooms. |
| status | string | Listing status: for_sale, for_rent, sold. Default: for_sale. |
| location* | string | City/state or ZIP to search, e.g. 'Austin, TX' or '78704'. |
| home_type |
| marketplace |
| string |
| Regional Amazon site the ASIN belongs to. Reviews are read from that store. One of: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.se, amazon.pl, amazon.com.be, amazon.com.tr, amazon.ca, amazon.com.mx, amazon.com.br, amazon.co.jp, amazon.in, amazon.ae, amazon.sa, amazon.sg, amazon.com.au. Default: amazon.com. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the marketplace's home country. The reviews come from the marketplace itself, so any proxy country returns the same reviews. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string",
"description": "Full Amazon product url, e.g. 'https://www.amazon.de/dp/B0D1XD1ZV3'. The ASIN and marketplace are read from it, so `asin`/`marketplace` are not needed when a url is given."
},
"asin": {
"type": "string",
"description": "Amazon product id (10-char ASIN, e.g. 'B07PXGQC1Q'; books use their ISBN-10). Give either `asin` (with `marketplace`) or a product `url`."
},
"marketplace": {
"type": "string",
"description": "Regional Amazon site the ASIN belongs to. Reviews are read from that store. One of: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.se, amazon.pl, amazon.com.be, amazon.com.tr, amazon.ca, amazon.com.mx, amazon.com.br, amazon.co.jp, amazon.in, amazon.ae, amazon.sa, amazon.sg, amazon.com.au. Default: amazon.com."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the marketplace's home country. The reviews come from the marketplace itself, so any proxy country returns the same reviews."
}
},
"additionalProperties": false
}| marketplace |
| string |
| Regional Amazon site to search. Prices and currency differ per marketplace. One of: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.se, amazon.pl, amazon.com.be, amazon.com.tr, amazon.ca, amazon.com.mx, amazon.com.br, amazon.co.jp, amazon.in, amazon.ae, amazon.sa, amazon.sg, amazon.com.au. Default: amazon.com. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the marketplace's home country so prices come back in the expected currency. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword"
],
"properties": {
"page": {
"type": "integer",
"description": "1-based page number. Default: 1."
},
"sort": {
"type": "string",
"description": "Result order: featured, price_asc, price_desc, avg_review, newest. Default 'featured'. Default: featured."
},
"keyword": {
"type": "string",
"description": "Search phrase, e.g. 'wireless headphones' or a brand + model."
},
"max_price": {
"type": "number",
"description": "Highest price to include, in the marketplace's currency."
},
"min_price": {
"type": "number",
"description": "Lowest price to include, in the marketplace's currency."
},
"marketplace": {
"type": "string",
"description": "Regional Amazon site to search. Prices and currency differ per marketplace. One of: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.se, amazon.pl, amazon.com.be, amazon.com.tr, amazon.ca, amazon.com.mx, amazon.com.br, amazon.co.jp, amazon.in, amazon.ae, amazon.sa, amazon.sg, amazon.com.au. Default: amazon.com."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the marketplace's home country so prices come back in the expected currency."
}
},
"additionalProperties": false
}| How many properties to collect across pages. Default: 25. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"location"
],
"properties": {
"rooms": {
"type": "integer",
"description": "Number of rooms."
},
"adults": {
"type": "integer",
"description": "Number of adults."
},
"checkin": {
"type": "string",
"description": "Check-in YYYY-MM-DD (needed for prices)."
},
"checkout": {
"type": "string",
"description": "Check-out YYYY-MM-DD."
},
"children": {
"type": "integer",
"description": "Number of children."
},
"currency": {
"type": "string",
"description": "Price currency: USD, EUR, GBP, AUD, CAD, CHF, JPY, CNY, INR, BRL, MXN, PLN, SEK, NOK, DKK, AED, SGD, ZAR, TRY, RUB. Default: USD."
},
"location": {
"type": "string",
"description": "City or place to search, e.g. 'Austin' or 'Paris'."
},
"max_results": {
"type": "integer",
"description": "How many properties to collect across pages. Default: 25."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE')."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url",
"steps"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The absolute URL to open (http/https)."
},
"steps": {
"type": "array",
"items": {
"type": "object",
"required": [
"action"
],
"properties": {
"clear": {
"type": "boolean",
"description": "For 'type': clear the field first."
},
"value": {
"type": [
"string",
"number"
],
"description": "Action payload: text to type/select, text for wait_for_text, a key name for press_key (e.g. 'Enter'), milliseconds for wait, or 'bottom'/pixels for scroll."
},
"action": {
"enum": [
"wait_for",
"wait_for_text",
"wait",
"click",
"type",
"select",
"press_key",
"scroll"
],
"type": "string",
"description": "The action to perform."
},
"selector": {
"type": "string",
"description": "CSS selector the action targets (required for wait_for/click/type/select)."
},
"timeout_ms": {
"type": "integer",
"description": "Per-step timeout override in ms.",
"exclusiveMinimum": 0
},
"selector_type": {
"enum": [
"css",
"xPath",
"className",
"tagName"
],
"type": "string",
"description": "How to interpret `selector` (default 'css')."
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "Ordered browser actions to run after the page loads (wait_for, wait_for_text, wait, click, type [human-like], select, press_key, scroll), then the HTML is captured."
},
"wait_value": {
"type": "string",
"description": "The selector/expression paired with wait_method."
},
"wait_method": {
"enum": [
"css",
"js"
],
"type": "string",
"description": "Optional render-wait before the steps: 'css' selector or 'js' expression."
},
"proxy_country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Optional ISO country code to route through, e.g. 'US'."
},
"sleep_seconds": {
"type": "number",
"description": "Extra seconds to wait after load.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| condition | string | Item condition filter: new, open_box, refurbished, used, for_parts. Omit for every condition. |
| max_price | number | Highest price to include, in the marketplace's currency. |
| min_price | number | Lowest price to include, in the marketplace's currency. |
| page_size | integer | Listings per page - eBay's own page sizes: 60, 120, 240. Default: 60. |
| marketplace | string | Regional eBay site to search. Prices, currency and availability differ per marketplace. One of: ebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.nl, ebay.pl, ebay.at, ebay.ch, ebay.be, ebay.ie, ebay.ca, ebay.com.au, ebay.in, ebay.ph, ebay.com.sg, ebay.com.my, ebay.com.hk. Default: ebay.com. |
| listing_type | string | Listing format: all, buy_it_now, auction. Default 'all'. Default: all. |
| free_shipping | boolean | Only listings eBay marks as free delivery. Default: false. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to a country chosen for the marketplace. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword"
],
"properties": {
"page": {
"type": "integer",
"description": "1-based page number. Default: 1."
},
"sort": {
"type": "string",
"description": "Ordering: best_match, newly_listed, ending_soon, price_asc, price_desc. Default 'best_match'. Default: best_match."
},
"seller": {
"type": "string",
"description": "Restrict the search to one seller's username."
},
"keyword": {
"type": "string",
"description": "Search phrase, e.g. 'iphone 13' or a part number like '1K0953519A'."
},
"category": {
"type": "string",
"description": "eBay category id to search inside, e.g. '131090' for vehicle parts and accessories."
},
"condition": {
"type": "string",
"description": "Item condition filter: new, open_box, refurbished, used, for_parts. Omit for every condition."
},
"max_price": {
"type": "number",
"description": "Highest price to include, in the marketplace's currency."
},
"min_price": {
"type": "number",
"description": "Lowest price to include, in the marketplace's currency."
},
"page_size": {
"type": "integer",
"description": "Listings per page - eBay's own page sizes: 60, 120, 240. Default: 60."
},
"marketplace": {
"type": "string",
"description": "Regional eBay site to search. Prices, currency and availability differ per marketplace. One of: ebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.nl, ebay.pl, ebay.at, ebay.ch, ebay.be, ebay.ie, ebay.ca, ebay.com.au, ebay.in, ebay.ph, ebay.com.sg, ebay.com.my, ebay.com.hk. Default: ebay.com."
},
"listing_type": {
"type": "string",
"description": "Listing format: all, buy_it_now, auction. Default 'all'. Default: all."
},
"free_shipping": {
"type": "boolean",
"description": "Only listings eBay marks as free delivery. Default: false."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to a country chosen for the marketplace."
}
},
"additionalProperties": false
}| Only images Google found on or before this date (YYYY-MM-DD). Works alone or with `date_from`; cannot be combined with `time_range`. |
| date_from | string | Only images Google found on or after this date (YYYY-MM-DD). Works alone or with `date_to`; cannot be combined with `time_range`. |
| time_range | string | Only images Google found within this recent period: `hour`, `day`, `week`, `month` or `year` (Google Images' Tools > Time filter). Use it to get just the new results on repeated scans. Cannot be combined with `date_from`/`date_to`. |
| max_results | integer | Optional cap on the number of results returned (default: all results of the fetched pages). |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Image results are market-specific. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Image search term, e.g. 'eiffel tower'."
},
"gl": {
"type": "string",
"description": "Optional Google market override (ISO-2, e.g. 'us', 'de'). Leave empty and the market follows `proxy_country` ('us' when neither is set). The market, not the proxy country, is what decides which images rank."
},
"pages": {
"type": "integer",
"description": "How many Google Images result pages to fetch (1-5, ~100 results each; Google stops at ~400-500 per query). Each page fetched is billed as one request. Default: 1."
},
"date_to": {
"type": "string",
"description": "Only images Google found on or before this date (YYYY-MM-DD). Works alone or with `date_from`; cannot be combined with `time_range`."
},
"date_from": {
"type": "string",
"description": "Only images Google found on or after this date (YYYY-MM-DD). Works alone or with `date_to`; cannot be combined with `time_range`."
},
"time_range": {
"type": "string",
"description": "Only images Google found within this recent period: `hour`, `day`, `week`, `month` or `year` (Google Images' Tools > Time filter). Use it to get just the new results on repeated scans. Cannot be combined with `date_from`/`date_to`."
},
"max_results": {
"type": "integer",
"description": "Optional cap on the number of results returned (default: all results of the fetched pages)."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Image results are market-specific."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Product search term, e.g. 'wireless headphones'."
},
"gl": {
"type": "string",
"description": "Market of search, ISO-2, e.g. 'us', 'de'. Sets prices/merchants. Default: us."
},
"max_price": {
"type": "integer",
"description": "Maximum price filter (whole units, gl currency)."
},
"min_price": {
"type": "integer",
"description": "Minimum price filter (whole units, gl currency)."
},
"max_results": {
"type": "integer",
"description": "How many products to return (v1: first page). Default: 60."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Prices/merchants are market-specific."
}
},
"additionalProperties": false
}| job_type | string | Job type: fulltime, parttime, contract, internship, temporary. |
| location | string | Where, e.g. 'Austin, TX' or 'London'. |
| max_results | integer | How many jobs to collect across pages. Default: 30. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the country's site. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"days": {
"type": "integer",
"description": "Max posting age in days: 1, 3, 7, 14."
},
"sort": {
"type": "string",
"description": "Ordering: relevance, date. Default: relevance."
},
"query": {
"type": "string",
"description": "What to search, e.g. 'software engineer' or 'nurse'."
},
"start": {
"type": "integer",
"description": "0-based result offset to start from. Default: 0."
},
"radius": {
"type": "integer",
"description": "Search radius in miles/km around the location."
},
"remote": {
"type": "boolean",
"description": "Only remote jobs. Default: false."
},
"country": {
"type": "string",
"description": "Indeed country site: us, uk, ca, au, in, ie, de, fr, nl, es, it, at, ch, be, pl, se, sg, za, nz, mx. Default: us."
},
"job_type": {
"type": "string",
"description": "Job type: fulltime, parttime, contract, internship, temporary."
},
"location": {
"type": "string",
"description": "Where, e.g. 'Austin, TX' or 'London'."
},
"max_results": {
"type": "integer",
"description": "How many jobs to collect across pages. Default: 30."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the country's site."
}
},
"additionalProperties": false
}| proxy_country |
| string |
| Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US - an EU country hits Google's consent wall. Default: us. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"gl": {
"type": "string",
"description": "Google country, ISO-2 lowercase, e.g. 'us'. Default: us."
},
"hl": {
"type": "string",
"description": "Google UI language, e.g. 'en', 'de', 'fr'. Default: en."
},
"raw": {
"type": "boolean",
"description": "Include the decoded place core array under `raw`. Default: false."
},
"url": {
"type": "string",
"description": "A Google Maps place URL (share link or /maps/place/... URL). The feature id or place_id is read out of it."
},
"place_id": {
"type": "string",
"description": "A Google place_id, e.g. 'ChIJN1t_tDeuEmsRUsoyG83frY4'."
},
"feature_id": {
"type": "string",
"description": "A Maps feature id '0xHEX:0xHEX', e.g. '0x47e66e2964e34e2d:0x8ddca9ee380ef7e0'. Fastest - no resolve step."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US - an EU country hits Google's consent wall. Default: us."
}
},
"additionalProperties": false
}| company* | string | The reviewed company's domain, e.g. 'www.nike.com' or 'nike.com'. A full site URL or a pasted Trustpilot review URL is also accepted. |
| replies | boolean | Only reviews the company has replied to. Default: false. |
| language | string | Review language ISO-2 code (e.g. 'en', 'de') or 'all'. Default 'all'. Default: all. |
| verified | boolean | Only verified reviews (Trustpilot's verified badge). Default: false. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to a country chosen for the site. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"company"
],
"properties": {
"date": {
"type": "string",
"description": "Only reviews from a recent window: last30days, last3months, last6months, last12months. Omit for all time."
},
"page": {
"type": "integer",
"description": "1-based page to start from (20 reviews/page). Default: 1."
},
"sort": {
"type": "string",
"description": "Ordering: recency, relevancy. Default 'recency' (newest first). Default: recency."
},
"pages": {
"type": "integer",
"description": "How many consecutive pages to fetch from `page` onward (20 reviews each). Stops early at the last page. Default: 1."
},
"stars": {
"anyOf": [
{
"type": "array",
"items": {
"type": "integer"
}
},
{
"$ref": "#/properties/stars/anyOf/0/items"
}
],
"description": "Only reviews with these star ratings (1, 2, 3, 4, 5). Repeatable, e.g. stars=4&stars=5."
},
"search": {
"type": "string",
"description": "Keyword to search within the company's reviews."
},
"company": {
"type": "string",
"description": "The reviewed company's domain, e.g. 'www.nike.com' or 'nike.com'. A full site URL or a pasted Trustpilot review URL is also accepted."
},
"replies": {
"type": "boolean",
"description": "Only reviews the company has replied to. Default: false."
},
"language": {
"type": "string",
"description": "Review language ISO-2 code (e.g. 'en', 'de') or 'all'. Default 'all'. Default: all."
},
"verified": {
"type": "boolean",
"description": "Only verified reviews (Trustpilot's verified badge). Default: false."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to a country chosen for the site."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"description": "1-based page to start from (~40 per page). Default: 1."
},
"sort": {
"type": "string",
"description": "Ordering: best_match, price_low, price_high, best_seller, rating_high, new. Default: best_match."
},
"query": {
"type": "string",
"description": "What to search, e.g. 'laptop' or 'coffee maker'."
},
"max_price": {
"type": "integer",
"description": "Highest price to include (USD)."
},
"min_price": {
"type": "integer",
"description": "Lowest price to include (USD)."
},
"max_results": {
"type": "integer",
"description": "How many products to collect across pages. Default: 40."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US."
}
},
"additionalProperties": false
}| string |
| Property type filter: houses, condos, townhomes, multi_family, apartments, manufactured, lots_land. Omit for all. |
| max_price | integer | Maximum price (or monthly rent). |
| min_price | integer | Minimum price (or monthly rent). |
| max_results | integer | How many listings to collect across pages (~41 per page). Default: 41. |
| proxy_country | string | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"location"
],
"properties": {
"beds": {
"type": "integer",
"description": "Minimum bedrooms."
},
"page": {
"type": "integer",
"description": "1-based results page to start from. Default: 1."
},
"sort": {
"type": "string",
"description": "Ordering: newest, price_asc, price_desc, relevant, beds, sqft, lot. Default: newest."
},
"baths": {
"type": "integer",
"description": "Minimum bathrooms."
},
"status": {
"type": "string",
"description": "Listing status: for_sale, for_rent, sold. Default: for_sale."
},
"location": {
"type": "string",
"description": "City/state or ZIP to search, e.g. 'Austin, TX' or '78704'."
},
"home_type": {
"type": "string",
"description": "Property type filter: houses, condos, townhomes, multi_family, apartments, manufactured, lots_land. Omit for all."
},
"max_price": {
"type": "integer",
"description": "Maximum price (or monthly rent)."
},
"min_price": {
"type": "integer",
"description": "Minimum price (or monthly rent)."
},
"max_results": {
"type": "integer",
"description": "How many listings to collect across pages (~41 per page). Default: 41."
},
"proxy_country": {
"type": "string",
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US."
}
},
"additionalProperties": false
}