ScrapeUnblocker
Server Details
Fetch any web page's fully rendered HTML, AI-parsed structured JSON, or Google search results through ScrapeUnblocker's anti-bot scraping API (bypasses Cloudflare, DataDome, PerimeterX, Akamai). Bring your own API key.
- Status
- Healthy
- Uptime
- 100.0% over 78 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 24 tools
Dedicated site scrapers such as amazon_search, walmart_search, and zillow_search overlap substantially with the generic run_plugin and list_plugins tools, and google_search overlaps with search_and_read. The fetch_html, fetch_markdown, fetch_parsed, browse_page, and list_elements cluster is distinguishable but dense. Descriptions help, but an agent could still misselect among several plausible tools.
All names use snake_case and are readable, with two mostly predictable conventions: verb_noun for generic operations and site_action for platform scrapers. Minor inconsistencies like amazon_product being noun-first while google_search is verb-first do not seriously harm clarity.
At 24 tools the set is heavy and falls in the borderline 16-25 range. Many site-specific scrapers could be reached through run_plugin, so the surface feels somewhat crowded even though each tool has a rationale.
Coverage is broad: generic fetching, rendering, parsing, search, plugin discovery/execution, and site-specific scrapers for major commerce, jobs, travel, reviews, video, and Maps. Gaps are minor, such as social platforms or batch crawl orchestration, and run_plugin extends coverage considerably.
Available Tools
24 toolsamazon_productScrape an Amazon product pageARead-onlyInspect
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 proxies in that country. The country of the proxy that served the request is reported as exitCountry. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 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 | No | Amazon product id (10-char ASIN, e.g. 'B0BSHF7WHW'; books use their ISBN-10). Give either `asin` (with `marketplace`) or a full `url`. | |
| marketplace | No | 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 | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, the description discloses real behavioral context: price is set by the IP-inferred delivery location, proxy_country defaults to the marketplace's home country, the request is routed through in-country proxies, and exitCountry is reported back. Billing behavior is also disclosed, though the "listing plugins bill one unit per result page... keep max_results modest" clause references a parameter that does not exist here and reads as copied from a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The field enumeration is front-loaded and the proxy/currency explanation is well placed, but the return-field list is a long comma chain and the final billing sentence drags in an irrelevant `max_results` concept. That stray sentence is not just redundant, it actively suggests a parameter the tool lacks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of describing the return shape, and it does so thoroughly (title, price, availability, features, categories, images, exitCountry). Missing only failure-mode context such as behavior when an ASIN is invalid or a page is blocked.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 100%, the schema already documents all four parameters, including the proxy_country/currency rationale. The description restates the asin-or-url choice and the proxy_country default without adding format, validation, or precedence detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb and resource ("Fetches a single Amazon product") and enumerates the JSON fields returned, so an agent knows both what it gets and that it is a single-item lookup rather than a search. This distinguishes it from siblings like amazon_search and amazon_reviews without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear selection rule for inputs ("Identify the product with either `asin` (plus `marketplace`) or a full product `url`"), which is genuinely useful, but it never names an alternative sibling (amazon_search, browse_page, fetch_html) or states when not to use it. The closing sentence about "listing plugins" and "max_results" does not map to any parameter on this tool and muddies rather than clarifies usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_reviewsScrape the reviews on an Amazon product pageARead-onlyInspect
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 country of the proxy that served the request is reported as exitCountry. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 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 | No | Amazon product id (10-char ASIN, e.g. 'B07PXGQC1Q'; books use their ISBN-10). Give either `asin` (with `marketplace`) or a product `url`. | |
| marketplace | No | 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 | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly/openWorld/non-destructive; the description goes much further by disclosing the signed-out visibility limit, the typical 5-13 review window with local reviews first, the reviewsGated flag and empty-reviews fallback, the guarantee that all fields are present and null when absent, and the proxy_country/exitCountry behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with return fields and covers the essentials, but the single dense paragraph enumerates every field rather than summarizing, repeats 'JSON' twice, and ends with an off-target billing sentence about max_results that does not correspond to any parameter here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the field-by-field return description is doing necessary work, and the gating behavior, null semantics, and proxy defaults leave nothing an agent needs to know before calling this tool unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, but the description adds real meaning: the asin+marketplace vs url either/or identification rule, and the clarification that proxy_country does not change which reviews are returned (only exitCountry reports it). The closing reference to 'max_results' is confusing because no such parameter exists in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete verb and resource ('Returns the review data an Amazon product page shows to a signed-out visitor') and immediately enumerates what is returned (rating, reviewCount, histogram, customersSay, reviews), which separates it from amazon_product, amazon_search and trustpilot_reviews without the agent needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is explicit: it explains this is the public review slice on the product page, not a complete export, and that amazon.com often gates reviews with reviewsGated=true. It stops short of naming alternatives (e.g. use amazon_product for price/details), so the agent must infer those boundaries, which is the only gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_searchScrape Amazon search listingsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number. Default: 1. | |
| sort | No | Result order: featured, price_asc, price_desc, avg_review, newest. Default 'featured'. Default: featured. | |
| keyword | Yes | Search phrase, e.g. 'wireless headphones' or a brand + model. | |
| max_price | No | Highest price to include, in the marketplace's currency. | |
| min_price | No | Lowest price to include, in the marketplace's currency. | |
| marketplace | No | 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 | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations by disclosing two non-obvious behaviors: cards with no visible price return `price: null` and are deliberately retained rather than dropped, and `proxy_country` defaults to the marketplace home country so currency matches expectations. It also surfaces a cost model (one billing unit per result page) and advises keeping result volume modest, which materially affects call strategy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and return shape, then filters, then the detail-fetch route, then edge cases and cost — a sensible ordering. There is minor waste: "Returns JSON" repeats the opening "returns the result cards as JSON," and the billing sentence mentions `max_results`, a parameter that is not present in this tool's schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields and explains the null-price edge case, which is exactly what an agent needs for a 7-parameter scrape tool. The only flaw is the dangling reference to `max_results`, which does not exist in the input schema and could mislead an agent into passing an unsupported argument.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented structurally; the description largely restates the sort options, paging, and price filters. It does add the rationale that proxy_country exists to keep currency consistent, but it introduces no new syntax or semantics for the remaining parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Searches any regional Amazon marketplace for `keyword`") and immediately enumerates the returned card fields. It also distinguishes itself from the sibling detail tool by naming the `POST /marketplace/amazon-product` endpoint used to fetch full records, so an agent can tell them apart without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear routing guidance: use this tool for listing cards, then call the amazon-product endpoint for full detail, and use `min_price`/`max_price`/`sort`/`page` to narrow results. It does not explicitly contrast with non-Amazon siblings (ebay_search, walmart_search, google_shopping), though marketplace identity makes the choice largely self-evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_hotelsScrape Booking.com hotelsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| rooms | No | Number of rooms. | |
| adults | No | Number of adults. | |
| checkin | No | Check-in YYYY-MM-DD (needed for prices). | |
| checkout | No | Check-out YYYY-MM-DD. | |
| children | No | Number of children. | |
| currency | No | 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 | Yes | City or place to search, e.g. 'Austin' or 'Paris'. | |
| max_results | No | How many properties to collect across pages. Default: 25. | |
| proxy_country | No | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description adds genuinely non-obvious behavior: the billing model ('billed like an API request; listing plugins bill one unit per result page they fetch') and the pagination-driven cost of max_results. It stops short of noting rate limits, failure modes, or whether scraping can return partial pages.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and return shape, then constraints, which is the right order. The trailing standalone 'Returns JSON.' repeats the earlier 'returns the properties as JSON' and is the one sentence that does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by listing the response fields, and it covers cost, pagination, and the date requirement for prices. Minor gaps remain around defaults for adults/rooms and how proxy_country affects results, but nothing that would cause a mis-call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns above that by explaining the cross-parameter dependency that the schema only hints at (prices require checkin/checkout) and by framing max_results as a cross-page collection budget rather than a page size.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Searches Booking.com for `location`') and enumerates the returned fields (name, price, reviewScore, address, coordinates, image, url), which makes it unmistakable against generic siblings like browse_page or google_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one useful conditional ('Prices only appear when check-in/check-out dates are given') and a cost-avoidance nudge ('keep max_results modest'), but it never says when to prefer this over zillow_search, google_shopping, or maps_place_details, so tool routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browse_pageInteract with a page, then capture itADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The absolute URL to open (http/https). | |
| steps | Yes | 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 | No | The selector/expression paired with wait_method. | |
| wait_method | No | Optional render-wait before the steps: 'css' selector or 'js' expression. | |
| proxy_country | No | Optional ISO country code to route through, e.g. 'US'. | |
| sleep_seconds | No | Extra seconds to wait after load. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructive, non-idempotent, and open-world behavior, but the description adds important operational detail: steps run once per call and are not retried, and a failed step returns the failing step plus the page HTML at that point. It also discloses that billing is one request, giving the agent context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core behavior, then adds selector discovery, safety exclusions, failure semantics, and billing in focused clauses. The parenthetical action examples slightly duplicate the enum, but they serve as a useful quick capability summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex, destructive, open-world browser automation tool with no output schema, the description covers purpose, execution model, safety limits, failure return shape, and billing. The agent has enough context to invoke it correctly, while the fully described schema supplies the parameter details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents each parameter in detail. The description still adds step-level meaning by saying steps are ordered, non-idempotent, and not retried; it does not add much for wait_method, wait_value, or proxy_country beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair: load a web page in a real browser, run ordered browser actions, then return the resulting HTML. It distinguishes the tool from read-only fetch siblings by emphasizing real-browser interaction and post-action HTML capture.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly routes selector discovery to list_elements and gives a clear when-not rule: never use steps to buy, post, delete, or change anything unless the user asked for exactly that. It stops short of naming fetch_html or fetch_markdown as the simpler alternative for non-interactive retrieval, so the main sibling comparison is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_searchScrape eBay search listingsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number. Default: 1. | |
| sort | No | Ordering: best_match, newly_listed, ending_soon, price_asc, price_desc. Default 'best_match'. Default: best_match. | |
| seller | No | Restrict the search to one seller's username. | |
| keyword | Yes | Search phrase, e.g. 'iphone 13' or a part number like '1K0953519A'. | |
| category | No | eBay category id to search inside, e.g. '131090' for vehicle parts and accessories. | |
| condition | No | Item condition filter: new, open_box, refurbished, used, for_parts. Omit for every condition. | |
| max_price | No | Highest price to include, in the marketplace's currency. | |
| min_price | No | Lowest price to include, in the marketplace's currency. | |
| page_size | No | Listings per page - eBay's own page sizes: 60, 120, 240. Default: 60. | |
| marketplace | No | 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 | No | Listing format: all, buy_it_now, auction. Default 'all'. Default: all. | |
| free_shipping | No | Only listings eBay marks as free delivery. Default: false. | |
| proxy_country | No | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to a country chosen for the marketplace. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly/openWorld/non-destructive; the description adds real behavioral context beyond them — the no-exact-match fallback where eBay serves loosely related listings flagged by `exactMatches: false` plus a `notice`, and the billing model (one unit per result page fetched). The only weakness is that the cost warning references `max_results`, which is not a parameter name in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and return fields, then filters, then caveats — a sensible ordering with little waste. It loses a point for redundancy: "Returns JSON" is stated at the start and again as a standalone sentence, and the field enumeration partially repeats the filter list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter scraper with no output schema, the description covers what is returned, how to filter/sort/page, the marketplace-currency implication, the misleading-results fallback, and the cost profile. An agent has everything needed to call it correctly and interpret edge-case responses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds modest value by grouping the filters and noting that price filters are in the marketplace's currency and that marketplaces differ in price/availability, but it introduces no parameter meaning the schema does not already carry.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb + resource + scope ("Searches any regional eBay marketplace for `keyword` and returns the listings as JSON") and then enumerates the exact return fields, which separates it cleanly from siblings like amazon_search, google_shopping and google_search without requiring the agent to open a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete operational guidance: which parameters filter, which sort, how to page (with the allowed 60/120/240 sizes), and that `marketplace` should be set when site-specific prices/currency matter. It never states when not to use it or names an alternative tool (e.g. google_shopping or amazon_search), so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_htmlFetch page HTMLARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The absolute URL to fetch (http/https). | |
| wait_value | No | The selector/expression paired with wait_method. | |
| wait_method | No | Optional render-wait: 'css' selector or 'js' expression. | |
| proxy_country | No | Optional ISO country code to route through, e.g. 'US'. | |
| sleep_seconds | No | Extra seconds to wait after load. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, and the description adds genuinely new context: the request goes through a third-party anti-bot bypass service (Cloudflare, DataDome, PerimeterX, Akamai, Shape) and returns raw, unstripped HTML. It stops short of disclosing latency, rate limits, cost, or payload size, which matter for a browser-rendering proxy call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with what it does, then when to use it, then the return type, then the two alternatives. Every clause carries routing or behavioral information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Five parameters, all fully documented in the schema, no output schema needed because the description states 'Returns raw HTML'. Combined with annotations and explicit sibling routing, an agent has everything required to choose and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so url, wait_method/wait_value, proxy_country and sleep_seconds are already documented in structured data. The description adds no meaning beyond that – notably it never mentions the render-wait or geo-routing options, so it neither compensates nor detracts; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ('Fetch the fully rendered HTML of any web page'), names the provider (ScrapeUnblocker), and explicitly contrasts itself with fetch_markdown and browse_page, so an agent can separate it from siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use trigger ('when a normal fetch is blocked (403/429, captcha) or the page needs a real browser') and routes two adjacent cases to named alternatives: fetch_markdown for reading/summarising and browse_page for interaction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_markdownFetch page as MarkdownARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The absolute URL to read (http/https). | |
| wait_value | No | The selector/expression paired with wait_method. | |
| wait_method | No | Optional render-wait: 'css' selector or 'js' expression. | |
| proxy_country | No | Optional ISO country code to route through, e.g. 'US'. | |
| sleep_seconds | No | Extra seconds to wait after load. | |
| main_content_only | No | Drop navigation, page header, footer and sidebars (default true). False keeps the whole page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly/openWorld/non-destructive; the description adds substantive behavior beyond them: browser rendering, anti-blocking capability, size reduction (2-25% of HTML), content stripping, link absolutization, and per-call billing. Those are exactly the facts an agent needs to predict cost and output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what the tool does, then output characteristics, then usage and the competing sibling, then cost. Long but dense and every clause carries a distinct decision-relevant fact; no repetition of the title or name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-URL fetch tool with no output schema, the description covers origin, rendering behavior, output format, failure modes handled, cost, and the alternative tool. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter including wait_method, proxy_country, sleep_seconds and main_content_only is already documented in the schema. The description adds no parameter-level guidance (e.g. when to set wait_method or which country codes matter), so it sits at the baseline for a fully documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Fetch a web page ... return it as clean Markdown') and defines the output shape precisely: main content, absolute links, no scripts/styles/nav/footer. It also names the sibling it is not (fetch_html) and the condition that selects it, so the agent can differentiate among siblings without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use ('read, quote or summarise a page', JavaScript-rendered pages, 403/429/captcha walls) and an explicit alternative with its condition ('Use fetch_html instead when you need the markup, selectors or browser steps'). Also discloses billing as one request, which influences selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_parsedFetch AI-parsed page dataARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The absolute URL to fetch and parse. | |
| proxy_country | No | Optional ISO country code, e.g. 'US'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior beyond that: the JSON-to-rendered-HTML fallback when no structured data exists, and the billing consequence of that fallback. It does not mention authentication, rate limits, or latency for the external ScrapeUnblocker API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and output type, then the edge-case fallback. Every clause earns its place: the doc link, the output examples, the no-structure case, and the billing note each add information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey the return shape, and it does: parsed structured JSON with named categories, or the rendered HTML plus an explicit signal when no structured data is found. For a two-parameter read-only tool this is close to sufficient; only external API auth/limits are unaddressed, and those are arguably outside the tool contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both url and proxy_country documented in-schema, so the schema carries the parameter burden. The description adds only indirect meaning about what the url will yield (product/article/listing parsing); it says nothing about proxy_country or geo-affinity for the parse. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (fetch a web page) plus the distinguishing output: AI-parsed structured JSON rather than raw HTML, with concrete examples of the structured categories (product details, article content, listings). The contrast with 'instead of raw HTML' and the reference to billing 'like fetch_html' makes it separable from the fetch_html/fetch_markdown siblings without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is clear: pick this when you want parsed structured data, and the description warns that pages without structured data fall back to rendered HTML billed like fetch_html, which implicitly signals when the raw-HTML siblings would have been equivalent. There is no explicit 'use fetch_html instead when...' routing statement, so it stops short of full when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_imagesScrape Google Images resultsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Image search term, e.g. 'eiffel tower'. | |
| gl | No | 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 | No | 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 | No | 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 | No | 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 | No | 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 | No | Optional cap on the number of results returned (default: all results of the fetched pages). | |
| proxy_country | No | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Image results are market-specific. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/open-world/no-destructive, yet the description adds substantial behavior: billing is per fetched page, Google saturates around 400-500 results per query, and every page fetched costs a request. It also discloses a non-obvious edge case (PDF-embedded images return Google's thumbnail as `imageUrl` with `sourcePageUrl` pointing at the document).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and scope are front-loaded in the first sentence, and the billing/pagination guidance is appended logically at the end. The long result-field sentence is dense with parentheticals and harder to scan, but nearly every clause carries actionable information rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description takes on the burden of explaining return values and does so field by field, including the thumbnail-vs-original distinction. Combined with billing and market behavior, an agent has everything needed to call this tool correctly and predict cost.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it explains that `proxy_country` implicitly sets the Google market (`gl`) and that `gl` decides ranking while being only an optional override. It also characterizes `pages` as ~100 each, capped at 5, and billed per page.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb ('Runs'), the exact resource (the Google Images vertical, `udm=2`) and the output form (image results as JSON). This clearly separates it from sibling tools like `google_search` and `google_shopping` without needing to inspect the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete usage context: `time_range`/date filters for 'repeated scans' returning only new images, and `proxy_country` for market targeting. It also flags the mutual exclusion of `time_range` with date filters. It stops short of explicitly naming a sibling alternative ('use google_search for web pages'), so it is clear but not fully directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_localScrape Google Local business listingsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| gl | No | Google country of search, ISO-2 lowercase, e.g. 'us', 'de'. | |
| hl | No | Google UI language, e.g. 'en', 'de', 'fr'. Default: en. | |
| keyword | Yes | Search phrase, e.g. 'coffee shops in chicago' or 'plumbers near SW1A'. | |
| proxy_country | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint and openWorldHint already supplied, the description still adds real value beyond the annotations: per-page billing units, a ~20-result cap, and the caveat that `phone`/`website` are null when Google does not render them. The remaining gap is pagination behavior and what happens when the ~20 cap is hit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded: the search verb, the result shape, and the field list come first, with cost and caveats trailing. Minor waste in the redundant closing 'Returns JSON.' after the opening already said results come back as JSON.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by listing the returned fields and flagging nullable ones, plus cost and locale caveats. It loses a point for the phantom `max_results` reference and for saying nothing about volume beyond ~20 results or about failure/empty-result cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all four parameters are already documented and the baseline is 3. The description reinforces the location-sensitivity of `proxy_country` and mentions `gl`/`hl`, but it also references `max_results`, a parameter that does not exist in the input schema, which muddies rather than clarifies parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Runs a Google Local (`tbm=lcl`) search for `keyword`') and even enumerates the returned business fields, so an agent knows exactly what it produces. It never names the closest sibling (`maps_place_details`, `google_search`), so the boundary between bulk listing scrape and single-place lookup has to be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is present but parameter-oriented: it tells the agent to set `proxy_country` (optionally `gl`/`hl`) because local results are location-sensitive, and to keep result volume modest for billing reasons. There is no explicit when-to-use / when-not-to-use statement or named alternative, which is what separates a 5 from a 3 here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_searchGoogle search resultsARead-onlyInspect
Run a Google search through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return the results page as JSON: organic results with their real URLs, favicons, sitelinks and star ratings, ads, the AI Overview, People also ask, related searches with their links, the knowledge panel, top stories, videos, local and shopping results.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | The search query. | |
| proxy_country | No | Optional ISO country code to search from, e.g. 'US'. | |
| pages_to_check | No | How many result pages to collect (default 1). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context that results come from the ScrapeUnblocker API as JSON with a docs link, but discloses nothing about rate limits, cost, latency, or how pages_to_check affects the response beyond the schema's own wording.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with the action first and the return payload after; nothing is redundant. The long enumeration of result sections is dense but each element carries informational value, so it is not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description's enumeration of returned sections is genuinely necessary and supplies it well; all three parameters are self-documented in the schema. Remaining gaps — pagination behavior, error/failure modes, and cost of multi-page scraping — are minor for a read-only search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents keyword, proxy_country (ISO code) and pages_to_check (default 1, max 10). The description adds no per-parameter meaning such as how proxy_country influences results or what happens when multiple pages are requested, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Run a Google search') and resource, and enumerates the returned content types (organic results, ads, AI Overview, knowledge panel, etc.), which makes the tool's scope unmistakable. It does not explicitly distinguish itself from vertical siblings like google_images, google_local, google_shopping, or the broader search_and_read, so differentiation is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent can infer this is the general web-search tool versus the vertical (images/local/shopping) and page-fetch siblings. There is no explicit when-to-use or when-not-to-use guidance and no mention of alternatives such as search_and_read.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_shoppingScrape Google Shopping product listingsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Product search term, e.g. 'wireless headphones'. | |
| gl | No | Market of search, ISO-2, e.g. 'us', 'de'. Sets prices/merchants. Default: us. | |
| max_price | No | Maximum price filter (whole units, gl currency). | |
| min_price | No | Minimum price filter (whole units, gl currency). | |
| max_results | No | How many products to return (v1: first page). Default: 60. | |
| proxy_country | No | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Prices/merchants are market-specific. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations it discloses non-obvious traits: only the first page is returned (v1), there is no per-product URL so `url` is omitted, `image` is best-effort, ids are stable across searches, and listing plugins bill one unit per result page. That is exactly the context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what it returns, then parameters, then caveats and billing. Dense but every sentence carries information; the single-block format and parenthetical asides make it slightly harder to scan than a bulleted layout.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description substitutes by listing every returned field, and it covers pagination limits, missing fields, and cost model. Nothing an agent needs in order to call this correctly appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns more by explaining why `gl`/`proxy_country` matter (region-specific prices/merchants) and that `productId`/`catalogId`/`offerId` are stable identifiers for tracking a single product.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Runs the Google Shopping vertical (`udm=28`) for `q` and returns the product cards') and enumerates the returned fields, so an agent can distinguish it from google_search, amazon_search, or walmart_search without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete guidance on when to set `gl`/`proxy_country` (region-specific prices) and `min_price`/`max_price` filtering, and warns to keep `max_results` modest for cost reasons. It stops short of explicitly naming which sibling tool to use when Google Shopping is wrong, so no full when-not/alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indeed_jobsScrape Indeed job listingsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Max posting age in days: 1, 3, 7, 14. | |
| sort | No | Ordering: relevance, date. Default: relevance. | |
| query | Yes | What to search, e.g. 'software engineer' or 'nurse'. | |
| start | No | 0-based result offset to start from. Default: 0. | |
| radius | No | Search radius in miles/km around the location. | |
| remote | No | Only remote jobs. Default: false. | |
| country | No | 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 | No | Job type: fulltime, parttime, contract, internship, temporary. | |
| location | No | Where, e.g. 'Austin, TX' or 'London'. | |
| max_results | No | How many jobs to collect across pages. Default: 30. | |
| proxy_country | No | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the country's site. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds non-obvious behavior: Cloudflare + PerimeterX anti-bot handling is done for the caller, paging collects up to max_results across pages, `date` sort includes sponsored placements, and the cost model is one billing unit per fetched result page. Only retry/error and rate-limit behavior remain unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded paragraph that leads with what is searched and returned before filters and cost. It is densely packed with useful content, though "Returns JSON." is redundant with the opening "returns the job listings as JSON" and could be dropped.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, no-output-schema tool, the description covers the return shape, filtering, pagination, sorting, anti-bot handling, and cost, which is most of what an agent needs to call it correctly. It omits failure modes (blocked requests, zero results) and pagination resume behavior via `start`.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage the baseline is 3, but the description goes beyond the schema by clarifying that `days` is posting age, that `sort=date` returns collected jobs newest-first including sponsored ones, and that `max_results` is accumulated across pages rather than a single-page size. That is real added meaning for the two least obvious parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete verb+resource ("Searches Indeed for `query` in `location` and returns the job listings as JSON") and enumerates the returned fields, so an agent can immediately tell this is the Indeed job-listing tool rather than the google_search, amazon_search, or zillow_search siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names the available filter knobs (country, job_type, days, remote), the sort options, and gives an explicit operational constraint: "keep max_results modest" because listing plugins bill one unit per result page. It does not state when to prefer this over a general web search or when results are unavailable, so there are no explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_elementsList interactive page elementsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The absolute URL to load and inspect (http/https). | |
| wait_value | No | The selector/expression paired with wait_method. | |
| wait_method | No | Optional render-wait: 'css' selector or 'js' expression. | |
| proxy_country | No | Optional ISO country code to route through, e.g. 'US'. | |
| sleep_seconds | No | Extra seconds to wait after load before inspecting. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, non-destructive, open-world). The description earns credit beyond that by disclosing the external ScrapeUnblocker API dependency, the structured non-HTML return format with a ready-to-use selector per element, and the render-wait capability implied by wait params. It does not mention cost, rate limits, or failure behavior, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both dense and front-loaded: the return shape and element enumeration come first, the routing guidance second. No filler or restated title text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by specifying the JSON envelope and element contents, and it also states the downstream workflow. Error handling and pagination/limits on large pages are the only notable omissions for a 5-parameter open-world fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter including wait_method/wait_value pairing and the ISO country code. The description adds no syntax or constraint detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (fetch a page, return its interactive elements), enumerates the element types, and pins down the exact return shape ({url, count, elements:[...]}) while explicitly contrasting it with raw HTML, which distinguishes it from fetch_html/fetch_markdown. An agent can pick it over every sibling without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete workflow: discover targets here, then drive the page with browse_page's `steps` param, naming the sibling explicitly. It lacks an explicit when-not (e.g., use fetch_markdown when you want text content), so a small inference remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pluginsList site pluginsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | A plugin name, for its full parameter docs. | |
| search | No | Only plugins whose name or description mentions this, e.g. 'zillow' or 'reviews'. | |
| category | No | Only plugins in this category. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the agent knows this is a safe read. The description adds genuinely useful context beyond that: the call is free and 'calls nothing', i.e. no scraping request is issued. The mild tension with openWorldHint is best read as the catalog covering an open-ended site list rather than an external call, so it is not a contradiction, but nothing is said about response size or shape beyond 'lists every plugin with its parameters'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, and the calling modes come before the ancillary details. The twenty-plus brand enumeration is somewhat padded, but it does convey breadth and searchable examples economically in one parenthetical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still conveys what comes back: a plugin list with parameters and required markers, or full parameter docs for a single name. The main omission is any pointer to run_plugin for actually executing a discovered plugin, which an agent would need to complete the workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter already documents itself, including the category enum. The description's only added detail is the default no-argument behavior and the '* = required' marker in the output, which is marginal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (list ready-made site plugins) and defines the resource concretely as scrapers returning clean structured JSON for named sites. It also draws the boundary against fetch_html, which is the sibling an agent would otherwise confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to check here before scraping a known site with fetch_html, and explains the three calling modes (no args = list all, category/search = narrow, name = full docs). It never names run_plugin, the sibling that actually executes a discovered plugin, so the follow-on step is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maps_place_detailsScrape Google Maps place detailsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| gl | No | Google country, ISO-2 lowercase, e.g. 'us'. Default: us. | |
| hl | No | Google UI language, e.g. 'en', 'de', 'fr'. Default: en. | |
| raw | No | Include the decoded place core array under `raw`. Default: false. | |
| url | No | A Google Maps place URL: a /maps/place/... URL, a maps.app.goo.gl share link or a maps?cid= link. The place is read out of it. | |
| place_id | No | A Google place_id, e.g. 'ChIJN1t_tDeuEmsRUsoyG83frY4'. | |
| feature_id | No | A Maps feature id '0xHEX:0xHEX', e.g. '0x47e66e2964e34e2d:0x8ddca9ee380ef7e0'. Fastest - no resolve step. | |
| proxy_country | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, open-world), and the description goes beyond them with genuinely useful operational context: the US proxy default exists to clear Google's consent wall, an EU proxy will hit that wall, and calls are billed per API request. The note about listing plugins and keeping max_results modest is slightly off-target since this tool has no max_results parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the outcome, then identifiers, then the proxy caveat and cost note — the ordering matches how an agent needs the information. The field enumeration is long but justified given there is no output schema; the trailing billing sentence drifts into plugin-specific concerns that do not belong to this call.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 optional parameters, no output schema, and no required fields, the description does the heavy lifting well: it lists return fields, explains identifier precedence, and warns about proxy country and billing. Gaps are minor — no guidance on what happens when multiple identifiers are supplied, and none on failure modes for an invalid or unresolvable place.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real value by grouping the three mutually substitutable identifier parameters and framing the tool as location-neutral with feature_id resolving the place directly. It omits any elaboration on gl, hl, and raw, which the schema already covers adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource+scope: 'Returns the full data for one Google Maps place as JSON', then enumerates exactly which fields come back. That enumeration plus the identifier options makes it unmistakable versus search-oriented siblings like google_local or google_search, even though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly says how to invoke it (place_id, url, or raw feature_id) and that it is location-neutral, which implies the correct usage pattern: resolve a place elsewhere, then fetch details here. But it never states when to prefer this over google_local or google_search, nor what to do if you only have a name — the usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_pluginRun a site pluginARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The plugin to run, as list_plugins names it. | |
| params | No | The plugin's parameters, e.g. {"query": "coffee maker", "max_results": 20}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description's real addition is billing behavior — every run costs like an API request and listing costs per result page — which is genuinely useful context not in the annotations. Beyond that it says nothing about failure modes, rate limits, or auth, so it is a modest add over structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and examples, then the prerequisite, then parameter conventions, then cost. Every sentence carries information, though the final billing sentence is the longest and could be trimmed slightly without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Two parameters, one enum and one free-form object, no output schema — the description covers the full calling flow (discover via list_plugins, then run with snake_case params), the return shape (JSON), and the cost model. There is nothing essential an agent would need to call this correctly that is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the 'name' enum is self-documenting, so the baseline would be 3. The description earns above that by explaining that `params` keys must match the snake_case names list_plugins reports and that list values are accepted where a parameter takes several — semantics the free-form `params` object in the schema cannot convey on its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run one ScrapeUnblocker site plugin and return its JSON') and grounds it with concrete examples (Target/Walmart search, Zillow listing search, Google Trends, App Store reviews). It does not, however, distinguish this generic runner from the many sibling tools that do the same job for a single site (amazon_search, walmart_search, zillow_search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit workflow prerequisite ('Find the plugin and its parameters with list_plugins first'), which is the key gating step an agent needs. It stops short of saying when to prefer run_plugin over the dedicated per-site siblings like google_search or indeed_jobs, which is the main ambiguity left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_and_readSearch Google and read the top resultsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | The search query. | |
| results | No | How many top results to read (default 3, max 5). | |
| proxy_country | No | Optional ISO country code to search from and read the pages through, e.g. 'US'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, non-destructive and openWorld, so the safety profile is covered. The description adds substantive behavior beyond that: the billing model ('one request for the search plus one per page read') and the exact shape of what is returned. Missing is any disclosure of failure modes, rate limits, or what happens when a page cannot be read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and the return shape, then the usage line, then the billing caveat. No filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining returns and does so precisely: AI Overview when present, `results` pages as Markdown, other organic results as title/URL/snippet. Combined with the cost note, an agent has everything needed to decide and call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description earns an extra point by tying the `results` count to cost ('one per page read'), giving the parameter an implication the schema does not state. `proxy_country` and `keyword` are left entirely to the schema, which is acceptable at full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb-plus-resource framing ('Search Google... and read the top results in one call') and spells out the composite output: AI Overview, top pages as Markdown, and remaining organic results as title/URL/snippet. That composite shape is enough to tell it apart from plain search siblings like google_search without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use it to answer a question from the live web' gives a clear positive selection criterion. It stops short of naming alternatives or exclusions, though — nothing tells the agent when plain google_search or fetch_markdown would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trustpilot_reviewsScrape Trustpilot company reviewsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Only reviews from a recent window: last30days, last3months, last6months, last12months. Omit for all time. | |
| page | No | 1-based page to start from (20 reviews/page). Default: 1. | |
| sort | No | Ordering: recency, relevancy. Default 'recency' (newest first). Default: recency. | |
| pages | No | How many consecutive pages to fetch from `page` onward (20 reviews each). Stops early at the last page. Default: 1. | |
| stars | No | Only reviews with these star ratings (1, 2, 3, 4, 5). Repeatable, e.g. stars=4&stars=5. | |
| search | No | Keyword to search within the company's reviews. | |
| company | Yes | 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 | No | Only reviews the company has replied to. Default: false. | |
| language | No | Review language ISO-2 code (e.g. 'en', 'de') or 'all'. Default 'all'. Default: all. | |
| verified | No | Only verified reviews (Trustpilot's verified badge). Default: false. | |
| proxy_country | No | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to a country chosen for the site. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint/openWorldHint it adds real behavioral context: a billing model with one unit per fetched page and a caution to keep result counts modest, plus 20 reviews per page and early stop at the last page. It does not state failure modes (unknown domain, missing profile) or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then response shape, then pagination/filters, then cost note – a logical order with mostly dense phrasing. Minor waste: 'Returns JSON' appears twice, and the parameter list reads as a schema recap.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the response envelope (company summary fields and per-review fields including reply and dates), which is what an agent needs to decide whether to call it. It leaves only error behavior and the proxy parameter unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter is already documented, and the description largely restates them (page/pages, stars, sort, language, date, search, verified, replies) with a little added context like '20 reviews per page'. proxy_country, the one parameter with non-obvious semantics, is not mentioned at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource: returns a company's Trustpilot profile and reviews, keyed on the reviewed domain. It is clearly distinguishable from generic fetch/scrape siblings, though it never names an alternative source tool to contrast with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains use of pagination and filters and gives a cost warning about keeping max_results modest, implying when to page deep versus just take the summary. There is no explicit when-to-use/when-not guidance or comparison to sibling review tools such as amazon_reviews.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
walmart_searchScrape Walmart product searchARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page to start from (~40 per page). Default: 1. | |
| sort | No | Ordering: best_match, price_low, price_high, best_seller, rating_high, new. Default: best_match. | |
| query | Yes | What to search, e.g. 'laptop' or 'coffee maker'. | |
| max_price | No | Highest price to include (USD). | |
| min_price | No | Lowest price to include (USD). | |
| max_results | No | How many products to collect across pages. Default: 40. | |
| proxy_country | No | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, openWorld, non-destructive), and the description adds material behavior beyond them: the exact payload shape returned, cross-page aggregation, and the billing model per result page with a practical warning to keep max_results modest. It does not mention failure modes common to scraping (blocks, partial pages) or rate limits, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and return shape, then controls, then cost, which is a sensible order. Points deducted for the redundant standalone sentence "Returns JSON." after the opening sentence already established a JSON return, which is pure filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by listing the fields, and it explains cost behavior for a paid scraping endpoint. Minor gaps: no mention of what happens at page boundaries or what an empty/failed scrape returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema, and the description mostly restates them (`sort`, `min_price`/`max_price`, `max_results`). The only added nuance is that max_results collects products across pages, which the schema also states. Baseline 3 applies; `page` and `proxy_country` are not addressed at all in the prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Searches Walmart ... returns the products") and enumerates the returned fields, which lets an agent distinguish it from amazon_search, ebay_search, or google_shopping purely by store scope. There is no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete usage context: sort with `sort`, bound with `min_price`/`max_price`, and cap volume with `max_results` because listing plugins bill per result page. It does not name alternatives (e.g. when to prefer google_shopping for cross-store comparison) or state exclusions, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_searchSearch YouTubeARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Ordering: relevance, rating, date, views. Default: relevance. | |
| type | No | Result type: video, channel, playlist, movie, all. Default: video. | |
| query | Yes | Search terms. | |
| max_results | No | How many results to collect across pages (~20 per page). Default: 20. | |
| proxy_country | No | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, openWorld, non-destructive), so the description's real contribution is the billing model — one unit per result page fetched — and the cross-page collection behavior, both of which an agent cannot infer from structured fields. It omits anything about rate limits or failure behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, filters, and billing in that order, and the field enumeration is compact. The redundancy of stating 'returns the results as JSON' at the start and 'Returns JSON.' again at the end is wasted space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the field-by-field return-value enumeration is genuinely necessary and present, and the billing/paging notes cover the main operational risk. The only real gap is `proxy_country`, whose geo effect on results is never explained even though it can change what an agent gets back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does add paging semantics for `max_results` ('collect ... across pages'), but it duplicates the enum values already in the schema, silently omits the `movie` type the schema allows, and never mentions `proxy_country`.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Searches YouTube for `query`') plus the return shape. It is clearly distinguishable from `youtube_transcript` by implication, but it never names the sibling or states that it returns listings rather than transcript/text content, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives operational guidance ('filter with type and sort', 'keep max_results modest') but no when-to-use/when-not-to-use framing relative to alternatives such as youtube_transcript or google_search. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_transcriptGet a YouTube video transcriptARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Preferred caption language code, e.g. 'en'. Omit for the default/first track. A prefix like 'en' matches 'en-US'. | |
| video | Yes | Video id (dQw4w9WgXcQ) or any YouTube video URL. | |
| format | No | Output shape: segments, text. 'segments' returns timestamps; 'text' returns only the joined plaintext. Default: segments. | |
| proxy_country | No | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE') for the watch page. Defaults to US. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely new behavior: the exact response shape, prefix language matching ('en' matches 'en-US'), and cost character ('Billed like an API request'). The trailing sentence about plugins billing one unit per result page is boilerplate that doesn't apply to this tool and slightly muddies the cost disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the return payload, then inputs, then use cases — a sensible order with no filler in the first three sentences. The final sentence about plugin billing is irrelevant to this tool and costs it a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully carries the return contract (segments, joined text, availableLanguages, isAutoGenerated, title/author/lengthSeconds) plus input and fallback behavior. For a four-param read-only fetch tool, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four params including the `en`-matches-`en-US` prefix rule and the format default. The description only restates that `video` takes an id or URL and that `lang` picks a caption track, adding no syntax or edge-case meaning beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ('Returns a YouTube video's captions as JSON') and enumerates the returned fields, so the agent knows exactly what it gets. It does not, however, differentiate itself from the sibling youtube_search (e.g., 'use youtube_search first to find a video id'), so routing still requires inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through the 'Ideal for LLM/RAG pipelines, subtitles and content analysis' sentence and the note that `video` accepts an id or URL, but there is no explicit when-to-use-this-vs-youtube_search guidance or stated prerequisite that a video id must be obtained first. The `lang` omission behavior ('Omit for the default/first track') is the only concrete calling rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zillow_searchScrape Zillow real-estate listingsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| beds | No | Minimum bedrooms. | |
| page | No | 1-based results page to start from. Default: 1. | |
| sort | No | Ordering: newest, price_asc, price_desc, relevant, beds, sqft, lot. Default: newest. | |
| baths | No | Minimum bathrooms. | |
| status | No | Listing status: for_sale, for_rent, sold. Default: for_sale. | |
| location | Yes | City/state or ZIP to search, e.g. 'Austin, TX' or '78704'. | |
| home_type | No | Property type filter: houses, condos, townhomes, multi_family, apartments, manufactured, lots_land. Omit for all. | |
| max_price | No | Maximum price (or monthly rent). | |
| min_price | No | Minimum price (or monthly rent). | |
| max_results | No | How many listings to collect across pages (~41 per page). Default: 41. | |
| proxy_country | No | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, the description discloses genuinely non-obvious behavior: pagination (~41 per page) driven by max_results, the rental building variant that lacks `zpid` and instead carries `lotId`, `buildingName`, a price-to-maxPrice rent range, `units` and `availableUnits`, and the billing model (one unit per result page fetched). These are exactly the traits an agent could not infer from the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The most important information (location search, returned fields) is front-loaded, and the rental-building edge case and billing warning are placed after the core usage. It is dense but well ordered; the trailing 'Returns JSON.' sentence is redundant with the opening 'returns the listings as JSON' and is the one piece of dead weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter scraper with no output schema, the description carries the needed load: it enumerates return fields, explains the anomalous rental-building shape, documents the pagination/cost tradeoff for max_results, and notes proxy_country's role implicitly through the request context. An agent has enough to call this correctly without further discovery.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning on top: min_price/max_price also mean monthly rent when status=for_rent, and max_results is framed as collection across multiple pages rather than a single request. The remaining filters (sort, home_type, status) are restated from the schema rather than extended.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource pair ('Searches Zillow for `location` ... returns the listings as JSON') and enumerates the returned fields, so an agent can distinguish it from the other marketplace scrapers in the sibling list (amazon_search, ebay_search, walmart_search) at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operating context: filter with status/min_price/max_price/beds/baths/home_type, sort with sort, and cap collection with max_results. It also advises keeping max_results modest because of per-page billing. What's missing is any explicit statement of when NOT to use it or a pointer to an alternative sibling, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
24 tool updates
- Changed
amazon_product1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
amazon_reviews1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
amazon_search3 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / page / maximumAdded value: +9007199254740991 - added
Input schema / properties / page / minimumAdded value: +-9007199254740991
- Changed
booking_hotels9 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / adults / maximumAdded value: +9007199254740991 - added
Input schema / properties / adults / minimumAdded value: +-9007199254740991 - added
Input schema / properties / children / maximumAdded value: +9007199254740991 - added
Input schema / properties / children / minimumAdded value: +-9007199254740991 - added
Input schema / properties / max_results / maximumAdded value: +9007199254740991 - added
Input schema / properties / max_results / minimumAdded value: +-9007199254740991 - added
Input schema / properties / rooms / maximumAdded value: +9007199254740991 - added
Input schema / properties / rooms / minimumAdded value: +-9007199254740991
- Changed
browse_page3 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / steps / items / additionalPropertiesRemoved value: -false - added
Input schema / properties / steps / items / properties / timeout_ms / maximumAdded value: +9007199254740991
- Changed
ebay_search5 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / page / maximumAdded value: +9007199254740991 - added
Input schema / properties / page / minimumAdded value: +-9007199254740991 - added
Input schema / properties / page_size / maximumAdded value: +9007199254740991 - added
Input schema / properties / page_size / minimumAdded value: +-9007199254740991
- Changed
fetch_html1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
fetch_markdown1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
fetch_parsed1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google_images5 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / max_results / maximumAdded value: +9007199254740991 - added
Input schema / properties / max_results / minimumAdded value: +-9007199254740991 - added
Input schema / properties / pages / maximumAdded value: +9007199254740991 - added
Input schema / properties / pages / minimumAdded value: +-9007199254740991
- Changed
google_local1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google_search1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google_shopping7 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / max_price / maximumAdded value: +9007199254740991 - added
Input schema / properties / max_price / minimumAdded value: +-9007199254740991 - added
Input schema / properties / max_results / maximumAdded value: +9007199254740991 - added
Input schema / properties / max_results / minimumAdded value: +-9007199254740991 - added
Input schema / properties / min_price / maximumAdded value: +9007199254740991 - added
Input schema / properties / min_price / minimumAdded value: +-9007199254740991
- Changed
indeed_jobs9 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / days / maximumAdded value: +9007199254740991 - added
Input schema / properties / days / minimumAdded value: +-9007199254740991 - added
Input schema / properties / max_results / maximumAdded value: +9007199254740991 - added
Input schema / properties / max_results / minimumAdded value: +-9007199254740991 - added
Input schema / properties / radius / maximumAdded value: +9007199254740991 - added
Input schema / properties / radius / minimumAdded value: +-9007199254740991 - added
Input schema / properties / start / maximumAdded value: +9007199254740991 - added
Input schema / properties / start / minimumAdded value: +-9007199254740991
- Changed
list_elements1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
list_plugins1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
maps_place_details1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
run_plugin2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / params / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
search_and_read1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
trustpilot_reviews6 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / page / maximumAdded value: +9007199254740991 - added
Input schema / properties / page / minimumAdded value: +-9007199254740991 - added
Input schema / properties / pages / maximumAdded value: +9007199254740991 - added
Input schema / properties / pages / minimumAdded value: +-9007199254740991 - changed
Input schema / properties / stars / anyOfPrevious value: -[ - { - "items": { - "type": "integer" - }, - "type": "array" - }, - { - "$ref": "#/properties/stars/anyOf/0/items" - } -]New value: +[ + { + "items": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "type": "array" + }, + { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + } +]
- Changed
walmart_search9 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / max_price / maximumAdded value: +9007199254740991 - added
Input schema / properties / max_price / minimumAdded value: +-9007199254740991 - added
Input schema / properties / max_results / maximumAdded value: +9007199254740991 - added
Input schema / properties / max_results / minimumAdded value: +-9007199254740991 - added
Input schema / properties / min_price / maximumAdded value: +9007199254740991 - added
Input schema / properties / min_price / minimumAdded value: +-9007199254740991 - added
Input schema / properties / page / maximumAdded value: +9007199254740991 - added
Input schema / properties / page / minimumAdded value: +-9007199254740991
- Changed
youtube_search3 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / max_results / maximumAdded value: +9007199254740991 - added
Input schema / properties / max_results / minimumAdded value: +-9007199254740991
- Changed
youtube_transcript1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
zillow_search13 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / baths / maximumAdded value: +9007199254740991 - added
Input schema / properties / baths / minimumAdded value: +-9007199254740991 - added
Input schema / properties / beds / maximumAdded value: +9007199254740991 - added
Input schema / properties / beds / minimumAdded value: +-9007199254740991 - added
Input schema / properties / max_price / maximumAdded value: +9007199254740991 - added
Input schema / properties / max_price / minimumAdded value: +-9007199254740991 - added
Input schema / properties / max_results / maximumAdded value: +9007199254740991 - added
Input schema / properties / max_results / minimumAdded value: +-9007199254740991 - added
Input schema / properties / min_price / maximumAdded value: +9007199254740991 - added
Input schema / properties / min_price / minimumAdded value: +-9007199254740991 - added
Input schema / properties / page / maximumAdded value: +9007199254740991 - added
Input schema / properties / page / minimumAdded value: +-9007199254740991
4 tool updates
- Changed
list_plugins1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "Travel", - "Google", - "AI", - "Search engines", - "E-commerce", - "Classifieds & Resale", - "Groceries", - "Real estate", - "Vehicles", - "Jobs", - "Reviews & Companies", - "Local & Maps", - "Apps", - "Video & Music", - "SEO & Ads" -]New value: +[ + "Travel", + "Google", + "AI", + "Search engines", + "E-commerce", + "Classifieds & Resale", + "Groceries", + "Real estate", + "Vehicles", + "Jobs", + "Reviews & Companies", + "Local & Maps", + "Apps", + "Video & Music", + "Sports", + "SEO & Ads" +]
- Changed
maps_place_details1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"A Google Maps place URL (share link or /maps/place/... URL). The feature id or place_id is read out of it."New value: +"A Google Maps place URL: a /maps/place/... URL, a maps.app.goo.gl share link or a maps?cid= link. The place is read out of it."
- Changed
run_plugin1 field changed- changed
Input schema / properties / name / enumPrevious value: -[ - "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", - "google_ai_mode", - "google_lens", - "gemini", - "bing_search", - "bing_images", - "duckduckgo_search", - "yahoo_search", - "yahoo_images", - "brave_search", - "brave_images", - "amazon_product", - "amazon_search", - "amazon_bestsellers", - "amazon_reviews", - "amazon_offers", - "amazon_seller", - "walmart_search", - "target_search", - "bestbuy_search", - "homedepot_search", - "costco_search", - "costco_product", - "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", - "flipkart_search", - "flipkart_product", - "lazada_search", - "lazada_product", - "allegro_search", - "allegro_product", - "falabella_search", - "falabella_product", - "magazineluiza_search", - "magazineluiza_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", - "kroger_search", - "kroger_product", - "instacart_search", - "instacart_product", - "publix_search", - "publix_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" -]New value: +[ + "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", + "maps_reviews", + "google_trends", + "google_shopping", + "google_jobs", + "google_hotels", + "google_hotels_property", + "google_news", + "google_ads_transparency", + "google_ads_transparency_advertisers", + "google_ai_mode", + "google_lens", + "gemini", + "chatgpt", + "bing_search", + "bing_images", + "duckduckgo_search", + "yahoo_search", + "yahoo_images", + "brave_search", + "brave_images", + "amazon_product", + "amazon_search", + "amazon_bestsellers", + "amazon_reviews", + "amazon_offers", + "amazon_seller", + "walmart_search", + "walmart_product", + "target_search", + "target_category", + "target_product", + "bestbuy_search", + "bestbuy_product", + "homedepot_search", + "costco_search", + "costco_product", + "etsy_search", + "etsy_product", + "shein_search", + "zalando_search", + "aliexpress_search", + "aliexpress_product", + "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", + "flipkart_search", + "flipkart_product", + "lazada_search", + "lazada_product", + "allegro_search", + "allegro_product", + "falabella_search", + "falabella_product", + "magazineluiza_search", + "magazineluiza_product", + "mediamarkt_search", + "mediamarkt_product", + "cdiscount_search", + "cdiscount_product", + "idealo_search", + "idealo_offers", + "rakuten_search", + "rakuten_product", + "indiamart_search", + "indiamart_product", + "bedbathandbeyond_search", + "bedbathandbeyond_product", + "petco_search", + "petco_product", + "neobits_product", + "lowes_search", + "lowes_product", + "menards_search", + "menards_product", + "grainger_search", + "grainger_product", + "ebay_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", + "kroger_search", + "kroger_product", + "instacart_search", + "instacart_product", + "publix_search", + "publix_product", + "bodegaaurrera_search", + "bodegaaurrera_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", + "sofascore_events", + "sofascore_match", + "sofascore_search", + "sofascore_team", + "sofascore_player", + "sofascore_tournament", + "similarweb_overview", + "ahrefs", + "semrush_overview", + "meta_ad_library" +]
- Changed
youtube_transcript1 field changed- changed
Input schema / properties / format / descriptionPrevious value: -"Output shape: text, segments. 'segments' returns timestamps; 'text' returns only the joined plaintext. Default: segments."New value: +"Output shape: segments, text. 'segments' returns timestamps; 'text' returns only the joined plaintext. Default: segments."
2 tool updates
- Changed
list_plugins1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "Travel", - "Google", - "Search engines", - "E-commerce", - "Classifieds & Resale", - "Groceries", - "Real estate", - "Vehicles", - "Jobs", - "Reviews & Companies", - "Local & Maps", - "Apps", - "Video & Music", - "SEO & Ads" -]New value: +[ + "Travel", + "Google", + "AI", + "Search engines", + "E-commerce", + "Classifieds & Resale", + "Groceries", + "Real estate", + "Vehicles", + "Jobs", + "Reviews & Companies", + "Local & Maps", + "Apps", + "Video & Music", + "SEO & Ads" +]
- Changed
run_plugin1 field changed- changed
Input schema / properties / name / enumPrevious value: -[ - "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" -]New value: +[ + "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", + "google_ai_mode", + "google_lens", + "gemini", + "bing_search", + "bing_images", + "duckduckgo_search", + "yahoo_search", + "yahoo_images", + "brave_search", + "brave_images", + "amazon_product", + "amazon_search", + "amazon_bestsellers", + "amazon_reviews", + "amazon_offers", + "amazon_seller", + "walmart_search", + "target_search", + "bestbuy_search", + "homedepot_search", + "costco_search", + "costco_product", + "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", + "flipkart_search", + "flipkart_product", + "lazada_search", + "lazada_product", + "allegro_search", + "allegro_product", + "falabella_search", + "falabella_product", + "magazineluiza_search", + "magazineluiza_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", + "kroger_search", + "kroger_product", + "instacart_search", + "instacart_product", + "publix_search", + "publix_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" +]
2 tool updates
- Changed
run_plugin1 field changed- changed
Input schema / properties / name / enumPrevious value: -[ - "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", - "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", - "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", - "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" -]New value: +[ + "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" +]
- Changed
youtube_transcript1 field changed- changed
Input schema / properties / format / descriptionPrevious value: -"Output shape: segments, text. 'segments' returns timestamps; 'text' returns only the joined plaintext. Default: segments."New value: +"Output shape: text, segments. 'segments' returns timestamps; 'text' returns only the joined plaintext. Default: segments."
2 tool updates
- Added
browse_page - Changed
fetch_html1 field changed- removed
Input schema / properties / stepsRemoved value: -{ - "description": "Ordered browser actions to run in a real browser after the page loads (wait_for, wait_for_text, wait, click, type [human-like], select, press_key, scroll), then return the resulting HTML. NON-IDEMPOTENT: it runs once and is not retried. A failed step returns a 422 naming the offending step plus the page HTML at that point. Discover selectors with list_elements first.", - "items": { - "additionalProperties": false, - "properties": { - "action": { - "description": "The action to perform.", - "enum": [ - "wait_for", - "wait_for_text", - "wait", - "click", - "type", - "select", - "press_key", - "scroll" - ], - "type": "string" - }, - "clear": { - "description": "For 'type': clear the field first.", - "type": "boolean" - }, - "selector": { - "description": "CSS selector the action targets (required for wait_for/click/type/select).", - "type": "string" - }, - "selector_type": { - "description": "How to interpret `selector` (default 'css').", - "enum": [ - "css", - "xPath", - "className", - "tagName" - ], - "type": "string" - }, - "timeout_ms": { - "description": "Per-step timeout override in ms.", - "exclusiveMinimum": 0, - "type": "integer" - }, - "value": { - "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.", - "type": [ - "string", - "number" - ] - } - }, - "required": [ - "action" - ], - "type": "object" - }, - "type": "array" -}
2 tool updates
- Added
fetch_markdown - Added
search_and_read
15 tool updates
- Added
amazon_product - Added
amazon_reviews - Added
amazon_search - Added
booking_hotels - Added
ebay_search - Added
google_images - Added
google_local - Added
google_shopping - Added
indeed_jobs - Added
maps_place_details - Added
trustpilot_reviews - Added
walmart_search - Added
youtube_search - Added
youtube_transcript - Added
zillow_search
1 tool update
- Changed
run_plugin1 field changed- changed
Input schema / properties / name / enumPrevious value: -[ - "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", - "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", - "temu_search", - "temu_product", - "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", - "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", - "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" -]New value: +[ + "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", + "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", + "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", + "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" +]
2 tool updates
- Changed
list_plugins1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "Travel", - "Google", - "Search engines", - "E-commerce", - "Classifieds & Resale", - "Groceries", - "Real estate", - "Vehicles", - "Jobs", - "Reviews & Companies", - "Local & Maps", - "Apps", - "Video, Music & Communities", - "SEO & Ads" -]New value: +[ + "Travel", + "Google", + "Search engines", + "E-commerce", + "Classifieds & Resale", + "Groceries", + "Real estate", + "Vehicles", + "Jobs", + "Reviews & Companies", + "Local & Maps", + "Apps", + "Video & Music", + "SEO & Ads" +]
- Changed
run_plugin1 field changed- changed
Input schema / properties / name / enumPrevious value: -[ - "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", - "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", - "temu_search", - "temu_product", - "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", - "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", - "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_comments", - "youtube_transcript", - "spotify_search", - "spotify_artist", - "spotify_album", - "spotify_track", - "spotify_playlist", - "telegram_channel", - "quora_question", - "quora_profile", - "similarweb_overview", - "ahrefs", - "semrush_overview", - "meta_ad_library" -]New value: +[ + "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", + "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", + "temu_search", + "temu_product", + "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", + "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", + "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" +]
2 tool updates
- Added
list_plugins - Added
run_plugin
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityCmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs112 npm58 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.