Skip to main content
Glama

Server Details

All HasData scraping tools in one MCP server: Google, TikTok, Instagram, maps, e-commerce and more.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
HasData/hasdata-mcp
GitHub Stars
6
Server Listing
HasData MCP Server

TDQS

A3.8/5.0

Scored across 63 tools

Disambiguation4/5

Tools are almost always namespaced by platform and resource (e.g., amazon_product, google_maps_reviews), so an agent can usually tell them apart. The main ambiguity is the repeated 'getMapReviews' and 'getSearchResults' action names within the same service family, but the descriptions resolve the overlap.

Naming Consistency4/5

The dominant hasdata_<platform>_<resource>_get<Resource> pattern is applied consistently across most of the 63 tools. A few deviations stand out: the random hash in getImmersive_e29f691177, performMapSearch instead of getSearchResults, and duplicated segments like web_scraping_web_scraping_scrapeWebPage.

Tool Count1/5

63 tools is far beyond the 25+ 'too many' threshold and into the 50+ extreme-mismatch range. The multi-vertical data-provider purpose explains the catalog, but exposing all verticals as one MCP server creates an unwieldy agent selection surface; it would be better decomposed by vertical.

Completeness4/5

Each vertical generally has a discovery/search endpoint and a detail/deep-dive endpoint, with identifiers that feed cleanly into downstream tools (e.g., search results feed product/place/property endpoints). Minor gaps such as Airbnb/Booking review listings and Instagram search are workaround-able, and the universal web scraper acts as a catch-all.

Available Tools

63 tools
hasdata_airbnb_listing_getAirbnbListingsairbnb_listing: GET /AInspect

Get Airbnb Listings

Searches Airbnb for available stays by location or map bounding box (neLat/neLng/swLat/swLng) and date range (check-in/check-out) with guest composition (adults, children, infants, pets) and nextPageToken pagination. Returns listing id/url, title, price per night and total, rating, review count, coordinates, photos, host info, room/bed/bath counts, and amenities summary. Use for travel planning agents, short-term rental market analysis, pricing/occupancy research, and lead lists for property management.

ParametersJSON Schema
NameRequiredDescriptionDefault
petsNoNumber of pets.
neLatNoNorth-east corner latitude of the map bounding box. When all four bounding-box coordinates are provided, listings are searched within the box instead of by location.
neLngNoNorth-east corner longitude of the map bounding box.
swLatNoSouth-west corner latitude of the map bounding box.
swLngNoSouth-west corner longitude of the map bounding box.
adultsNoNumber of adults.
checkInYesThe check-in date for the listings.
infantsNoNumber of infants.
checkOutNoThe check-out date for the listings.
childrenNoNumber of children.
locationNoThe location to search for listings. Required unless a full map bounding box (neLat, neLng, swLat, swLng) is provided.
nextPageTokenNoThe token used to retrieve the next page of results.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The tool is described as a read-oriented search operation that 'returns' listing data, and no side effects are implied. However, with no annotations, it does not explicitly state that it is non-mutating, nor does it mention rate limits or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized and front-loaded with the tool's purpose, followed by output details and use cases. It is slightly verbose with repeated phrases and use-case enumeration, but still efficient and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main invocation patterns, required and optional input categories, pagination, and a broad list of returned fields. Since there is no output schema and annotations are absent, it carries a heavier burden; it could be more complete by specifying date format and the exact relationship between check-in and check-out requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is complete and parameter descriptions add useful semantics, especially the requirement that location is needed unless all four bounding-box coordinates are provided. Missing details such as date format and the exact required combination of check-in/check-out slightly reduce the score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a search operation for Airbnb listings by location or bounding box and date range, and enumerates the returned data. Its listing-focused scope is easily distinguished from the sibling property-details tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete use cases and explains the two main search modes (location vs. bounding box), along with pagination via nextPageToken. It does not explicitly contrast the sibling property-details tool, but the intended usage context is still clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_airbnb_property_getAirbnbPropertyDetailsairbnb_property: GET /AInspect

Get Airbnb Property Details

Fetches the full Airbnb property page by listing URL. Returns title, description, location, coordinates, price breakdown, cleaning/service fees, rating and review distribution, host profile, room/bed/bath counts, photos, amenities list, house rules, cancellation policy, and availability calendar hints. Use for travel-planning agents, deep-dive rate research, photo/amenity enrichment of listings discovered via the listing-search endpoint, and LSTR compliance or market-quality audits.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the Airbnb listing. Must be a valid Airbnb listing URL.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavior. It says 'Fetches' which implies a read operation, and the title indicates GET. However, it does not explicitly state it is read-only, nor does it mention rate limits, latency, or any side effects. The detailed field list is helpful, but behavioral expectations beyond a straightforward fetch are not disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but not bloated. It front-loads the purpose and then lists the returned fields and use cases. Every sentence adds value, though the field list could be trimmed slightly. It remains efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description compensates by enumerating the returned fields thoroughly (title, description, location, coordinates, fees, ratings, host, counts, photos, amenities, rules, policy, calendar hints). It also covers typical use cases. It does not address error handling, pagination, or timeouts, but for a single-URL fetch those are minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage for the single 'url' parameter, which is described as a valid Airbnb listing URL. The description confirms this by saying 'by listing URL' but adds no new semantics (e.g., format, validation rules, or URL variants). With full schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb+resource ('Get Airbnb Property Details') and immediately specifies the input (listing URL). It enumerates the full set of returned fields, which leaves no ambiguity about what the tool does. It also explicitly ties it to the sibling listing-search endpoint, making differentiation straightforward.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists concrete use cases: travel-planning, deep-dive rate research, photo/amenity enrichment, and compliance audits. It references the listing-search endpoint as the source of discovered listings, which implies the sibling is for searching while this is for detail retrieval. It does not explicitly state when not to use it, but the use cases and the mention of the sibling provide adequate guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_amazon_product_getProductDetailsamazon_product: GET /AInspect

Get Amazon Product Details

Fetches a single Amazon product page by ASIN on a chosen Amazon domain (amazon.com, .co.uk, .de, .jp, etc.). Returns title, brand, current/list/deal price, currency, availability, Buy Box seller, Prime eligibility, bullet points, A+ description, rating and review count, images, category breadcrumbs, variants/sibling ASINs, and the other-sellers offers block (when otherSellers=true), plus delivery-zone-aware pricing when a shipping zip/location is set. Use for product research agents, price/stock monitoring, catalog enrichment, listing QA, Buy Box tracking, and cross-locale competitive analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
asinYesThe Amazon Standard Identification Number (ASIN) of the product.
domainNoAmazon domain to use. Default is www.amazon.com.
languageNoOptional Amazon language code. Supported values depend on the selected domain.
deliveryZipNoPostal code of the delivery location.
otherSellersNoAlso collect the offers of other sellers competing for this item. This takes an extra request to Amazon and costs 5 credits on top of the base. Default is false.
shippingLocationNoThe two-letter country code to define the country of the delivery address. Provide one exact documented value (238 allowed), e.g. `AU`, `CA`.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It reveals that otherSellers triggers an extra request and 5-credit cost, that shipping parameters enable delivery-zone-aware pricing, and enumerates the returned data fields. This goes beyond a simple fetch statement and sets accurate expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than minimal, but each sentence earns its place: purpose, return fields, conditional behavior, and use cases. The dense field list is justified because no output schema is present, making the enumeration valuable rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description fully compensates by enumerating the core returned data, covering conditional behaviors like otherSellers and shipping-location pricing, and listing relevant use cases. Nothing essential for an agent to decide when and how to call this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, providing a baseline of 3. The description adds meaningful semantics beyond the schema by explaining the otherSellers cost/extra-request tradeoff, how deliveryZip/shippingLocation affect pricing, and domain/language dependencies. This supplements the parameter definitions without redundancy.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific verb and resource: 'Fetches a single Amazon product page by ASIN on a chosen Amazon domain.' This clearly distinguishes product details from sibling tools focused on reviews, search, and seller data, even without naming them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Lists concrete use cases including product research, price/stock monitoring, listing QA, Buy Box tracking, and cross-locale analysis. This gives clear context for when to use the tool, though it does not explicitly state when not to use it or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_amazon_reviews_getProductReviewsamazon_reviews: GET /AInspect

Get Amazon Product Reviews

Paginated fetch of customer reviews for an Amazon ASIN with filters for star rating (1-5, positive, critical), reviewer type (all vs verified purchase), media-only reviews, current-variant vs all-formats, keyword search, and sort (helpful/recent). Returns per-review title, body, star rating, author name and profile, review date, country, verified-purchase flag, helpful-vote count, variant/format attributes, and attached media URLs, plus aggregate rating histogram. Use for voice-of-customer analysis, sentiment and theme extraction, feature-request mining, competitor review benchmarking, and feeding review-summarization or Q&A agents.

ParametersJSON Schema
NameRequiredDescriptionDefault
asinYesThe Amazon Standard Identification Number (ASIN) of the product.
pageNoThe page number to retrieve.
starsNoThe star ratings to filter reviews.
domainNoAmazon domain to use. Default is www.amazon.com.
formatNoThe format type to filter reviews. Include reviews of any product format/variant or specifically to the current format/variant.
sortByNoThe criterion to sort reviews.
languageNoOptional Amazon language code. Supported values depend on the selected domain.
mediaTypeNoThe media type to filter reviews.
searchTermNoA term to search within the reviews.
reviewerTypeNoThe type of reviewers to filter.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses pagination ('Paginated fetch'), the filtering dimensions, and enumerates the returned per-review fields plus aggregate rating histogram. It does not mention rate limits, authentication needs, or error behavior, but for a read-only GET tool the disclosed behavior is substantial and useful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient and front-loaded: the first sentence states the action, the next sentence lists filters, then outputs, then use cases. The use-case enumeration is slightly longer than strictly necessary but earns its place for agent selection. No redundancy or tautology.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and 10 parameters, the description compensates well by enumerating both the filter capabilities and the exact return fields, including the aggregate histogram. It lacks explicit default values for page, sortBy, or mediaType and does not describe response pagination metadata, but these are minor gaps given the rich input/output description present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 adds value beyond the schema by clarifying the semantics of several enum-based filters: 'star rating (1-5, positive, critical)' maps to stars, 'current-variant vs all-formats' clarifies format, and 'media-only reviews' clarifies mediaType. This helps an agent choose parameter values without needing to infer from enum names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 ('Get Amazon Product Reviews') and immediately expands to 'Paginated fetch of customer reviews for an Amazon ASIN,' clearly distinguishing it from the sibling tools that handle product details, search, and seller data. The scope is unmistakable even 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context by listing concrete use cases: voice-of-customer analysis, sentiment extraction, feature-request mining, competitor benchmarking, and review summarization. It does not explicitly exclude alternatives like getProductDetails or search_getSearchResults, but the distinct resource type makes the intended use obvious, so it earns a 4 rather than 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_amazon_search_getSearchResultsamazon_search: GET /AInspect

Get Amazon Search Results

Runs a keyword search on a chosen Amazon domain with pagination, delivery zip/location scoping, and sort order (featured, price low-to-high, price high-to-low, avg-customer-review, newest). Returns the organic results list with ASIN, title, thumbnail, product URL, price and list price, currency, star rating, review count, Prime/sponsored flags, and position, plus related search suggestions and filter facets. Use for SERP monitoring, keyword/share-of-shelf tracking, competitor discovery, ASIN harvesting to feed downstream product/reviews endpoints, and building product-research or price-comparison agents.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesThe search term for which to get the search results.
pageNoPage number for pagination (e.g., 1 for the first page, 2 for the second page, etc.).
domainNoAmazon domain to use. Default is www.amazon.com.
sortByNoParameter used for sorting results
languageNoOptional Amazon language code. Supported values depend on the selected domain.
deliveryZipNoPostal code of the delivery location.
shippingLocationNoThe two-letter country code to define the country of the delivery address. Provide one exact documented value (238 allowed), e.g. `AU`, `CA`.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and largely succeeds: it discloses that results are organic, that sponsored/Prime flags and position are included, and that related search suggestions and filter facets are returned. It omits error/rate-limit caveats and slightly mislabels sort values, but the behavioral details are substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is organized into three purposeful sentences: action, return payload, and use cases. The opening phrase 'Get Amazon Search Results' is slightly redundant with the tool name, but the rest is dense and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters, no annotations, and no output schema, the description covers the operation, scoping options, return fields, and downstream applications well. It is not fully complete because pagination mechanics and exact sort-value naming are left ambiguous, and sibling-tool routing is only implied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 human-readable meaning for sort order and delivery zip/location scoping beyond the schema, though it does not fully reconcile its sort wording with the schema enum (e.g., 'newest' vs 'newestArrivals' and the omitted 'bestSellers').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Runs a keyword search') and identifies the resource (a chosen Amazon domain), then details the returned data. This makes it unmistakably distinct from the sibling product-details, reviews, and seller tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Concrete use cases are listed: SERP monitoring, share-of-shelf tracking, competitor discovery, ASIN harvesting to feed downstream product/reviews endpoints, and product-research/price-comparison agents. It gives clear context for when to use this tool, though it does not explicitly say when to prefer a sibling tool instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_amazon_seller_getSellerDetailsamazon_seller: GET /AInspect

Get Amazon Seller Details

Fetches the public storefront profile for an Amazon seller by sellerId on the chosen domain/language. Returns business name, seller logo, About-this-seller text, overall feedback rating and lifetime/12-month/90-day/30-day rating breakdown, feedback count, business address and contact details, customer service info, and any listed policies. Use for seller due-diligence and vetting, counterfeit/brand-protection workflows, MAP-violation investigations, building seller leaderboards, and enriching marketplace seller directories.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoAmazon domain to use. Default is www.amazon.com.
languageNoOptional Amazon language code. Supported values depend on the selected domain.
sellerIdYesThe unique Amazon seller ID.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It clearly indicates a non-destructive read of public data ('Fetches the public storefront profile') and enumerates return content. It does not discuss rate limits, failure modes, or authentication, but 'public' and 'fetches' make the core behavior transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The body is front-loaded with the core operation, followed by useful return-content and use-case context. The heading line 'Get Amazon Seller Details' duplicates the tool name, and the use-case list is slightly long, but there is no true filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only look-up with 3 parameters and no output schema, the description is complete: it identifies what is returned, the required identifier, the domain/language context, and the use cases that justify selecting the tool. No critical selection or invocation information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 sellerId, domain, and language. The description adds only that the fetch is 'by sellerId on the chosen domain/language,' which maps to the parameters but does not add new semantic detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific operation — fetches the public storefront profile for an Amazon seller by sellerId on a domain/language — and names the resource (seller profile) and scope. It is clearly distinct from sibling tools focused on product details, reviews, search results, or seller product listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit use cases (seller due-diligence, vetting, counterfeit/brand-protection, MAP-violation investigations, leaderboards, seller-directory enrichment), so an agent knows the intended context. It does not explicitly say when NOT to use it or name an alternative tool, 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.

hasdata_amazon_seller_products_getSellerProductsamazon_seller_products: GET /AInspect

Get Amazon Seller Products

Paginated listing of the storefront catalog offered by a given Amazon sellerId on the chosen domain. Returns each product row with ASIN, title, image, product URL, price and list price, currency, star rating, review count, and Prime flag. Use to map a competitor's or 3P seller's full assortment, detect new SKU launches, build brand-protection watchlists, drive price-intelligence pipelines, and seed per-ASIN deep-dives against the product and reviews endpoints.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (e.g., 1 for the first page, 2 for the second page, etc.).
domainNoAmazon domain to use. Default is www.amazon.com.
languageNoOptional Amazon language code. Supported values depend on the selected domain.
sellerIdYesThe unique Amazon seller ID.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It clearly states the listing is paginated and lists the exact fields returned per product row. It does not mention rate limits, page size, or explicit read-only status, but for a GET listing endpoint the disclosed behavior is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately concise and front-loaded with the core operation. The opening phrase 'Get Amazon Seller Products' is redundant with the tool name, but the following sentence quickly explains the paginated catalog behavior. The use-case list is slightly long but still relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Since there is no output schema, the description usefully enumerates the expected return fields and notes pagination. It does not mention page size, sorting, or language-domain dependency behavior, but those are partially covered by the input schema and are not critical for this moderate-complexity listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains page, domain, language, and sellerId. The description adds contextual framing around sellerId and domain but no additional parameter-level syntax or constraints beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description defines a specific operation: a paginated listing of a seller's storefront catalog for a given sellerId and domain. It also enumerates the returned fields, making it easy to distinguish from the sibling tools such as getSellerDetails, getProductDetails, and getSearchResults.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete use cases such as mapping a competitor's assortment, detecting new SKU launches, and building brand-protection watchlists. It also hints at downstream deep-dives against product and reviews endpoints, but it does not explicitly state when not to use this tool or name alternative tools as direct conditionals.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_bing_serp_getSearchResultsbing_serp: GET /AInspect

Get Bing Search Results

Fetches Bing SERPs for a query with geo targeting (location/lat/lon), market (mkt), country (cc), safesearch (off/moderate/strict), interface language (setLang), time/custom filters, device type, and pagination (first offset). Returns organic results (title, url, snippet, displayed url, position), related searches, answer boxes/knowledge panels, and pagination metadata. Use for SEO rank tracking, SERP feature monitoring, Bing-specific visibility audits, and training/eval data for search agents.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSpecify the search term for which you want to scrape the SERP.
ccNoThe two-letter country code for the country to search from.
latNoGPS latitude for the search origin.
lonNoGPS longitude for the search origin.
mktNoThe two-letter country code for the country to search from.
firstNoThis parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 1 (default) indicates the first page of results, 11 refers to the second page, and 21 to the third page.
filtersNoAllows applying various filters to narrow search results, including date-based options: - `ex1:"ez1"` – past 24 hours - `ex1:"ez2"` – past week - `ex1:"ez3"` – past month For complex filters, run a Bing search and copy the filters parameter from the URL.
setLangNoThe language of the user interface and preferred result language. Accepts a two-letter language code (e.g. `en`, `de`) or a locale/script variant (e.g. `en-gb`, `zh-hans`, `pt-br`).
locationNoDefines the search’s origin location as free text (e.g. `Austin, Texas`). It is resolved to coordinates to localize the results. For realistic results, set location at the city level. If both `lat` and `lon` are provided, they take precedence and `location` is ignored. If omitted, the proxy’s location may be used.
deviceTypeNoSpecify the device type for the search.
safeSearchNoAdult Content Filtering option.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of explaining behavior. It discloses what the tool returns: organic results with title, URL, snippet, displayed URL, position, related searches, answer boxes/knowledge panels, and pagination metadata. It does not mention rate limits, authentication, or error behavior, but for a read-only search fetch the disclosed behavior is reasonably complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, starting with the tool's core purpose and then covering capabilities, return values, and use cases without redundancy. Every sentence adds value, and the structure is easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 11 parameters and no output schema, the description does well by summarizing return fields and listing all major parameter groups. It does not detail exact response structures or edge cases, but the combination of full schema coverage and the return-value overview gives an agent enough context to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 individually. The description adds grouping context (e.g., 'geo targeting (location/lat/lon), market (mkt), country (cc)') but does not introduce semantic detail beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Fetches Bing SERPs for a query' with a specific verb and resource, and enumerates the key capabilities like geo targeting, market, safesearch, and pagination. It also names concrete use cases (SEO rank tracking, Bing-specific visibility audits), making it easy to distinguish from the many sibling search tools for Google, DuckDuckGo, and other engines.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear application contexts: 'Use for SEO rank tracking, SERP feature monitoring, Bing-specific visibility audits, and training/eval data for search agents.' This implies when to choose Bing SERP over alternatives, though it does not explicitly name sibling tools or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_booking_place_getBookingPlaceDetailsbooking_place: GET /AInspect

Get Booking Hotel Details

Fetches a single Booking.com property by its full URL for the given stay dates (checkInDate / checkOutDate) and guest composition (rooms, adults, children with ages). Returns the property identity (hotelId, title, address, coordinates), policies (free cancellation, no prepayment, child/pet stays), price, rating and review summary, photos, and the list of available room suites for the requested window. Use to enrich property listings with real-time availability and pricing, monitor a specific competitor hotel over time, validate amenities and photos before displaying venue details to end users, or fetch full details after discovering the property URL via the Booking Search endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull Booking.com URL of the property page. Only `booking.com` and `www.booking.com` hosts are accepted.
roomsYesNumber of rooms to book.
adultsYesNumber of adult guests across all rooms.
childrenYesNumber of child guests across all rooms (0–10). Pass `0` if there are no children.
currencyNoCurrency of the prices returned in the response. Use `hotelCurrency` to keep each property's native currency. Provide one exact documented value (52 allowed), e.g. `hotelCurrency`, `usd`.
languageNoLanguage of the Booking.com interface and localized fields in the response.
checkInDateYesCheck-in date in `YYYY-MM-DD` format. Must be in the future and earlier than `checkOutDate`.
checkOutDateYesCheck-out date in `YYYY-MM-DD` format. Must be later than `checkInDate`.
childrenAgesNoComma-separated list of child ages, one entry per child (each `0`–`17`). Required when `children > 0` and the number of ages must equal `children`. Example: `1,3,7`

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It specifies that the tool fetches real-time availability and pricing and returns a comprehensive set of fields, implying a read-only operation. It does not explicitly state it is safe or non-mutating, but the language 'fetches' and 'returns' strongly implies read-only behavior. It lacks explicit mention of error conditions or rate limits, but these are not typical in tool descriptions, so a 4 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, with the purpose front-loaded in the first sentence, a concise enumeration of return fields in the second, and a list of use cases in the third. Every sentence adds value, and there is no redundant or filler content. The structure is ideal for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 9 parameters, 6 required, and no output schema, the description compensates by listing the categories of returned data (identity, policies, price, rating, photos, room suites). It also explains the input context (dates, guests) and references the search endpoint as the discovery path. It does not cover error handling or edge cases, but for a read-only fetch tool, the description is sufficiently complete for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 9 parameters, so the description adds little beyond what the schema already documents. It does reiterate key input groups (stay dates, guest composition) but without additional syntax or format details. Per the baseline for high schema coverage, a score of 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches a single Booking.com property by its full URL with stay dates and guest composition, returning a rich set of fields. It explicitly contrasts with the sibling search tool by noting it is used after discovering a property URL via the Booking Search endpoint, making it easy to distinguish.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases: enriching listings, monitoring competitor hotels, validating amenities, and fetching full details after a search. It implies the tool is for single-property lookups rather than broad searches, and references the sibling tool as the discovery step, leaving no ambiguity about when to choose this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_booking_search_getBookingSearchResultsbooking_search: GET /AInspect

Get Booking Search Results

Searches Booking.com for accommodations by destination keyword and stay dates (checkInDate / checkOutDate) with guest composition (rooms, adults, children with ages) and rich filtering: property type, star rating, review score, hotel and room facilities, distance from center, reservation policy, bed preference, travel group, online payment, accessibility, plus optional price range and bedroom/bathroom counts. Pagination is page-based with 25 results per page; locale is controlled by language and currency. Returns each hotel's hotelId, title and Booking URL, location info (city, address, coordinates, distance to center / nearest beach), policies (free cancellation, no prepayment, child/pet stays), price (per stay, before discount, discount, currency), rating, review summary and main photo. Use to power travel-planning agents, OTA price/inventory monitoring, hotel competitor analysis, lead-generation in the hospitality vertical, or to feed hotelId / URL into the Booking Place endpoint for full property details.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number of the search results. Booking.com returns 25 results per page; pass `2` for results 26–50, `3` for 51–75, etc.
sortNoSort order applied by Booking.com to the results page.
roomsYesNumber of rooms to book.
adultsYesNumber of adult guests across all rooms.
keywordYesFree-text destination query. Usually a city, region or neighborhood (e.g. `Paris`, `Manhattan, New York`); a specific property name is also accepted.
meals__NoFilter by available meal plans. Multiple values are combined with OR.
bedroomsNoMinimum number of bedrooms in the property.
childrenYesNumber of child guests across all rooms (0–10). Pass `0` if there are no children.
currencyNoCurrency of the prices returned in the response. Use `hotelCurrency` to keep each property's native currency. Provide one exact documented value (52 allowed), e.g. `hotelCurrency`, `usd`.
languageNoLanguage of the Booking.com interface and localized fields in the response.
rating__NoFilter by official star rating. Multiple values are combined with OR.
bathroomsNoMinimum number of bathrooms in the property.
price_max_NoMaximum total price for the stay, in the requested `currency`. Must be `>= 20` and greater than `price[min]`. Required if `price[min]` is omitted.
price_min_NoMinimum total price for the stay, in the requested `currency`. Must be `>= 10`. Required if `price[max]` is omitted.
checkInDateYesCheck-in date in `YYYY-MM-DD` format. Must be in the future and earlier than `checkOutDate`.
checkOutDateYesCheck-out date in `YYYY-MM-DD` format. Must be later than `checkInDate`.
childrenAgesNoComma-separated list of child ages, one entry per child (each `0`–`17`). Required when `children > 0` and the number of ages must equal `children`. Example: `1,3,7`
facilities__NoFilter by property-level facilities. Multiple values are combined with OR.
reviewScore__NoFilter by minimum guest review score bucket. Multiple values are combined with OR.
travelGroup__NoFilter by travel-group oriented stay options. Multiple values are combined with OR.
propertyType__NoFilter by property type. Multiple values are combined with OR.
bedPreference__NoFilter by bed configuration. Multiple values are combined with OR.
onlinePayment__NoFilter by online payment options.
roomFacilities__NoFilter by in-room facilities. Multiple values are combined with OR.
reservationPolicy__NoFilter by reservation flexibility. Multiple values are combined with OR.
roomAccessibility__NoFilter by in-room accessibility features. Multiple values are combined with OR.
distanceFromCenter__NoFilter by distance from the destination center. Multiple values are combined with OR.
propertyAccessibility__NoFilter by property-level accessibility features. Multiple values are combined with OR.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates a read-only search operation through 'Searches' and 'Returns', and summarizes the output fields. However, with no annotations provided, it does not explicitly state that the operation is side-effect-free, whether it modifies any data, or mention rate limits or authentication behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose and use cases, and the long middle section is dense with essential detail about filters and returned fields rather than being padded. It is long but efficient given the number of parameters and output categories.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although there is no output schema, the description clearly summarizes the returned hotel fields, pagination behavior, locale controls, and relationship to the Booking Place endpoint. It does not enumerate the exact response shape or error cases, but it provides enough context for a caller to understand what the tool does and how to chain it with the sibling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Every parameter has a description that goes beyond the raw schema, including constraints such as page size, date ordering, price minimums/maximums, childrenAges required when children > 0, currency value guidance, and OR semantics for array filters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly identifies this as a Booking.com accommodation search endpoint, states the core search inputs (destination, dates, guests), and explicitly positions it as the entry point before the Booking Place details endpoint via the mention of feeding hotelId/URL there.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete use cases such as travel planning, price monitoring, and competitor analysis, and explicitly connects to the sibling Booking Place endpoint for full property details. It does not formally state when not to use the tool, but the practical guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_duckduckgo_serp_getSearchResultsduckduckgo_serp: GET /AInspect

Get DuckDuckGo Search Results

Fetches DuckDuckGo SERPs for a query with region targeting (kl, or cc+setLang), safesearch (off/moderate/strict), device type, and page-based pagination. Returns organic results (title, url, snippet, displayed url, position, date, sitelinks, video metadata), ads, and the Search Assist AI answer. Use for SEO rank tracking, SERP feature monitoring, DuckDuckGo-specific visibility audits, and training/eval data for search agents.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSpecify the search term for which you want to scrape the SERP. Required unless `nextPageToken` is provided (which carries the query of the page it continues).
ccNoThe two-letter country code for the country to search from. Combined with `setLang` to form the DuckDuckGo region. Ignored if `kl` is set.
klNoDuckDuckGo region code in `<country>-<language>` form (e.g. `us-en`, `de-de`). Sets country and interface language at once; takes precedence over `cc`/`setLang`. Use `wt-wt` for no region.
setLangNoThe preferred result/interface language code — usually two letters (e.g. `en`, `de`), with script-tag variants for some languages (e.g. `zh-hans`, `zh-hant`). Combined with `cc` to form the DuckDuckGo region. Ignored if `kl` is set.
deviceTypeNoSpecify the device type for the search.
safeSearchNoAdult Content Filtering option.
nextPageTokenNoOpaque token returned in each response as `nextPageToken`. Pass it back (in place of `q`) to fetch the next page of results. It carries a pre-signed page URL bound to the original request's session, so it must be used as-is and cannot be constructed manually. Absent when there are no further pages.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It clearly indicates a read-only fetch operation and describes what is returned, including pagination behavior via 'nextPageToken' context. It does not mention rate limits or auth, but the read-only nature and output behavior are clearly disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a compact three-sentence summary with no redundant fluff. The title repeats the purpose, but the body adds useful detail about parameters, return contents, and use cases without excessive length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately covers what the tool returns (organic results, ads, AI answer) and mentions pagination. It also covers the main parameter dimensions and intended use cases. Minor gaps like explicit note that 'q' is needed for the first page are covered by the schema itself.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 meaningful grouping and relationships (e.g., 'kl, or cc+setLang' for region targeting, and explicit mention of safesearch and device type). This helps the agent understand how parameters relate beyond the individual schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it fetches DuckDuckGo SERPs for a query, lists the main search controls (region, safesearch, device type, pagination), and describes the result contents. This makes the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete use cases ('SEO rank tracking, SERP feature monitoring, DuckDuckGo-specific visibility audits, and training/eval data'), giving clear guidance on when to use it. There are no sibling tools to contrast against, so no alternative exclusions are needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_facebook_profile_getFacebookProfilefacebook_profile: GET /AInspect

Get Facebook Profile

Fetches a public Facebook page or profile by handle (username, @username or numeric profile id) and returns page id, name, username, category, bio, exact likes and talking-about counts, followers and following, website, phone, page owner, profile and cover photo URLs, plus the posts on the page with their text, media, reaction breakdown, comment and share counts. Walks the feed three posts per request via pagination.nextPageToken. Use to enrich company or creator records, verify a brand's reach and contact details before outreach, monitor competitor pages, or build datasets of page metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesThe Facebook username of the page or profile you want to scrape, with or without the `@` symbol, or its numeric profile id (the `id` of a `profile.php?id=…` URL), e.g. `nike` or `61550916779928`. Groups and private personal accounts are not supported.
languageNoLanguage the page is rendered in. Facebook serves a page in the language of the request, so this changes the localised strings (`followersCount`, `followingCount`, `category`) while the exact figures (`likesCount`, `talkingAboutCount`) stay numeric in every language.
nextPageTokenNoToken from the `pagination.nextPageToken` field of a previous response; the page it leads to is reported as `pagination.nextPage`. Each paginated request returns the next three posts of the feed and a fresh token; the token is absent once the feed ends. Every request is billed separately.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses that only public pages/profiles are supported, that feed pagination walks 'three posts per request via pagination.nextPageToken,' and that the counts are exact ('exact likes and talking-about counts'). This is substantive behavioral context beyond the schema, though it omits rate limits or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the operation and return fields, then gives pagination behavior and usage scenarios. The opening 'Get Facebook Profile' is redundant with the title, and the return-field sentence is long, but the content is dense and useful rather than padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Since there is no output schema, the description does the necessary work of enumerating return fields and explaining the pagination flow. The schema fills in the remaining parameter-level details such as unsupported groups/private accounts. The main gap is no explicit statement about errors, rate limits, or billing, though billing is mentioned in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and every parameter already has a rich description, including handle formats/examples, language effects, and nextPageToken pagination semantics. The description's pagination sentence mostly restates the schema's nextPageToken description, so it adds little beyond the structured documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Fetches a public Facebook page or profile by handle' and then enumerates the exact returned data (id, name, category, bio, likes, talking-about counts, followers, posts, etc.). This clearly states what the tool does and, because no other sibling tool targets Facebook, it is easy to distinguish from the Instagram/TikTok/YouTube profile tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete use cases: 'enrich company or creator records, verify a brand's reach and contact details before outreach, monitor competitor pages, or build datasets of page metadata.' It does not explicitly name alternative tools or state when not to use it, but the Facebook-specific identity and public-profile restriction provide sufficient context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_glassdoor_job_getJobDetailsglassdoor_job: GET /AInspect

Get GlassDoor Job Details

Fetches a Glassdoor job posting by its vacancy URL. Returns job title, company name and rating, location, salary estimate, employment type, posted date, full job description, qualifications/benefits, and apply link. Use for ATS ingestion, job aggregators, comp benchmarking, enrichment of company profiles, and feeding descriptions into LLM matching or resume-tailoring pipelines.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the job vacancy to retrieve details for.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of explaining behavior. It does list the returned fields and suggests practical use cases, but it does not mention potential limitations, error behavior, authentication, or rate limits. This is adequate for a simple fetch operation but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise and well-structured: a clear action sentence, a list of returned fields, and a list of use cases. The use-case list is somewhat broad but not excessive, and every sentence contributes useful context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description gives enough context to invoke it correctly: what URL to provide, what data will be returned, and common scenarios where it is useful. It does not overpromise or omit critical invocation details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, 'url', is fully described in the schema as 'The URL of the job vacancy to retrieve details for.' The tool description largely repeats this and adds no new parameter-level details, so the description adds minimal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific action ('Fetches a Glassdoor job posting by its vacancy URL'), the resource (Glassdoor job posting), and the scope (details by URL). This clearly distinguishes it from the sibling listing tool and other job detail tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool ('by its vacancy URL') and lists relevant use cases such as ATS ingestion, job aggregation, and LLM matching. It does not explicitly name the alternative listing tool or say 'use this when you already have a URL', but the condition is strongly implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_glassdoor_listing_getJobListingsglassdoor_listing: GET /AInspect

Get GlassDoor Job Listings

Searches Glassdoor job listings by keyword and location with sort (recent/relevant), domain targeting, and nextPageToken pagination. Returns an array of jobs with title, company, location, salary estimate, posted date, job URL, and jobId, plus the next page token. Use to build job feeds, monitor hiring trends for roles/companies/regions, power candidate sourcing tools, and collect URLs for downstream full-detail scraping via the Glassdoor Job endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoThe sorting option for the search results.
domainNoThe domain of the Glassdoor site (optional).
keywordYesThe keyword used to search for job listings.
locationYesThe location to search for job listings.
nextPageTokenNoToken for fetching the next page of jobs.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the burden. It discloses the return structure (array of jobs with specific fields and next page token) and pagination behavior. It does not mention authentication or rate limits, but for a read-only search tool this is acceptable; the description is not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action and scoping. The return fields and use cases are listed efficiently with no filler. Each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 explaining the return array and pagination token. It covers purpose, usage, and routing to the details endpoint. It doesn't describe how to chain nextPageToken, but that's a minor gap given the clarity of the rest.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 merely echoes the parameters (sort, domain, nextPageToken) without adding new semantics or usage details beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly identifies the resource (Glassdoor job listings) and action (get/search). It distinguishes from the sibling details endpoint by mentioning 'downstream full-detail scraping via the Glassdoor Job endpoint', and from other platforms (Indeed, etc.) by naming Glassdoor explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States explicit use cases ('build job feeds, monitor hiring trends...') and points to the alternative for full details ('collect URLs for downstream full-detail scraping via the Glassdoor Job endpoint'). This gives clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_images_images_getImageSearchResultsgoogle_images_images: GET /AInspect

Get Image Search Results

Scrapes Google Images for a query with advanced filters (size, color, image type, safesearch, domain/country/language, device type) plus page-based pagination (ijn). Returns each image with title, source page URL, direct image URL, thumbnail, dimensions, source domain, and position. Use for visual-asset discovery, reverse-image workflows, dataset collection for ML/CV training, brand/logo monitoring, stock-image sourcing, and grounding multimodal LLMs with fresh image context.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query term for retrieving image results.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
ijnNoPage number for paginated results, where 0 is the first page.
tbsNo`tbs` parameter for the Google Images API customizes image search results with various filters that can be combined using commas. Here are the available options: Image Size Filters: - `isz:l` - Search for large images. - `isz:m` - Search for medium images. - `isz:i` - Search for icon-sized images. - `isz:lt,islt:qsvga` - Filter for images larger than 400×300. - `isz:lt,islt:vga` - Filter for images larger than 640×480. - `isz:lt,islt:svga` - Filter for images larger than 800×600. - `isz:lt,islt:xga` - Filter for images larger than 1024×768. - `isz:lt,islt:2mp` - Filter for images larger than 1600×1200. - `isz:lt,islt:4mp` - Filter for images larger than 2272×1704. - `isz:ex,iszw:1000,iszh:1000` - Search for images exactly 1000×1000. Color Filters: - `ic:color` - Search for full-color images. - `ic:gray` - Search for black and white images. - `ic:specific,isc:red` (and other colors such as orange, yellow, green, etc.) - Search for images predominantly in specified colors. Image Type Filters: - `itp:face` - Search for images of faces. - `itp:photo` - Search for photographs. - `itp:clipart` - Search for clipart images. - `itp:lineart` - Search for line drawings. - `itp:animated` - Search for animated images (GIFs).
safeNoAdult Content Filtering option.
uuleNoThe encoded location parameter.
domainNoGoogle domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
filterNoDefines whether to enable or disable the filters for 'Similar Results' and 'Omitted Results'. Set to 1 (default) to enable these filters, or 0 to disable them.
locationNoGoogle canonical location for the search.
deviceTypeNoSpecify the device type for the search.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral burden. It clearly discloses that this is a scraping operation, lists the advanced filters, mentions page-based pagination via 'ijn', and enumerates the returned fields. It does not cover rate limits, authentication, or failure behavior, but it gives a solid behavioral picture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action, then the output shape, then use cases. It is slightly longer than strictly necessary because of the use-case list, but each sentence contributes either behavioral clarity or usage guidance. It is well-structured and avoids redundancy with the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 11 parameters, no output schema, and no annotations, the description does a good job of summarizing what the tool returns and what filters are available. It does not mention error behavior, result count, or rate limits, but it covers the essential information an agent needs to select and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 value beyond the schema by grouping the filters into categories (size, color, image type, safesearch, domain/country/language, device type) and explicitly naming the pagination parameter 'ijn'. This helps an agent understand how the many parameters relate to each other.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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: 'Scrapes Google Images for a query.' It clearly distinguishes this from the many sibling search tools by focusing on image-specific results and explicitly listing image return fields like thumbnail, dimensions, and source domain. The name is also self-descriptive, but the description goes beyond it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear context of when to use the tool by enumerating use cases such as visual-asset discovery, reverse-image workflows, dataset collection, and brand monitoring. It does not explicitly state when not to use it or name alternative sibling tools, so it misses the full 'when-not/alternatives' bar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_maps_contributor_reviews_getMapReviewsgoogle_maps_contributor_reviews: GET /AInspect

Get Map Contributor Reviews

Lists all Google Maps reviews authored by a specific Local Guide / contributor by contributorId, with language/country targeting and nextPageToken pagination. Returns per-review rating, text, date, place name, place address, placeId, photos, and owner responses. Use for reviewer reputation checks, detecting fake/bot review patterns, local-guide activity analysis, and building review-author profiles for trust scoring.

ParametersJSON Schema
NameRequiredDescriptionDefault
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
numNoNumber of results per page, ranging from 10 to 200.
contributorIdYesGoogle Maps Contributor ID.
nextPageTokenNoDefines the next page token. It is used for retrieving the next page results.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the return fields and pagination but does not mention rate limits, errors, or authentication. It implies read-only via the GET method in the title but not explicitly in the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a clear verb, resource, and use-case sentence. It avoids fluff and is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description lists the return fields (rating, text, date, place name, place address, placeId, photos, owner responses) and mentions pagination. It does not cover error handling or limitations, but for a simple GET endpoint it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All five parameters are described in the schema, and the description adds extra details such as the valid range for 'num' (10-200) and the purpose of 'nextPageToken'. This goes beyond simply restating the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: listing Google Maps reviews authored by a specific contributor. It uses a specific verb ('Lists') and resource ('reviews authored by a specific Local Guide / contributor'), distinguishing it from the sibling tool for place reviews (hasdata_google_maps_reviews_getMapReviews).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases ('Use for reviewer reputation checks, detecting fake/bot review patterns, local-guide activity analysis, and building review-author profiles for trust scoring'). It does not explicitly compare with sibling tools, but the contributor focus makes the intended scenario clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_maps_photos_getMapPhotosgoogle_maps_photos: GET /AInspect

Get Place Photos

Fetches the photo gallery of a Google Maps place by dataId or placeId, paginated with nextPageToken and filterable by categoryId (all, latest, menu, by owner, videos, street view). Returns each photo with image URL, thumbnail, upload date, uploader, and photoId. Use for restaurant-menu extraction, venue/ambience visual audits, building rich place detail pages, and sourcing up-to-date imagery for POI listings.

ParametersJSON Schema
NameRequiredDescriptionDefault
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
dataIdNoGoogle Maps data ID. Either dataId or placeId should be set.
placeIdNoUnique reference to a place on Google Maps. Either dataId or placeId should be set.
categoryIdNoFilters photos by category.
nextPageTokenNoToken for fetching the next page of photos.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the disclosure burden. It discloses pagination via nextPageToken, filtering by categoryId, and the per-photo return fields (image URL, thumbnail, upload date, uploader, photoId). It does not cover auth, rate limits, or error behavior, but the read-only fetch semantics are clear from 'Fetches.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the core fetch behavior first and use cases last. The opening heading duplicates the tool title slightly, but the remaining sentences are information-dense and each earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description compensates by listing return fields and pagination behavior. It covers the main parameters (dataId/placeId, categoryId, nextPageToken) and provides use cases; only the optional hl parameter and required-parameter rules are left to the schema, which documents them adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 adds meaning by enumerating categoryId values ('all, latest, menu, by owner, videos, street view'), clarifying the dataId/placeId alternative, and tying nextPageToken to pagination. This goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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: 'Fetches the photo gallery of a Google Maps place.' It clearly distinguishes this tool from sibling Google Maps tools such as reviews, posts, and place details by centering on photos. The scope (by dataId or placeId) is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete use cases: 'restaurant-menu extraction, venue/ambience visual audits, building rich place detail pages, and sourcing up-to-date imagery for POI listings.' This tells an agent when the tool is valuable, but it does not explicitly name alternatives or state when not to use it, 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.

hasdata_google_maps_place_getPlaceDetailsgoogle_maps_place: GET /AInspect

Get Place Details

Fetches full Google Maps place data by placeId with optional domain/language localization. Returns name, address, coordinates, phone, website, categories, hours, rating, review count, price level, photos, popular times, attributes/amenities, plus_code, and map URL. Use for local SEO audits, POI enrichment, lead generation, competitor mapping, and building location-aware agents.

ParametersJSON Schema
NameRequiredDescriptionDefault
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
domainNoGoogle domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
placeIdYesA unique identifier for the place. This ID can be obtained from Google Maps search results.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the transparency burden. It clearly states that the operation fetches (read-only) and enumerates the returned data fields, while also noting optional domain/language localization. It does not mention rate limits, error behavior, or response format, but for a simple GET-by-ID endpoint the core behavior is adequately disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient and front-loaded: it states the action first, then the returned payload, then the use cases. The field list is long but earns its place because there is no output schema. The redundant heading 'Get Place Details' is a minor blemish.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three parameters, no output schema, and no annotations, the description supplies the essential return-value list and use cases, so an agent can judge when to call it and what to expect. It could be more complete by pointing to performMapSearch as the way to obtain a placeId or by noting response formatting, but these are not blocking gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all three parameters with 100% coverage, so the baseline is 3. The description adds only a small amount of context by saying the localization parameters are optional and by framing placeId as the lookup key; it does not provide additional parameter-level detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and resource: it 'Fetches full Google Maps place data by placeId', immediately distinguishing this details-by-ID tool from sibling tools like performMapSearch, getMapReviews, getMapPhotos, and getMapPosts. The explicit field list (name, address, coordinates, phone, categories, hours, etc.) reinforces that this is the comprehensive place-details endpoint, not a focused sub-resource tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete application context—'local SEO audits, POI enrichment, lead generation, competitor mapping, and building location-aware agents'—which tells an agent when this enrichment tool is appropriate. It does not explicitly name sibling tools or state when not to use it, so it falls short of full 5-level guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_maps_posts_getMapPostsgoogle_maps_posts: GET /AInspect

Get Map Posts

Paginated fetch of Google Maps Posts (timeline-style updates such as offers, events, announcements, and notices) for a place by dataId or placeId, with language targeting and nextPageToken pagination. Returns per-post title, description, image, posted_at, link, and source/business name. Use for small-business intelligence, local-marketing monitoring, competitor activity tracking, and surfacing current promotions and events from local merchants.

ParametersJSON Schema
NameRequiredDescriptionDefault
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
dataIdNoGoogle Maps data ID.
placeIdNoUnique reference to a place on a Google Map. Either dataId or placeId should be set.
nextPageTokenNoDefines the next page token. It is used for retrieving the next page results.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the operation is a paginated fetch and enumerates the returned data. However, with no annotations provided, it does not mention authentication requirements, rate limits, or potential side effects, so it does not fully carry the behavioral transparency burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured. It covers what the tool does, what it returns, and relevant use cases in a compact two-paragraph format without unnecessary filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is fairly complete for a read-only fetch tool: it names the resource, the identifier options, the pagination mechanism, the return fields, and practical use cases. It could be slightly stronger by explicitly addressing parameter precedence or edge cases, but it is adequate for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers all four parameters with descriptions, so the baseline is 3. The tool description adds minor context by mentioning 'by dataId or placeId' and 'nextPageToken pagination,' but it does not significantly enhance what the schema already conveys.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation: fetch Google Maps Posts for a place by dataId or placeId. It also specifies the resource type and outlines returned fields, making it easily distinguishable from sibling tools like reviews or photos.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear use cases such as small-business intelligence, local-marketing monitoring, and competitor activity tracking. It does not explicitly mention when not to use it or name alternative sibling tools, but the stated use cases give solid contextual guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_maps_reviews_getMapReviewsgoogle_maps_reviews: GET /AInspect

Get Map Reviews

Paginated fetch of Google Maps reviews for a place by dataId or placeId, with sort (mostRelevant, newestFirst, ratingHigh, ratingLow), topicId filter, and language. Returns per-review author name and profile link, star rating, text, published/relative date, likes count, owner response, attached photos, and local-guide flag. Use for reputation management, sentiment and topic mining, competitor review benchmarking, and feeding review data into summarization or trust-score LLMs.

ParametersJSON Schema
NameRequiredDescriptionDefault
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
dataIdNoGoogle Maps data ID.
sortByNoParameter used for sorting and refining results.
placeIdNoUnique reference to a place on a Google Map. Either dataId or placeId should be set.
topicIdNoDefines the ID of the topic you want to use for filtering reviews.
nextPageTokenNoDefines the next page token. It is used for retrieving the next page results.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the transparency burden. It discloses pagination behavior, sort/filter options, mutually exclusive identifiers, and the per-review fields returned. It does not mention rate limits, errors, or read-only guarantees, but the core behavior is adequately described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well structured: a short title, a functional summary, a list of returned fields, and use cases. It is slightly repetitive in listing parameter names that already appear in the schema, but it remains appropriately sized and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides enough context for an agent to select and invoke the tool correctly: purpose, key parameters, pagination token, and expected output fields. It is not exhaustive (no output schema or error scenarios), but it is adequate for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover 100% of parameters, so the baseline is 3. The description adds meaningful context beyond the schema, particularly that either dataId or placeId should be set and that pagination is handled via nextPageToken, which improves parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches Google Maps reviews, with resource, operation, and key refinements (dataId/placeId, sorting, topic, language). It is clearly distinguished from sibling tools for photos, posts, place details, and search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use cases such as reputation management, sentiment analysis, competitor review benchmarking, and feeding summarization/trust-score LLMs. It does not explicitly say when not to use it versus a sibling, but the resource-specific language makes the context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_maps_search_performMapSearchgoogle_maps_search: GET /AInspect

Get Google Maps Search Results

Runs a Google Maps search by keyword plus optional GPS coordinates (@lat,lng,zoomz via ll) with language, country, domain, and offset-based pagination (start). Returns the local pack list with placeId, name, address, coordinates, rating, review count, price level, categories, phone, website, hours, and thumbnail. Use for local lead generation, competitor density mapping, market expansion research, hyperlocal directories, and feeding placeIds into the Maps Place, Reviews, or Photos endpoints.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query term or phrase.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
llNoGPS coordinates of the location where the search query is to be performed. This parameter is required if the 'start' parameter is present. The format for the `ll` parameter is `@` followed by latitude, longitude, and zoom level, separated by commas. The latitude and longitude should be in decimal degrees, and the zoom level is an integer. Example: `@40.7455096,-74.0083012,14z`.
startNoSpecifies the result offset for pagination purposes. The offset dictates the number of rows to skip from the beginning of the results. This is useful for accessing subsequent pages of search results. For example, an offset of 0 (the default value) returns the first page of results, 20 returns the second page, 40 returns the third page, and so on. This parameter is especially relevant when used in conjunction with the 'll' parameter for location-based searches.
domainNoGoogle domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It explains the search behavior, return fields, pagination via start, and the dependency between ll and start. It does not mention rate limits or error handling, but for a read-only search API this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the main purpose, and structured into three clear sentences: what it does, what it returns, and when to use it. It avoids unnecessary verbosity while covering essential details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description compensates by enumerating the exact fields returned in the local pack list. It also covers pagination behavior, language/country/domain options, and practical use cases, making it complete for an agent to decide invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Every parameter in the schema has a description that adds significant meaning beyond the type. The ll parameter includes a format example and a conditional requirement, start explains pagination with concrete offsets, and gl/hl/domain include value ranges and examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs a Google Maps search and returns the local pack list with specific fields. It distinguishes itself from sibling tools like place details, reviews, and photos by focusing on the search entry point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists concrete use cases (local lead generation, competitor density mapping, market expansion research) and hints at follow-up tools by mentioning feeding placeIds into Maps Place, Reviews, or Photos endpoints. It does not explicitly say 'when not to use', but the use-case list is strong enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_scholar_cite_getScholarCitationFormatsgoogle_scholar_cite: GET /AInspect

Get Scholar Citation Formats

Looks up citation formats and export links for a single Google Scholar organic search result, identified by its resultId (as returned in a google/scholar organic result). Returns formatted citation snippets (MLA, APA, Chicago, Harvard, Vancouver) and reference-manager export links (BibTeX, EndNote, RefMan, RefWorks). Use to build citation/bibliography features or complete a research workflow started with google/scholar.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesThe `resultId` of a Google Scholar organic result, as returned by the google/scholar endpoint.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral transparency. It discloses that the tool returns citation snippets and export links, implying a read-only operation. However, it does not mention potential errors (e.g., invalid `resultId`), rate limits, or whether the operation is idempotent. This is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a title line, a clear functional explanation, an output summary, and use-case guidance. No redundant information or fluff is present. Every sentence contributes to the tool's understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that no output schema is provided, the description compensates by explicitly listing the expected output types (citation formats and export links). It also explains the input provenance (from google/scholar results) and the intended use cases, covering all essential context an agent needs to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters described. The `q` parameter is explained as the `resultId` from a google/scholar result, providing critical cross-tool context. The `hl` parameter includes guidance on format (two-letter code) and a range (159 allowed) with examples, which exceeds basic type information. These descriptions add meaningful value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: looking up citation formats and export links for a single Google Scholar result. It specifies the verb 'Looks up', identifies the resource type (Google Scholar organic result), and differentiates from sibling tools by referencing the `resultId` returned by the google/scholar endpoint. The use cases ('build citation/bibliography features') further clarify its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use the tool: after obtaining a `resultId` from a google/scholar organic result, and for citation/bibliography needs. It implicitly contrasts with the search tool that produces the results. However, it does not explicitly mention alternative tools or scenarios where this tool would be inappropriate, but the context is sufficient for a clear use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_scholar_scholar_getScholarSearchResultsgoogle_scholar_scholar: GET /AInspect

Get Scholar Search Results

Scrapes Google Scholar for a query with author:/source: search helpers, year range (asYlo/asYhi), cited-by and all-versions lookups (cites/cluster), review-article and citation-inclusion filters, language/language-restrict, and start/num pagination. Returns each organic result with title, link, snippet, publication info (authors with profile links), cited-by count and link, related-articles link, and all-versions count and link. Use for academic research, literature review automation, citation tracking, and grounding research agents with scholarly sources.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query. Supports Google Scholar search helpers such as `author:` and `source:`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
lrNoThe 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content.
numNoMaximum number of results to return per page.
asRrNoSet to 1 to return review articles only, or 0 (default) to return all articles.
safeNoAdult content filtering option.
asSdtNoSearch type/filter, e.g. `0,5` for the default Articles filter, `4` for case law with court codes, or `0`/`7` for patents.
asVisNoSet to 1 to exclude citations from the results, or 0 (default) to include them.
asYhiNoReturn results published up to and including this year.
asYloNoReturn results published from this year onward.
citesNoUnique article ID to look up articles that cite it, as returned in a result's `citedBy.citesId`.
startNoResult offset for pagination, where 0 is the first result.
filterNoDefines whether to enable or disable the filters for 'Similar Results' and 'Omitted Results'. Set to 1 (default) to enable these filters, or 0 to disable them.
scisbdNoSort results by date instead of relevance: 1 for abstracts only, 2 for everything. Omit for relevance sorting.
clusterNoUnique article ID to look up all indexed versions of that article, as returned in a result's `versions.clusterId`.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states it 'scrapes Google Scholar' and 'returns' organic results, implying a read-only operation. However, there are no annotations and the description does not mention potential rate limits, blocking, authentication requirements, or the absence of side effects. It covers basic behavior but leaves some operational expectations implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused paragraph that front-loads the purpose and then lists key features and use cases. It is not overly verbose, though it somewhat duplicates parameter details already present in the schema. Overall it is concise and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description compensates for the absence of an output schema by enumerating the result fields and linking them to parameter behavior. It includes enough context for an agent to understand expected outputs and typical applications. It lacks only explicit error/rate-limit handling, which is minor for a search GET endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema already describes all parameters (100% coverage), the prose description adds valuable context, such as examples for `asSdt` (e.g., '0,5' for Articles), the meaning of `scisbd` for date sorting, and how `cites`/`cluster` map to returned result fields. This goes beyond simple parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as scraping Google Scholar for search results, listing the key query capabilities (author/source helpers, year range, citation lookups) and the exact output fields (title, link, snippet, cited-by, versions). This differentiates it from sibling tools like the citation formatter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states recommended use cases ('academic research, literature review automation, citation tracking, and grounding research agents with scholarly sources'). It does not explicitly name alternative tools or provide 'when not to use' guidance, but the use cases are sufficiently specific to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_serp_ai_mode_getAiModeResponsegoogle_serp_ai_mode: GET /AInspect

Get AI Mode SERP Results

Captures Gemini-powered AI Mode answers from Google Search. Returns the conversational response text, cited source links, subtopic breakdowns, follow-up suggestions, and a subsequentRequestToken for multi-turn continuation. Use for next-gen search interfaces, AI-answer monitoring, citation tracking, content research agents, building question-answering pipelines grounded in live Google results, and person/company data enrichment — e.g. asking Who is the CEO of HasData?, What is Roman Milyushkevich's LinkedIn?, HasData founder email, HasData Instagram handle to get a synthesized answer plus source URLs in one call, ideal for lead enrichment, sales research, people search, and filling in contact/attribute gaps for CRM records.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSpecify the search term for which you want to scrape the SERP.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
uuleNoThe encoded location parameter.
locationNoGoogle canonical location for the search.
continuableNoWhether to continue an existing AI Mode conversation.
subsequentRequestTokenNoToken used to continue a previous AI Mode request.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but the description clearly explains the output and the continuation mechanism, making behavior transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is detailed and informative, though slightly verbose with repeated examples; it is still well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description fully explains what the tool does, its output, and its multi-turn continuation feature, making it complete for the given complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters with descriptions; the tool description does not add additional meaning beyond the schema, so a neutral score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it gets AI Mode SERP results from Google, distinguishing from other Google SERP tools like AI Overview.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases and examples, but does not explicitly compare with alternative tools, so slightly less than perfect.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_serp_ai_overview_getAiOverviewResponsegoogle_serp_ai_overview: GET /AInspect

Get AI Overview Results

Fetches the lazy-loaded Google AI Overview block via a pageToken returned by the Google SERP API (token valid for 4 minutes). Returns the AI-generated answer text, referenced source URLs, and expanded subtopic sections. Use as a follow-up call to Google SERP for tracking AI citations in SEO, fact-checking answers against sources, and LLM retrieval pipelines grounded in live Google results.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageTokenYesToken from `aiOverview` block in Google SERP API. Valid for 4 minutes.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the block is lazy-loaded, the token is valid for only 4 minutes, and it returns specific content. While it doesn't explicitly state read-only behavior, the description implies a safe fetch operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a clear title line, a brief explanation of what is fetched, the returned contents, and explicit use cases. No redundant or extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input (one parameter, no nested objects) and no output schema, the description is complete. It explains the purpose, parameter source and validity, expected return contents, and appropriate use cases, giving the agent everything needed to decide and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter, pageToken, is fully described in the input schema ('Token from aiOverview block... Valid for 4 minutes'), and the tool description repeats this same information without adding new meaning. Since schema coverage is 100%, baseline is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Get AI Overview Results') and resource (Google AI Overview block), distinguishes it from sibling tools by specifying it's a follow-up using a pageToken, and details the returned data (answer text, source URLs, subtopic sections).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides use cases: 'tracking AI citations in SEO, fact-checking answers against sources, and LLM retrieval pipelines grounded in live Google results.' It also implies the prerequisite of having a pageToken from a prior SERP call, making it clear when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_serp_events_getEventInformationgoogle_serp_events: GET /AInspect

Get Google Events Results

Scrapes the Google Events vertical for a query plus location (or uule) with date filters (today, tomorrow, this/next week, weekend, this/next month), virtual-event toggle, domain/country/language targeting, and pagination. Returns event title, start date/time, venue name and address, ticket/source links, description, and thumbnail. Use for event-discovery chatbots, local aggregators, calendar sync, competitive monitoring of event listings, and pulling upcoming shows/conferences for a region.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSpecify the search term for which you want to scrape the SERP.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
uuleNoThe encoded location parameter.
startNoThis parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 0 (default) indicates the first page of results, 10 refers to the second page, and 20 to the third page.
domainNoGoogle domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
htichipsNoFilter parameter for refining event search results. Supports various filters for events. Multiple filters can be passed using a comma. The available filters are: - `date:today`: Today's Events - `date:tomorrow`: Tomorrow's Events - `date:week`: This Week's Events - `date:weekend`: This Weekend's Events - `date:next_week`: Next Week's Events - `date:month`: This Month's Events - `date:next_month`: Next Month's Events - `event_type:Virtual-Event`: Online Events For example, to filter for today's online events, use: `event_type:Virtual-Event,date:today`.
locationNoGoogle canonical location for the search.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the tool 'scrapes' data, implying a read-only operation, but does not mention rate limits, authentication, or potential blocks. The description is adequate but not fully transparent about operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, starting with a brief summary, followed by functional details and use cases. It avoids excessive verbosity while covering essential aspects.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description provides sufficient context about functionality, parameters, and intended use cases. It does not describe return values, but no output schema is provided, so that is not required. It is complete enough for an agent to decide when and how to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides descriptions for all 8 parameters, including detailed explanation of htichips filters. The tool description adds no additional parameter semantics beyond what is already in the schema, so it meets the baseline but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool scrapes the Google Events vertical, listing specific filters and use cases. This distinguishes it from generic search and other vertical tools, such as general SERP or image search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly mentions use cases like event-discovery chatbots and local aggregators, implying when to use this tool. It does not name alternative tools, but the context makes it clear this is for event-specific searches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_serp_immersive_product_getImmersive_e29f691177google_serp_immersive_product: GET /AInspect

Get Immersive Product Information

Expands the Google Shopping Immersive Product pop-up given an immersiveProductPageToken from the Google Shopping API, with optional moreStores (up to ~13 merchants instead of 3–5) and nextPageToken for paginating stores. Returns multi-store offers (merchant, price, shipping, condition, URL), product specs, images, ratings, and the nextPageToken. Use for price-comparison bots, merchant discovery, dropshipping research, and aggregating full offer lists per product.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageTokenYesToken for displaying more product info in the Google immersive pop-up, available in the Google Shopping API response as the `immersiveProductPageToken` property.
moreStoresNoFetch additional store results in a single search. By default it returns 3–5 stores, and when true it returns up to 13 or the maximum available for the product.
nextPageTokenNoToken used to retrieve the next page of store results.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It describes the read-like behavior (expands, returns) and mentions pagination and optional store expansion, but it does not explicitly state that it is a read-only operation or disclose any potential side effects, auth requirements, or rate limits. The description is informative but not fully explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with the core purpose front-loaded. It includes a useful list of return fields and use cases without excessive verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description adequately explains what is returned (offers, specs, images, ratings, nextPageToken). It also covers key parameters and use cases. It does not mention error handling or token lifecycle, but these are not critical for a simple read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description adds minor context (e.g., moreStores expands from 3–5 to up to 13, nextPageToken paginates) but largely repeats what the schema says. It adds value but not significantly beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: it expands the Google Shopping Immersive Product pop-up given a token. It distinguishes itself by focusing on the immersive product view, but it does not explicitly name sibling tools or contrast with them, so it misses the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear use cases (price-comparison bots, merchant discovery, dropshipping research) but does not explicitly state when to avoid it or name alternatives. The context is clear but exclusions are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_serp_news_getGoogleNewsgoogle_serp_news: GET /AInspect

Get Google News Results

Retrieves Google News results by free-text query, topicToken (World, Business, Technology, etc.), sectionToken, publicationToken (e.g. CNN, BBC), or storyToken (full-coverage cluster with sort by relevance/date). Returns article title, snippet, source publisher, published date, thumbnail, and URL, plus tokens for navigating topics, sub-sections, and story clusters. Use for news monitoring, brand/PR tracking, topical aggregators, publisher-specific feeds, and drilling into full story coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text query as used on news.google.com. Not allowed with `topicToken`, `storyToken`, or `publicationToken`.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
soNoSort order for articles in a story. Use only with storyToken.
storyTokenNoToken for a single news story cluster (the “Full coverage” page).
topicTokenNoToken for a Google News topic such as World, Business, or Technology. Not allowed with `q`, `storyToken`, or `publicationToken`.
sectionTokenNoToken for a sub-section under a topic, for example Business → Economy. Use only when `topicToken` or `publicationToken` is present.
publicationTokenNoToken for a specific publisher such as CNN or BBC. Not allowed with `q`, `storyToken`, or `topicToken`.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It transparently describes the return payload (title, snippet, source publisher, published date, thumbnail, URL) and the navigation tokens, and notes that storyToken supports sorting by relevance/date. It does not mention limits, errors, or rate restrictions, but for a read-oriented GET endpoint the description provides solid behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core purpose, and every sentence adds useful information about retrieval modes, output, and use cases. It is dense but not bloated, and it avoids unnecessary repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 8-parameter schema with full descriptions and no output schema, the description adequately covers what the tool returns, the main input modes, and appropriate usage scenarios. It does not cover pagination or result limits, but the schema and stated output fields give an agent enough to invoke and interpret the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every parameter has a meaningful description with mutual-exclusion constraints. The tool description adds value by grouping the parameter types and explaining the story-cluster sort, but it mostly paraphrases what the schema already documents. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Retrieves Google News results') and resource, listing the distinct retrieval modes (free-text query, topicToken, sectionToken, publicationToken, storyToken) and the returned fields. It distinguishes itself from the general google_serp_serp_getSearchResults sibling by focusing specifically on Google News and its token-based navigation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly enumerates intended use cases: 'news monitoring, brand/PR tracking, topical aggregators, publisher-specific feeds, and drilling into full story coverage.' It does not explicitly name a sibling as an alternative or state when not to use this tool, but the use-case framing gives an agent clear selection context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_serp_product_getProductInformationgoogle_serp_product: GET /AInspect

Get Product Information

Pulls detailed product data from Google Shopping by productId with searchType (offers, specs, reviews) and rich filters (free shipping, used-condition, sort by price/total price/deals/seller rating, reviews count). Returns product title, images, price, ratings, specs, merchant offers (seller, shipping, condition, total price), and review text depending on searchType. Use for price intelligence, catalog enrichment, review mining, competitor spec comparison, and building shopping assistants that surface the cheapest or highest-rated offer.

ParametersJSON Schema
NameRequiredDescriptionDefault
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
uuleNoThe encoded location parameter.
startNoThis parameter specifies the number of search results to skip and is used for pagination. For example, a value of 0 (default) indicates the first page of results, 10 refers to the second page, and 20 to the third page. This parameter is applicable only when `searchType=offers` is specified. For reviews pagination use `filter` parameter.
domainNoGoogle domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
filterNoFilter parameter for refining search results. Supports various filters for offers and reviews. Multiple filters can be passed using a comma. The available filters are: Offers filters: - `freeship:1`: Show only products with free shipping. - `ucond:1`: Show only used products. - `scoring:p`: Sort by base price. - `scoring:tp`: Sort by total price. - `scoring:cpd`: Sort by current promotion deals (special offers). - `scoring:mrd`: Sort by seller's rating. Reviews filters: - `rnum:{number}`: Number of results (100 is max).
locationNoGoogle canonical location for the search.
productIdYesThe product ID to get results for.
searchTypeNoParameter for fetching specific product information, such as 'offers', 'specs', or 'reviews'.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It clearly frames the operation as read-only ('Pulls') and discloses searchType-dependent return content: title, images, price, ratings, specs, merchant offers, and review text. It does not cover rate limits, auth, or errors, but the core behavioral contract is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: a one-line summary, then the detailed behavior, then use cases. Every sentence contributes value, and there is no meaningful fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with no output schema, the description provides a strong high-level output contract and common use cases, while the schema covers parameter details. The main gap is that optional searchType has no documented default behavior, and pagination guidance relies entirely on the schema rather than the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already explains filters, pagination, enums, and parameter constraints. The description paraphrases searchType and filters but adds no new parameter-level semantics, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Pulls detailed product data from Google Shopping by productId' with searchType variants and filters. This clearly distinguishes it from sibling search tools like shopping_getSearchResults, which are search-oriented rather than product-ID lookups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists task-based use cases: price intelligence, catalog enrichment, review mining, competitor spec comparison, and building shopping assistants. It does not name exclusions or alternative sibling tools, but it gives clear context for when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_serp_serp_getSearchResultsgoogle_serp_serp: GET /AInspect

Get Google Search Results

Full-featured Google Search scraper with location/uule, country (gl), language (hl, lr), domain, device type, safesearch, time/date filters (qdr, cdr), knowledge-graph IDs, and tbm vertical selection (images, videos, news, shopping, local), plus offset/num pagination. Returns organic results (title, link, snippet, position), ads, knowledge graph, related searches, People Also Ask, local pack, featured snippets, AI Overview pageToken, and rich SERP features. Use for SEO rank tracking, keyword research, SERP-feature monitoring, competitor analysis, grounding LLMs with fresh location-aware search data, and especially for person/company data enrichment — e.g. finding a person's LinkedIn/Instagram/Twitter profile (Roman Milyushkevich LinkedIn, HasData Instagram), a company's CEO/founder/leadership (HasData CEO, HasData founder), contact emails (Roman Milyushkevich HasData email), phone numbers, GitHub profiles, press mentions, or any public attribute of a person or business by running a targeted query and parsing the top organic results.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSpecify the search term for which you want to scrape the SERP.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
lrNoThe 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content.
siNoGoogle Cached Search Parameters ID.
numNoNumber of results per page, ranging from 10 to 100.
tbmNoSpecify the type of search.
tbsNoThis parameter supports various filters that can be combined by separating them with a comma. Here are examples of these filters: - Specific Time Range: `cdr:1,cd_min:10/17/2018,cd_max:3/8/2021` - Filter results to show only those within the defined date range. - Sort by Date: `sbd:1` - Results are sorted by date, from the most recent to the oldest. - Sort by Relevance: `sbd:0` - Results are sorted by relevance to the search query. - Sites with Images: `img:1` - Only show results from webpages that contain images. Quick Date Range (qdr): - `qdr:h` - Show results from the past hour. - `qdr:d` - Limit results to the past day. - `qdr:w` - Filter results from the week. - `qdr:m` - Display results from the past month. - `qdr:y` - Show results from the past year. - `qdr:h10`, `qdr:d10`, `qdr:w10`, `qdr:m10`, `qdr:y10` - Specify a number to show results from the last 10 hours, days, weeks, months, or years respectively. These filters enhance the control over search results, allowing for precise retrieval of information based on specific criteria.
lsigNoAdditional Google Place ID.
nfprNoControls if auto-corrected results are shown. 0 includes them (default), 1 shows only the original query. Google may still return auto-corrected results if no others are available.
safeNoAdult Content Filtering option.
uuleNoThe encoded location parameter.
kgmidNoGoogle Knowledge Graph ID.
startNoThis parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 0 (default) indicates the first page of results, 10 refers to the second page, and 20 to the third page. For Google Local Results, the start value must be in multiples of 20, such as 20 for the second page, 40 for the third page, etc.
domainNoGoogle domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
filterNoDefines whether to enable or disable the filters for 'Similar Results' and 'Omitted Results'. Set to 1 (default) to enable these filters, or 0 to disable them.
ludocidNoThe Google Place ID for a specific location.
locationNoGoogle canonical location for the search.
deviceTypeNoSpecify the device type for the search.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It does disclose that this is a scraper, enumerates filtering capabilities, and lists returned elements including organic results, ads, knowledge graph, People Also Ask, local pack, and AI Overview pageToken. However, it does not mention operational caveats such as rate limits, authentication needs, blocking risks, or pagination limits beyond offset/num.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a one-line summary and then organized into capability, return-value, and use-case sections. It is long, but the length is justified by the tool's 19 parameters and rich feature set; the examples are concrete rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 19-parameter tool with no annotations and no output schema, the description is fairly complete: it explains what the tool returns and gives practical invocation examples. It does not discuss alternatives or limitations, but an agent has enough information to select and call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 19 parameters are already documented in the input schema. The description only groups them into capability families like location/uule, country, language, tbm, and offset/num pagination, adding no parameter-level meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the operation ('Get Google Search Results') and identifies the tool as a 'full-featured Google Search scraper', listing parameter families and returned SERP components. It clearly conveys that this is the generic Google web-search endpoint rather than an image, news, or shopping variant, though it does not explicitly distinguish itself from the sibling serp_light tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete use cases: SEO rank tracking, keyword research, SERP-feature monitoring, competitor analysis, grounding LLMs, and person/company data enrichment with example queries. It does not explicitly state when not to use it or when to prefer serp_light, google_images, or AI-overview siblings, so it stops short of full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_serp_serp_light_getSearchResultsgoogle_serp_serp_light: GET /AInspect

Get Google Light Search Results

Google Search scraper served from the lightweight no-JS layout, cheaper and faster than the full SERP API. Returns organic results (title, link, displayed link, snippet, sitelinks, extensions, date, rating and review count), AI Overview with its text blocks and source references, answer box (featured snippet, calculator, unit and currency conversion, local time), knowledge graph, related questions, related searches, inline images, local pack, search filters, pagination, spelling correction and the location Google actually applied. Shopping, top stories, news, videos and jobs blocks are not served in this layout. Supports location/uule, country (gl), language (hl/lr), domain, safesearch, and time/date filters (qdr, cdr) with offset/num pagination. Use for high-volume keyword monitoring, bulk rank tracking, backlink discovery, and AI Overview presence tracking.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSpecify the search term for which you want to scrape the SERP.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
lrNoThe 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content.
numNoNumber of results per page, ranging from 10 to 100.
tbsNoThis parameter supports various filters that can be combined by separating them with a comma. Here are examples of these filters: - Specific Time Range: `cdr:1,cd_min:10/17/2018,cd_max:3/8/2021` - Filter results to show only those within the defined date range. - Sort by Date: `sbd:1` - Results are sorted by date, from the most recent to the oldest. - Sort by Relevance: `sbd:0` - Results are sorted by relevance to the search query. - Sites with Images: `img:1` - Only show results from webpages that contain images. Quick Date Range (qdr): - `qdr:h` - Show results from the past hour. - `qdr:d` - Limit results to the past day. - `qdr:w` - Filter results from the week. - `qdr:m` - Display results from the past month. - `qdr:y` - Show results from the past year. - `qdr:h10`, `qdr:d10`, `qdr:w10`, `qdr:m10`, `qdr:y10` - Specify a number to show results from the last 10 hours, days, weeks, months, or years respectively. These filters enhance the control over search results, allowing for precise retrieval of information based on specific criteria.
safeNoAdult Content Filtering option.
uuleNoThe encoded location parameter.
startNoThis parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 0 (default) indicates the first page of results, 10 refers to the second page, and 20 to the third page. For Google Local Results, the start value must be in multiples of 20, such as 20 for the second page, 40 for the third page, etc.
domainNoGoogle domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
filterNoDefines whether to enable or disable the filters for 'Similar Results' and 'Omitted Results'. Set to 1 (default) to enable these filters, or 0 to disable them.
locationNoGoogle canonical location for the search.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It accurately describes behavior by listing what is returned and what is not served, and the GET / title implies a read-only operation. It does not mention potential side effects, but none are expected for a search scraper.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively long but each sentence adds value by enumerating supported and unsupported result types and listing intended use cases. It is well-structured and front-loads the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description compensates by summarizing the response components and limitations. It also provides enough context for an agent to decide when to use this tool versus the full SERP sibling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage with detailed descriptions for all 12 parameters, so the description adds little beyond the schema. It does not introduce new parameter-specific meaning, though it provides useful context for how some result filters affect output.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it gets Google Search results from the light no-JS layout and explicitly lists the result types returned and excluded. The name and title also reinforce the specific resource and operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly distinguishes this light version from the full SERP API by noting it is cheaper and faster, and names concrete use cases: high-volume keyword monitoring, bulk rank tracking, backlink discovery, and AI Overview presence tracking.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_serp_shopping_getSearchResultsgoogle_serp_shopping: GET /AInspect

Get Shopping Search Results

Scrapes Google Shopping listings for a query with location/uule, country/language/domain, time/date filters, device type, shoprs filter-helper IDs, and offset pagination. Returns product title, price, merchant/source, rating, reviews count, thumbnail, product link, productId, immersiveProductPageToken, and filter chips with hasdata_link for refining by brand/price/condition/promotions. Use for e-commerce price tracking, catalog building, promotion discovery, and feeding productIds into the Product API or tokens into the Immersive Product API for deeper data.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSpecify the search term for which you want to scrape the SERP.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
tbsNoThis parameter supports various filters that can be combined by separating them with a comma. Here are examples of these filters: - Specific Time Range: `cdr:1,cd_min:10/17/2018,cd_max:3/8/2021` - Filter results to show only those within the defined date range. - Sort by Date: `sbd:1` - Results are sorted by date, from the most recent to the oldest. - Sort by Relevance: `sbd:0` - Results are sorted by relevance to the search query. - Sites with Images: `img:1` - Only show results from webpages that contain images. Quick Date Range (qdr): - `qdr:h` - Show results from the past hour. - `qdr:d` - Limit results to the past day. - `qdr:w` - Filter results from the week. - `qdr:m` - Display results from the past month. - `qdr:y` - Show results from the past year. - `qdr:h10`, `qdr:d10`, `qdr:w10`, `qdr:m10`, `qdr:y10` - Specify a number to show results from the last 10 hours, days, weeks, months, or years respectively. These filters enhance the control over search results, allowing for precise retrieval of information based on specific criteria.
uuleNoThe encoded location parameter.
startNoThis parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 0 (default) indicates the first page of results, 40 refers to the second page, and 80 to the third page.
domainNoGoogle domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
shoprsNoSpecifies the helper ID for applying search filters. Must be used with the updated `q` parameter, which includes the selected filter (e.g., Coffee sale). To apply filters, use the `hasdata_link` from `filters[index].options[index]` in the JSON. Apply multiple filters by following each `hasdata_link` one by one. To remove a filter, follow its specific `hasdata_link`.
locationNoGoogle canonical location for the search.
deviceTypeNoSpecify the device type for the search.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full responsibility for disclosing behavioral traits. It does not explicitly state whether the operation is read-only or if there are side effects, rate limits, or permissions. The phrasing 'Scrapes Google Shopping listings' implies a passive retrieval, but it lacks an explicit statement about non-destructiveness or data handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a clear opening statement, a summary of output, and a list of use cases. It avoids redundancy and stays focused, making it easy for users to quickly grasp the tool's function and applications. The structure is efficient with no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description compensates by enumerating the expected return fields (e.g., product title, price, merchant) and explaining how to apply filters via 'hasdata_link'. It also covers parameter interactions for shoprs and pagination. Given the tool's moderate complexity, the description provides a complete picture for invocation without leaving critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides detailed descriptions for all 10 parameters, covering their semantics thoroughly. The tool description does not add significant extra meaning beyond summarizing the overall purpose and mentioning a few output fields. Since schema coverage is 100%, the baseline score of 3 is appropriate, as the description adds marginal value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool scrapes Google Shopping listings for a search query and returns detailed product information. It explicitly mentions the output fields, such as product title, price, and merchant, making the tool's purpose unambiguous. The name 'Get Shopping Search Results' further reinforces its function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides specific use cases like e-commerce price tracking, catalog building, and promotion discovery, which guide when to employ the tool. It also hints at integration with other tools by mentioning feeding product IDs into the Product API or tokens into the Immersive Product API. However, it does not explicitly contrast it with sibling tools, leaving a small gap in direct alternative selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_serp_short_videos_getShortVideosSearchResultsgoogle_serp_short_videos: GET /AInspect

Get Short Videos Search Results

Scrapes the Google Short Videos carousel (TikTok, YouTube Shorts, Instagram Reels, etc.) for a query with location/uule, country (gl/cr), language (hl/lr), device type, and page-based pagination. Returns video title, thumbnail, duration, source platform, channel/creator, publish date, and direct video URL. Use for short-form content discovery, viral-trend monitoring, influencer research, cross-platform video aggregation, and sourcing short clips to summarize or embed in LLM responses.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query term for retrieving short videos results.
crNoThe country code for the country you want to limit the search to. Provide one exact documented value (237 allowed), e.g. `countryAF`, `countryAL`.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
lrNoThe 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content.
pageNoPage number for paginated results, where 0 is the first page.
uuleNoThe encoded location parameter.
locationNoGoogle canonical location for the search.
deviceTypeNoSpecify the device type for the search.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral disclosure burden. It explains that the tool scrapes a live Google carousel and returns specific fields, implying a read-only network operation. It does not mention rate limits, auth, or failure modes, but these are less critical for this non-mutating scraper.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably short and front-loaded, with the core scraping behavior in the first sentence and output fields and use cases following. The opening heading repeats the tool name and the use-case list is slightly expansive, but the overall text is efficient and relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with no output schema, the description compensates by listing return fields and mentioning pagination plus location/country/language options. It does not specify result count, maximum page, or exact response structure, but the schema fully documents the parameters and required query.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes 100% of the parameters, so the baseline is 3. The description adds only high-level grouping such as 'country (gl/cr), language (hl/lr), device type' without clarifying relationships, formats, or usage beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('scrapes') and a specific resource ('Google Short Videos carousel'), and names the content sources (TikTok, YouTube Shorts, Instagram Reels). This clearly distinguishes it from sibling SERP tools like general search or news results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases such as 'short-form content discovery, viral-trend monitoring, influencer research, cross-platform video aggregation' and sourcing clips for LLM responses. However, it does not explicitly contrast with sibling tools or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_travel_flights_getGoogleFlightsgoogle_travel_flights: GET /AInspect

Get Google Flights Results

Searches Google Flights for one-way, round-trip, or multi-city itineraries with passenger mix (adults, children, infants in-seat/on-lap), travel class, bags, max price, sort order (price, duration, emissions, departure/arrival time), stops, include/exclude airlines and connections, time windows, layover duration, and deep-search mode. Returns per-itinerary price, currency, total duration, stops, flight legs with airline, flight number, aircraft, departure/arrival airports and times, CO2 emissions, plus booking and departure tokens for round-trip returns or booking options. Use for travel-planning agents, fare monitoring, corporate travel dashboards, emission-aware trip optimization, and comparing routes and airlines across markets.

ParametersJSON Schema
NameRequiredDescriptionDefault
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
bagsNoNumber of carry-on bags per passenger.
typeNoSpecifies the type of flight. Options: - `roundTrip` (default) - `oneWay` - `multiCity` (requires `multiCityJson` for flight details) For round trips, retrieve return flight details with a separate request using `departureToken`.
stopsNoRestrict the number of stops (layovers) in the flight itinerary.
adultsNoNumber of adult passengers (>= 1 if specified).
sortByNoSort the flight results based on price, departure time, arrival time, etc.
childrenNoNumber of child passengers.
currencyNoParameter defines the currency of the returned prices Provide one exact documented value (71 allowed), e.g. `ALL`, `DZD`.
maxPriceNoMaximum price limit for the flight search, in the selected currency.
arrivalIdYesSpecifies the arrival airport code (IATA) or location kgmid. - **IATA Code**: A 3-letter uppercase code (e.g., `SFO` for San Francisco, `LHR` for London Heathrow). Search on [IATA](https://www.iata.org/en/publications/directories/code-search). - **Location kgmid**: A string starting with `/m/`, found in Wikidata under "Freebase ID" (e.g., `/m/02_286` for New York, NY). Multiple values can be separated by commas (e.g., `JFK,LGA,/m/0hptm`).
deepSearchNoEnable deep search. Returns the same results as Google Flights in a browser, but takes longer to respond. Default is `false`.
returnDateNoThe return travel date in 'yyyy-MM-dd' format. Required when **type** is `roundTrip`.
showHiddenNoIndicates whether to include hidden options in the results.
departureIdYesSpecifies the departure airport code (IATA) or location kgmid. - **IATA Code**: A 3-letter uppercase code (e.g., SFO for San Francisco, LHR for London Heathrow). Search on [IATA](https://www.iata.org/en/publications/directories/code-search). - **Location kgmid**: A string starting with `/m/`, found in Wikidata under "Freebase ID" (e.g., `/m/02_286` for New York, NY). Multiple values can be separated by commas (e.g., `JFK,LGA,/m/0hptm`).
maxDurationNoThe maximum total flight duration in minutes.
returnTimesNoSet up to 4 time boundaries (2 for departure, 2 for arrival) to filter return flights. Each number represents the start of an hour. Examples: - `6,20` → 6:00 AM - 9:00 PM departure - `1,15` → 1:00 AM - 4:00 PM departure - `7,18,2,21` → 7:00 AM - 9:00 PM departure, 2:00 AM - 10:00 PM arrival
travelClassNoThe travel class for the flight (Economy, Premium Economy, Business, or First).
bookingTokenNoUsed to request booking options for selected flights. This token is found in the flight results and cannot be used with `departureToken`.
infantsOnLapNoNumber of infants sitting on an adult's lap.
outboundDateYesThe outbound travel date in 'yyyy-MM-dd' format.
infantsInSeatNoNumber of infants occupying seats.
lessEmissionsNoPrefer flight options with lower carbon emissions.
multiCityJsonNoThis parameter specifies flight details for multi-city trips. It is a JSON string containing multiple flight objects. Each object must include the following fields: - **departureId** – The departure airport code or location KGMID. Uses the same format as the main `departureId` parameter. - **arrivalId** – The arrival airport code or location KGMID. Uses the same format as the main `arrivalId` parameter. - **date** – The flight date. Uses the same format as the `outboundDate` parameter. - **times** *(optional)* – The time range for the flight. Uses the same format as the `outboundTimes` parameter.
outboundTimesNoSet up to 4 time boundaries (2 for departure, 2 for arrival) to filter flights. Each number represents the start of an hour. Examples: - `6,20` → 6:00 AM - 9:00 PM departure - `1,15` → 1:00 AM - 4:00 PM departure - `7,18,2,21` → 7:00 AM - 9:00 PM departure, 2:00 AM - 10:00 PM arrival
departureTokenNoUsed to select a flight and retrieve return flights for a round trip or the next leg of the itinerary for a multi-city trip.
excludeAirlinesNoA comma separated list of airline codes to exclude from results. You can search for airline codes on [IATA](https://www.iata.org/en/publications/directories/code-search). For example, `UA` is United Airlines.
includeAirlinesNoA comma separated list of airline codes to exclusively include in results. You can search for airline codes on [IATA](https://www.iata.org/en/publications/directories/code-search). For example, `UA` is United Airlines. `excludeAirlines` and `includeAirlines` parameters can't be used together.
layoverDurationNoSet the maximum layover duration in minutes to filter flights. For example, `120, 360` filters layovers between 2 hours and 6 hours, while `45, 180` allows layovers from 45 minutes to 3 hours.
excludeConnectionsNoA comma separated list of specific airports to exclude as connections.
includeConnectionsNoA comma separated list of specific airports to allow as connections.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden; it does describe outputs and token usage, but it does not state side-effect/read-only status, error behavior, rate limits, or that deepSearch increases latency. The behavior is implied rather than fully disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a clear 'Get Google Flights Results' title and a direct 'Searches Google Flights' sentence, but the rest is a dense single-sentence list of features and use cases. The closing 'Use for...' list is somewhat generic and could be trimmed or bulleted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although there is no output schema, the description specifies the returned data: price, currency, duration, stops, flight legs, CO2 emissions, and tokens. It also explains the round-trip/booking-token flow, which is enough context for a client to understand the tool's output at a high level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage with descriptions for all 31 parameters, including enum values and examples, so this matches the baseline. The main description only adds a high-level feature list and does not materially extend parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens by naming the exact resource ('Google Flights') and the primary verb ('Searches'), then enumerates the supported trip types (one-way, round-trip, multi-city) and the main feature set. There is no ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use cases ('travel-planning agents, fare monitoring, corporate travel dashboards, emission-aware trip optimization') and explains the output flow involving booking and departure tokens. It does not mention alternatives, but no sibling tools are present, so the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_google_travel_hotels_getGoogleHotelsgoogle_travel_hotels: GET /AInspect

Get Google Hotels Results

Searches Google Hotels for hotels and vacation rentals with check-in/check-out dates, guest mix (adults, children with ages), localization (domain, country, language, currency), and advanced filters: price range, property types, amenities, minimum rating, brands, hotel class, free cancellation, special offers, eco-certified, vacation rentals only, bedrooms, bathrooms, and sort order (lowest price, highest rating, most reviewed). Returns per-property name, description, link, GPS coordinates, check-in/out times, rate per night and total rate, price comparisons across sources, hotel class, overall rating, reviews, location rating, images, amenities, nearby places, deals, eco-certification, and pagination tokens. Use for travel research agents, hotel rate monitoring, OTA dashboards, and competitive analysis of accommodations across markets.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesThe search query for Google Hotels (e.g., a city, neighborhood, or hotel name).
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
adultsNoNumber of adult guests (1-6).
brandsNoComma-separated list of brand IDs to filter by. Brand IDs are returned in the response under `brands` for the same query.
ratingNoFilter by minimum overall guest rating. Options: - `threePointFivePlus` — 3.5 stars or higher - `fourPlus` — 4.0 stars or higher - `fourPointFivePlus` — 4.5 stars or higher
sortByNoSort hotel results. Options: - `lowestPrice` — lowest price - `highestRating` — highest rating - `mostReviewed` — most reviewed
bedroomsNoMinimum number of bedrooms (vacation rentals only).
childrenNoNumber of child guests (1-5). Total guests (adults + children) cannot exceed 6.
currencyNoParameter defines the currency of the returned prices Provide one exact documented value (71 allowed), e.g. `ALL`, `DZD`.
maxPriceNoMaximum price per night, in the selected currency.
minPriceNoMinimum price per night, in the selected currency.
amenity__NoList of amenities to filter by (e.g., `hotelFreeWifi,hotelPool`). Values prefixed `hotel*` apply when searching hotels (the default mode). Values prefixed `rental*` apply when `vacationRentals=true`. The two sets are disjoint because Google Hotels exposes different amenity catalogs for each mode — pass values matching the mode you're querying.
bathroomsNoMinimum number of bathrooms (vacation rentals only).
hotelClassNoComma-separated list of hotel star classes to include (e.g., `2,3,4,5`).
checkInDateYesThe check-in date in 'yyyy-MM-dd' format.
checkOutDateYesThe check-out date in 'yyyy-MM-dd' format.
childrenAgesNoComma-separated list of children ages (e.g., `5,8,12`). Must match the number of children.
ecoCertifiedNoShow only eco-certified properties.
nextPageTokenNoToken to fetch the next page of hotel results. Returned in the `pagination` field of a previous response.
propertyTokenNoToken used to retrieve details for a specific property. Returned in each property in the results.
specialOffersNoShow only properties with special offers.
propertyType__NoList of property types to filter by (e.g., `hotelResort,hotelMotel`). Values prefixed `hotel*` apply when searching hotels (the default mode). Values prefixed `rental*` apply when `vacationRentals=true`. The two sets are disjoint because Google Hotels exposes different property-type catalogs for each mode — pass values matching the mode you're querying.
vacationRentalsNoSearch vacation rentals instead of hotels.
freeCancellationNoShow only properties offering free cancellation.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations were provided (no read-only or destructive hints), so the description carries the full burden. The description thoroughly explains what the tool does and returns, and as a search tool it is implicitly non-destructive. It doesn't mention rate limits or auth, but nothing contradicts the (absent) annotations, so no contradiction flag.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph followed by use cases — reasonably structured and free of filler. It's long, but the density of useful information (explicit use cases, return scope) justifies the length without becoming wordy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 doesn't need to detail return values. It compensates by explaining the data model through parameter docs (brands, pagination, property tokens) and by stating the range of returned per-property fields. Adequate for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the descriptions add substantial value beyond the raw types: enum options (rating, sortBy) are human-readable, amenities and propertyType explain the disjoint hotel vs rental catalogs, childrenAges explains the count-matching requirement, and nextPageToken/propertyToken explain where the tokens originate. This far exceeds baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose — searching Google Hotels for hotels and vacation rentals with dates, guest mix, localization, and filters. It distinguishes itself from sibling tools (e.g., Google Flights, Airbnb, Booking) by being specifically for Google Hotels data, and explicitly names its use cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists when to use this tool — travel research agents, hotel rate monitoring, OTA dashboards, and competitive analysis. Combined with the sibling-tool list (Google Flights, Airbnb, Booking, etc.), it clearly routes the agent to the right tool without ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_indeed_job_getJobDetailsindeed_job: GET /AInspect

Get Indeed Job Details

Fetches a single Indeed job posting by its viewjob URL. Returns job title, company, location, salary/compensation, employment type, posted date, full description, requirements/benefits, and apply URL. Use for ATS/CRM enrichment, compensation benchmarking, resume-to-JD matching with LLMs, and structured archival of postings discovered via the Indeed Listing endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the job vacancy to retrieve details for.

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It states what is returned but does not mention side effects, error handling, rate limits, or any read-only guarantees. The 'Fetches' wording implies a safe GET, but transparency is limited.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: first states the core function, second lists return fields and use cases. It is concise, well-structured, and every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool (one parameter, no output schema), the description fully covers what the tool does, what it returns, and when to use it. The relationship to the listing sibling is clarified, and no critical information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'url' is clearly described in the schema as 'The URL of the job vacancy to retrieve details for.' The tool description reinforces this with 'viewjob URL,' leaving no ambiguity about what input is expected.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it fetches a single Indeed job posting by viewjob URL, lists the returned fields, and distinguishes itself from the listing sibling by focusing on a single posting. The verb 'Fetches' and resource 'Indeed job posting' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases (ATS/CRM enrichment, compensation benchmarking, resume-to-JD matching, structured archival) and references the Indeed Listing endpoint as the discovery source, implying this tool is for postings already found. Does not explicitly contrast with Glassdoor job details, but the context is sufficient for most agents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_indeed_listing_getJobListingsindeed_listing: GET /AInspect

Get Indeed Job Listings

Searches Indeed job listings by keyword and location with sort (relevance/date), country domain targeting, and offset-based pagination (start). Returns an array of jobs with title, company, location, salary, posted date, job URL, and jobKey for the requested page. Use for job-market dashboards, role/geo hiring-trend analysis, sourcing pipelines, and generating URL lists to feed into the Indeed Job endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoThe sorting option for the search results.
startNoThe starting index of the results to retrieve (optional).
domainNoThe domain of the Indeed site (optional). Provide one exact documented value (62 allowed), e.g. `ar.indeed.com`, `au.indeed.com`.
keywordYesThe keyword used to search for job listings.
locationYesThe location to search for job listings.

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It implies a read-only search operation (GET) but does not explicitly state side effects, rate limits, or authentication requirements. The behavior is mostly transparent but lacks explicit safety language.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and readable but contains slight redundancy, repeating the search criteria and return format in consecutive sentences. It remains concise and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Since there is no output schema, the description adequately explains the return format (array of jobs with listed fields). It also covers pagination and domain selection, giving sufficient context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All five parameters have descriptions, covering required and optional fields. The description adds context by explaining sort options, domain examples, and offset-based pagination, which goes beyond the schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool retrieves Indeed job listings by keyword and location, with sorting and pagination options. It also distinguishes from the sibling tool by mentioning generating URL lists for the Indeed Job endpoint, implying a listing vs. detail perspective.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases such as job-market dashboards, hiring-trend analysis, and sourcing pipelines. It doesn't explicitly contrast with the sibling tool, but the intended scenarios are clear enough to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_instagram_posts_getInstagramPostsinstagram_posts: GET /AInspect

Get Instagram Posts

Fetches the latest posts of a public Instagram account by username (handle) and returns each post with caption, hashtags, mentions, likes/comments/plays counts, image and video URLs, dimensions, and timestamp, plus basic account info (full name, profile picture URL, verified/private flags). Supports token-based pagination via nextPageToken to walk older posts. Use to monitor competitor content, track engagement of creator posts, or build datasets of account content for vetting and analytics.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoThe maximum number of posts to retrieve per request. Defaults to 12.
handleYesThe Instagram username of the account whose posts you want to scrape, without the `@` symbol.
nextPageTokenNoDefines the next page token. It is used for retrieving the next page results. Use the `nextPageToken` value returned by the previous response.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses token-based pagination via nextPageToken and limits to public accounts, which is helpful. However, it does not mention error handling, rate limits, authentication requirements, or what happens when an account is not found. For a GET operation, read-only nature is implied but not explicitly stated. This is adequate but leaves some behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: it starts with a clear title line, then a detailed paragraph, and ends with use cases. It front-loads the core functionality and avoids unnecessary repetition. While slightly verbose with the list of return fields, each sentence adds value and the overall length is appropriate for the complexity of the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (3 parameters, no output schema) and lack of annotations, the description covers the essential aspects: what data is returned, pagination, and the public-account constraint. It does not mention potential errors, maximum limit values, or ordering guarantees, but these are not critical for a basic GET posts endpoint. The description is sufficiently complete for an agent to invoke the tool correctly in typical scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for all three parameters (handle, limit, nextPageToken), so the schema already documents their semantics. The description adds no new information about parameters beyond what the schema provides—it merely reiterates the pagination concept. With high schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Fetches' and the resource 'latest posts of a public Instagram account by username (handle)', and enumerates the returned fields (caption, hashtags, mentions, counts, URLs, dimensions, timestamp, and account info). This specificity distinguishes it from the sibling tool getInstagramProfile, which targets profile data, so an agent can immediately tell them apart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete use cases: 'monitor competitor content, track engagement of creator posts, or build datasets of account content for vetting and analytics.' This gives clear context for when to use the tool, though it does not explicitly mention exclusions or direct comparisons to the sibling tool. Still, the use cases effectively communicate appropriate scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_instagram_profile_getInstagramProfileinstagram_profile: GET /AInspect

Get Instagram Profile

Fetches a public Instagram profile by username (handle) and returns full name, biography, external link, profile picture URL, followers count, following count, posts count, verified/private flags, and category. Use to enrich CRM/lead records, verify influencer reach before outreach, monitor competitor accounts, or build datasets of creator metadata for vetting and analytics.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesThe Instagram username of the profile you want to scrape, without the `@` symbol.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does state that the profile is public and lists the data returned, implying a read-only fetch. However, it does not disclose potential rate limits, response format, or behavior when a profile is private or nonexistent, which leaves notable gaps for a scraping tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and return fields, then provides a compact use-case sentence. The use-case list is slightly long with overlapping examples, but every sentence contributes orientation for an agent; it is concise without being terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-oriented public profile fetch with no output schema, the description covers the input, the returned data, and typical use cases. It lacks explicit notes on errors, rate limits, or private-account behavior, but these are minor for this simple tool and the description is otherwise complete enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the only parameter ('handle') with a clear description including the requirement to omit the '@' symbol, so schema description coverage is 100%. The description repeats the handle concept without adding new parameter semantics, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action ('Fetches a public Instagram profile by username (handle)') and names the resource, input, and a concrete list of returned fields (full name, biography, counts, flags, category). This clearly distinguishes it from sibling tools like hasdata_instagram_posts_getInstagramPosts, which targets posts rather than profile metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete application contexts: enriching CRM/lead records, verifying influencer reach, monitoring competitors, and building creator datasets. It does not explicitly state when not to use it or mention alternatives such as the Instagram Posts sibling, but the use-case list makes selection straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_redfin_listing_getRealEstateListingsredfin_listing: GET /AInspect

Get Redfin Real Estate Listings

Searches Redfin for-sale, for-rent, or sold listings with pagination. The location accepts a zipcode, city, neighborhood, school, school district, apartment-building name, or a full street address. Returns each listing with address, Redfin URL, list price, beds/baths, square footage, lot size, year built, days on market, status, coordinates, photos, MLS number, and HOA; an address or building returns a single property card instead. Use for real-estate market research, lead generation for agents, price/DOM trend analysis, and feeding URLs into the Redfin Property endpoint for deep-dive details.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoThe page number of the results to retrieve.
sortNoThe sorting option for the search results.
typeYesThe type of listing.
bathsNoThe minimum number of bathrooms.
pets__NoAn array of pet types allowed.
keywordYesThe location to search for listings. Accepts a zipcode (`33321`), a city (`Austin` or `Austin, TX`), a neighborhood (`East Austin`), a school (`BASIS Austin`), a school district (`Austin Independent School District`), an apartment building by its name (`Maizon Brickell`), or a full street address (`5805 Woodview Ave, Austin, TX 78756`), including a single unit (`221 SW 12th St Unit 1716, Miami, FL`). An address or a building returns a single property card instead of a list of listings, and the `type` parameter does not apply to it.
beds_max_NoThe maximum number of bedrooms.
beds_min_NoThe minimum number of bedrooms.
cost_hoa_NoThe maximum monthly Homeowners Association (HOA) fee.
moveInDateNoThe desired move-in date in MM/DD/YYYY format.
price_max_NoThe maximum price of the listing.
price_min_NoThe minimum price of the listing.
homeTypes__NoAn array of home types to filter the listings. Allowed values depend on the listing `type`.
lotSize_max_NoThe maximum lot size.
lotSize_min_NoThe minimum lot size.
stories_max_NoThe maximum number of stories.
stories_min_NoThe minimum number of stories.
timeOnRedfinNoHow long the listing has been on Redfin.
yearBuilt_max_NoThe maximum year the property was built.
yearBuilt_min_NoThe minimum year the property was built.
statusOptions__NoAn array of listing statuses.
soldWithinOptionNoFilter sold listings by how recently they were sold.
rentalAmenities__NoAn array of rental amenities to filter the listings.
cost_priceReduced_NoFilter listings by when the price was reduced.
rentalOtherTerms__NoAn array of additional rental terms.
monthlyPayment_max_NoThe maximum monthly payment.
monthlyPayment_min_NoThe minimum monthly payment.
schools_schoolType___NoAn array of school types.
forSaleSquareFeet_max_NoThe maximum square footage for for-sale listings.
forSaleSquareFeet_min_NoThe minimum square footage for for-sale listings.
homeFeatures_basement_NoThe basement type.
homeFeatures_poolType_NoThe type of pool.
cost_acceptedFinancing_NoThe accepted financing type.
cost_excludeLandLeases_NoIf set to true, listings with land leases will be excluded.
cost_pricePerSqft__max_NoThe maximum price per square foot.
cost_pricePerSqft__min_NoThe minimum price per square foot.
homeFeatures_options___NoAn array of home feature flags to filter the listings.
listingType_category___NoAn array of listing categories.
onlyWithDealOrPromotionNoIf set to true, only listings with a deal or promotion will be included.
exclude55PlusCommunitiesNoIf set to true, 55+ communities will be excluded.
forRentSquareFootage_max_NoThe maximum square footage for for-rent listings.
forRentSquareFootage_min_NoThe minimum square footage for for-rent listings.
schools_greatSchoolRating_NoThe minimum GreatSchools rating (1-10).
transportScores_bikeScore_NoThe minimum bike score (1-100).
transportScores_walkScore_NoThe minimum walk score (1-100).
cost_maxPropertyTaxPerYear_NoThe maximum property tax per year.
homeFeatures_keywordSearch_NoA free-text keyword search applied to listing descriptions.
openHouseAndTour_openHouse_NoFilter listings with an open house.
openHouseAndTour_videoTour_NoIf set to true, only listings with a video tour will be included.
homeFeatures_garageSpotsMin_NoThe minimum number of garage spots.
monthlyPayment_interestRate_NoThe mortgage interest rate (percent) used to calculate the monthly payment.
monthlyPayment_mortgageTerm_NoThe mortgage term used to calculate the monthly payment.
monthlyPayment_insuranceRate_NoThe home insurance rate (percent) used to calculate the monthly payment.
transportScores_transitScore_NoThe minimum transit score (1-100).
listingType_excludeShortSales_NoIf set to true, short sales will be excluded.
schools_includeUnratedSchools_NoIf set to true, unrated schools will be included.
listingType_redfinListingsOnly_NoIf set to true, only Redfin-listed properties will be included.
monthlyPayment_downPaymentAmount_NoThe down payment as an absolute amount.
monthlyPayment_downPaymentPercent_NoThe down payment as a percentage of the home price.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the disclosure burden. It discloses pagination, the accepted keyword forms, the full set of returned listing fields, and the important behavioral exception that an address/building returns a single property card and ignores `type`. Rate-limit and error behavior are absent, but the core behavioral surface is well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense, front-loaded sentences with no filler: action and pagination first, then location semantics, return fields/exception, and use cases. It is well sized for a 59-parameter tool because the schema carries the detailed filter documentation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema and no annotations, the description compensates by naming the main returned fields and explaining the single-property-card case. For a large search tool, the use cases and sibling routing make it reasonably complete, though it omits pagination-count/default behavior and error-handling expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 narrative mostly re-states the `keyword` semantics and the `type` exception that already exist in the schema, and it adds no new information about `page`, `sort`, or the other filter parameters. It therefore earns no bonus beyond the well-documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific, verb-driven statement: 'Searches Redfin for-sale, for-rent, or sold listings with pagination,' and enumerates the location forms and return fields. This makes the listing-search scope unmistakable and differentiates it from the single-property sibling endpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete use cases ('real-estate market research, lead generation for agents, price/DOM trend analysis') and points to the 'Redfin Property endpoint' for deep-dive details, effectively routing an agent to the sibling after this search step. It does not phrase this as a hard when-not-to-use rule, but the guidance is unambiguous enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_redfin_property_getPropertyDetailsredfin_property: GET /AInspect

Get Redfin Property Details

Fetches the full Redfin property page by URL. Returns address, list/sold price, price history, Redfin Estimate, beds/baths, square footage, lot size, year built, property type, HOA, days on market, school ratings, tax history, listing agent, full description, photos, walk/transit/bike scores, and nearby comparables. Use for CMA reports, investor due-diligence, valuation models, listing enrichment, and powering buyer-assistant agents with verified property facts.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the property on Redfin. Must be a valid Redfin property URL.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only says it 'fetches' and returns data, but does not address authentication, rate limits, error behavior, or what happens with invalid URLs. This leaves the agent without operational expectations beyond the basic return field list.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and includes no filler. The list of returned fields and use cases is lengthy but informative; however, it could have been trimmed slightly without losing essential guidance, so it does not earn a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter fetch tool with no output schema, the description covers the input, the returned data, and common use cases, which is largely sufficient for correct invocation. It falls short of complete because behavioral caveats such as rate limits and error handling are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'url' is fully described in the schema with 100% coverage, so the schema already provides the needed semantics. The description adds no further format, examples, or constraints beyond what the schema states, justifying the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action and resource: 'Fetches the full Redfin property page by URL' and lists the many fields it returns. However, it never explicitly contrasts itself with the sibling listing tool, so the distinction is left to inference rather than stated outright.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists use cases: 'Use for CMA reports, investor due-diligence, valuation models, listing enrichment, and powering buyer-assistant agents.' This gives clear context for when the tool is appropriate, but it does not mention when not to use it or point to the sibling tool as an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_shopify_collections_getCollectionsshopify_collections: GET /AInspect

Get Shopify Store Collections

Lists collections from any public Shopify storefront URL with limit (up to 250) and page pagination. Returns each collection's id, title, handle, body_html description, image, and timestamps. Use the returned handles as input to the Shopify Products endpoint to enumerate category-specific catalogs, or to map a competitor's merchandising taxonomy and track collection changes over time.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the Shopify store. For example, 'https://b2bdemoexperience.myshopify.com'.
pageNoThe page number of the results to retrieve. Must be a positive integer.
limitNoThe maximum number of collections to retrieve. Must be between 1 and 250.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does well: it discloses the public-storefront scope, pagination behavior, limit cap of 250, and the specific returned fields. It doesn't mention rate limits or error behavior, but the core behavioral expectations are clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, stating the main function first and then adding return-detail and usage context. The closing sentence about tracking collection changes is slightly extra but still adds practical context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description adequately compensates by explaining return fields, pagination, and the public URL requirement. It stops short of covering defaults or error scenarios, but the information needed to invoke the tool correctly is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 only marginal reinforcement by mentioning 'limit (up to 250) and page pagination,' which the schema already documents. It does not introduce new semantic details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Lists collections from any public Shopify storefront URL' with a specific verb, resource, and scope. It also lists the returned fields and distinguishes collections from the sibling products endpoint by referring to it as a separate input consumer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context: use this to fetch collection-level data from public Shopify stores and feed handles into the Shopify Products endpoint. It doesn't explicitly say when not to use it, but the workflow guidance makes the intended usage obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_shopify_products_getProductsshopify_products: GET /AInspect

Get Shopify Store Products

Pulls products from any public Shopify storefront URL, optionally filtered by a collection handle, with limit (up to 250) and page pagination. Returns product id, title, handle, vendor, product_type, tags, body_html, images, variants with prices/SKUs/inventory status, and timestamps. Use for competitive price monitoring, catalog mirroring, availability tracking, building product datasets for comparison shopping, or feeding structured SKU data into downstream analytics and dropshipping pipelines.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the Shopify store. For example, 'https://b2bdemoexperience.myshopify.com'.
pageNoThe page number of the results to retrieve. Must be a positive integer.
limitNoThe maximum number of products to retrieve. Must be between 1 and 250.
collectionNoThe handle of the collection to filter the products. Provide the collection handle as a string.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden. It communicates that the tool is read-only ('Pulls'), applies only to public Shopify URLs, supports pagination and collection filtering, and enumerates the returned fields. It does not mention rate limits or error behavior, but those are secondary for a simple GET tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, followed by return fields and use cases. The use-case list is somewhat verbose, but each sentence contributes useful information for tool selection. Overall it is structured and readable without unnecessary digressions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only product-fetching tool with no output schema, the description is sufficiently complete: it states the input URL, optional filters, pagination, and the full set of returned product fields. It lacks edge-case details like empty results or errors, but these are not essential for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers all four parameters with detailed descriptions, so baseline is 3. The description adds minimal parameter nuance beyond the schema, such as 'up to 250' and 'page pagination', but these largely restate schema constraints rather than introducing new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Pulls') and resource ('products from any public Shopify storefront URL'), then adds filtering and pagination details. It is clearly distinct from the sibling collections tool by focusing on products rather than collections, with the collection treated only as an optional filter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases: competitive price monitoring, catalog mirroring, availability tracking, and building product datasets. It does not mention when not to use the tool or name alternative tools, but the listed scenarios give clear context for an agent to decide when this tool applies.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_tiktok_comments_getTikTokCommentstiktok_comments: GET /AInspect

Get TikTok Comments

Fetches the comments on a public TikTok video by its numeric video id, or the replies to a specific comment when commentId is given. Each comment returns text, like count, timestamp, reply count, and author (username, nickname, avatar, plus hasdataLink to the profile endpoint and hasdataPostsLink to the posts endpoint). Supports token-based pagination via nextPageToken. Use for sentiment analysis, engagement research, or building comment datasets from a video discovered via the posts or search APIs.

ParametersJSON Schema
NameRequiredDescriptionDefault
videoIdYesThe numeric id of the video (the number after `/video/` in a TikTok URL).
commentIdNoWhen provided, returns the replies to this comment instead of the video's top-level comments.
nextPageTokenNoDefines the next page token. Use the `nextPageToken` value returned by the previous response. Omit it to fetch the first page.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden and explains read-only fetching of public comments, pagination via nextPageToken, and the returned comment fields. It does not mention rate limits or error behavior, but the disclosed behavior is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, well-organized, and free of filler. Key information about input, output fields, pagination, and use cases is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although there is no output schema, the description enumerates returned comment fields and pagination behavior, which gives an agent enough context for typical use. It lacks response envelope or error details, but those are not essential for selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters have descriptive schema entries, and the description adds practical context: videoId is the number after /video/ in a TikTok URL, commentId selects replies, and nextPageToken uses the previous response value with omission for the first page.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it fetches TikTok comments by video ID or replies by comment ID, distinguishing it from sibling TikTok profile, posts, and search tools. The verb 'Fetches' and the resource 'comments on a public TikTok video' make the purpose specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete use cases such as sentiment analysis, engagement research, and building comment datasets, and notes that videos may be discovered via posts or search APIs. It does not explicitly contrast with sibling tools, but the guidance is sufficient for typical selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_tiktok_posts_getTikTokPoststiktok_posts: GET /AInspect

Get TikTok Posts

Fetches a page of videos for a public TikTok account by username (handle) and returns each video with description, hashtags, mentions, like/comment/share/play/collect counts, cover and playable video URLs, music, duration, and timestamp. Returns a page of ~35 videos plus a nextPageToken; pass that token back to walk the account history one page at a time. Use to monitor competitor content, track engagement of creator videos, or build datasets of account content for vetting and analytics.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesThe TikTok username of the account whose videos you want to scrape, with or without the `@` symbol.
nextPageTokenNoDefines the next page token. It is used for retrieving the next page of results. Use the `nextPageToken` value returned by the previous response. Omit it to fetch the first page.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses pagination via nextPageToken, a page size of ~35 videos, and the public-account constraint. It does not mention rate limits or error cases, but the read-only nature is clearly implied by 'Fetches'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and front-loaded, with the core behavior stated immediately and use cases at the end. The opening line repeats the title, but the rest of the content earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter fetch tool with no output schema, the description covers what is returned, pagination, and typical use cases. It is complete enough for correct invocation, though it omits potential failure modes and rate-limit context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameters are already well-documented in the schema. The description reinforces the handle and pagination concepts but does not add significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches a page of videos for a public TikTok account by username, and enumerates the returned fields. This distinguishes it from sibling tools focused on comments, profile, and search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit use cases are given: monitoring competitors, tracking engagement, and building datasets for analytics. It does not name alternative tools or exclusions, but the context is clear enough for selecting this tool over the siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_tiktok_profile_getTikTokProfiletiktok_profile: GET /AInspect

Get TikTok Profile

Fetches a public TikTok profile by username (handle) and returns nickname, biography, bio link, avatar URLs, verified/private flags, account creation time, and followers, follows, likes, videos, and friends counts. Use to enrich CRM/lead records, verify influencer reach before outreach, monitor competitor accounts, or build datasets of creator metadata for vetting and analytics.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesThe TikTok username of the profile you want to scrape, with or without the `@` symbol.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral burden. It accurately conveys that this is a read operation (fetches) on public profiles, but it does not disclose potential edge cases like errors for non-existent handles, rate limits, or authentication requirements. For a simple GET it is acceptable 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the tool's purpose, and avoids unnecessary fluff. The second sentence adds value by listing return fields and use cases. It is efficiently written without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description covers the essential information: what it does, what it returns, and typical use cases. It does not discuss error handling or output formatting, but given the simplicity of the operation, it is sufficiently complete for an agent to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'handle' is fully documented in the schema with an explanation of format (with or without '@'). The description adds no additional semantics beyond restating the parameter name. Since schema coverage is 100%, the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it fetches a public TikTok profile by username and enumerates the exact data returned (nickname, bio, counts, flags). It is specific about the resource and action, and its distinctness from sibling tools (comments, posts, search) is evident from the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage contexts (CRM enrichment, influencer vetting, competitor monitoring) which implicitly distinguish it from siblings that handle posts, comments, or search. It does not explicitly state when not to use it or name alternatives, but the context is unambiguous enough for an agent to select it correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_tiktok_search_getTikTokSearchtiktok_search: GET /AInspect

Search TikTok

Searches TikTok by keyword and returns either videos (with description, hashtags, mentions, like/comment/share/play counts, cover and playable video URLs, music, and author) or users (nickname, bio, avatar, verified flag, follower count). Each author and each user carries a hasdataLink to their profile endpoint and a hasdataPostsLink to their posts endpoint. Supports token-based pagination via nextPageToken. Use for content discovery, trend research, influencer discovery, or building datasets from a keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoWhat to search for — videos or users. Defaults to video.
keywordYesThe phrase to search for on TikTok.
nextPageTokenNoDefines the next page token. Use the `nextPageToken` value returned by the previous response. Omit it to fetch the first page.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description should carry the full burden of disclosing behavioral traits. It does not state that the operation is read-only, nor does it mention rate limits, data modification, or other side effects. The absence of such details leaves behavioral transparency incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately concise and well-structured. It conveys the core functionality and relevant details without unnecessary verbosity, though it could be slightly tighter by removing redundant phrasing like repeating 'hasdataLink' and 'hasdataPostsLink'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description does well to enumerate the return fields (e.g., description, likes, comments, author) and explain pagination. It also gives practical use cases. Minor gaps include not explaining the structure of the nested author/user objects or the exact format of the response envelope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers all parameters with descriptions (100% coverage), and the tool description adds some context about pagination usage. However, it largely repeats the schema information without significantly deepening understanding, so it provides marginal added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches TikTok by keyword and returns videos or users, with a list of fields. It also names specific use cases like content discovery and trend research, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on when to use the tool (content discovery, trend research, etc.) and explains pagination with nextPageToken. However, it does not explicitly contrast with sibling tools, though the distinct focus on search is implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_walmart_product_getWalmartProductwalmart_product: GET /AInspect

Get Walmart Product Details

Scrapes one Walmart product page on a chosen storefront by item id or URL. Returns title, brand, model, UPC, condition, availability, price with strikethrough before-price and unit price, the seller holding the buy box with its rating and return policy, badges, SNAP EBT eligibility, Walmart+ savings, star rating with the per-star review breakdown and AI review summaries, images, category path, highlights, specifications, AI-generated key item features, variant axes with every option and the itemId each combination resolves to, fulfillment details, and the other-sellers block: how many competitors the page advertises and the cheapest competing price always, plus - when otherOffers is enabled - the offer list with each seller name, storefront URL, price, condition, shipping cost, delivery date and return policy. Use for price and buy-box monitoring, seller and marketplace competitor tracking, assortment enrichment of item ids harvested from search, and variant mapping.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoA full Walmart product URL to scrape as is. When provided, it overrides `itemId` and the storefront is taken from the URL itself. Required unless `itemId` is provided.
domainNoWalmart storefront the item belongs to. Each storefront has its own catalog, item ids, prices and currency, so an id from one storefront does not resolve on another. Ignored when `url` is provided. Default is `walmart.com`.
itemIdNoWalmart item id, taken from a product URL or from the id field of the Walmart Search API response. On `walmart.com` it is numeric (for example `14977205582`), on `walmart.ca` an alphanumeric code (for example `6NZMJ5CW6MH2`). Required unless `url` is provided.
languageNoLanguage of the product details. Availability depends on the storefront - `walmart.com` serves `en` and `es`, `walmart.ca` serves `en` and `fr`. A language the storefront does not support falls back to its default.
otherOffersNoAlso collect the offers of other sellers competing for this item - each seller name, storefront, price, condition, shipping cost, delivery date and return policy. This takes an extra request to Walmart and costs 5 credits on top of the base 10, whether or not the item turns out to have competing sellers. How many competitors the item advertises, and the cheapest competing price, are returned in the `otherOffers` block whether the switch is on or off, so it can be left off until the count shows there is something to collect. Default is `false`.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral disclosure burden. It does convey that the tool performs a live scrape and that the other-sellers block behaves conditionally based on otherOffers. However, the credit cost, extra request behavior, and storefront-specific item id incompatibility appear only in the input schema descriptions, not in the main description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but purposefully so: it opens with a one-sentence action summary, then enumerates the full set of returned fields because there is no output schema. The final use-case sentence earns its place. It could be made more scannable with bullets, but there is little redundant prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of both annotations and an output schema, the description thoroughly documents the return payload, including the conditional other-sellers block and the always-returned competitor count and cheapest competing price. Combined with the detailed input schema descriptions, an agent has sufficient context to call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100% with rich property descriptions that already explain url/itemId precedence, domain defaults, language fallback, and otherOffers costs. The main description adds value through the returned field list and use cases, but it does not add further parameter-level meaning, so it stays at the high-coverage baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action: 'Scrapes one Walmart product page on a chosen storefront by item id or URL.' It clearly names the resource and the primary access modes, and the long field list clarifies the product-detail scope. It does not explicitly name sibling tools, but the single-product-page scope distinguishes it from search and reviews.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description closes with explicit use cases: 'price and buy-box monitoring, seller and marketplace competitor tracking, assortment enrichment of item ids harvested from search, and variant mapping.' This gives clear context for when to use it, though it does not directly contrast with the sibling getWalmartReviews or getSearchResults tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_walmart_reviews_getWalmartReviewswalmart_reviews: GET /AInspect

Get Walmart Product Reviews

Scrapes the customer reviews of one Walmart product on a chosen storefront by item id or URL, ten reviews a page. Returns each review with its rating, title, full text with paragraphs preserved, submission date, author, verified-purchase flag, helpful and not-helpful vote counts, badges, marketplace seller, photos and videos, and the review aspects it was tagged with. Alongside the reviews it returns the item rating, how many ratings versus how many written reviews exist, the per-star breakdown, the AI review summary, per-aspect scores such as Quality or Value for money, and a filters block listing exactly which star ratings, frequent mentions and conditions this item can be filtered by, with a count for each - the values in that block are the ones to pass back as request parameters. Sort by most relevant, most recent, most helpful, highest rated, lowest rated or oldest, and filter by star rating, frequent mention, condition or verified purchases only. Use for review mining and sentiment analysis, tracking what buyers praise or complain about per product, monitoring new reviews over time, and pulling only verified-purchase feedback.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoA full Walmart product URL whose reviews to scrape. When provided, it overrides `itemId` and the storefront is taken from the URL itself. Required unless `itemId` is provided.
pageNoPage of reviews to return, ten reviews a page. The response reports the last available page in `pagination.totalPages`, the next one in `pagination.nextPage`, and how many reviews the current filters select in `pagination.totalResults`. Note that only reviews carrying written text are paginated, so the ceiling follows `reviewsInformation.totalReviews` rather than the larger `reviewsInformation.totalRatings`. Default is `1`.
sortNoOrder of the returned reviews, named as the Walmart review page names it. Default is `mostRelevant`.
domainNoWalmart storefront the item belongs to. Each storefront has its own catalog, item ids and review pool, so an id from one storefront does not resolve on another. Ignored when `url` is provided. Default is `walmart.com`.
itemIdNoWalmart item id, taken from a product URL or from the id field of the Walmart Search API response. On `walmart.com` it is numeric (for example `14977205582`), on `walmart.ca` an alphanumeric code (for example `6NZMJ5CW6MH2`). Required unless `url` is provided.
ratingNoReturn only reviews carrying this star rating, from `1` to `5`. The Star rating group of the `filters` block lists the ratings this item actually has, each with the `value` to send here and a `count` of how many reviews to expect.
aspectIdNoReturn only reviews mentioning one topic. Send the `value` of the topic you want, taken from the Frequent mentions group of the `filters` block in the response - given `{"name": "Battery Life", "value": "6049", "count": 8}` you send `6049`, and `count` is how many reviews to expect. **Only one topic per request**, Walmart rejects a list of them. Topics belong to the product rather than to Walmart: a phone offers Battery Life or Display, a coffee offers Flavor or Aroma, and some items offer none at all - so make an unfiltered request first and read the block, instead of reusing a topic id across products.
languageNoLanguage of the review page. Availability depends on the storefront - `walmart.com` serves `en` and `es`, `walmart.ca` serves `en` and `fr`. A language the storefront does not support falls back to its default. Reviews themselves are returned in the language their author wrote them in.
conditionNoReturn only reviews written about one condition of the item. Send the `value` from the Condition group of the `filters` block - given `{"name": "Restored: Like New", "value": "5"}` you send `5`. **Only one condition per request.** This group appears for items Walmart sells in several conditions, and only when the request already names one: reach the variant through the `url` parameter with its `conditionGroupCode`, as in `https://www.walmart.com/ip/1028936148?conditionGroupCode=2`, and the block then lists the condition that variant carries. An item sold in a single condition has no such group, and no reviews to separate by it.
verifiedPurchasesOnlyNoReturn only reviews left by customers whose purchase Walmart confirmed. Narrows the pool considerably, since most reviews are unverified or syndicated from the manufacturer.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it does so thoroughly. It discloses the ten-reviews-per-page behavior, pagination limits tied to written reviews, the need to pass filter-block values back as request parameters, single-topic and single-condition limits, language/storefront fallback behavior, and the narrowing effect of verifiedPurchasesOnly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with its purpose and then packs substantial response and filtering detail into the following sentences. It is long, but nearly every clause contributes useful information; the use-case sentence is somewhat discretionary, and a few overly long sentences could be split without losing content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 appropriately explains what the response contains: review fields, item rating, rating-versus-review counts, per-star breakdown, AI summary, aspect scores, and the filters block. Combined with the schema's detailed parameter documentation, an agent has enough context to invoke the tool and interpret its results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all 10 parameters at 100% coverage, including concrete examples, enums, defaults, and filter-value mappings. The tool description mostly summarizes these capabilities at a high level rather than adding new parameter-level meaning, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Get Walmart Product Reviews' and immediately specifies the action: scraping the customer reviews of one Walmart product by item id or URL. It also enumerates the extracted review data and aggregate info, making it clearly distinguishable from the sibling product and search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use cases such as 'review mining and sentiment analysis', 'tracking what buyers praise or complain about per product', 'monitoring new reviews over time', and 'pulling only verified-purchase feedback'. It does not explicitly name the sibling tools or state when not to use this one, but the review-focused scope makes the intended context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_walmart_search_getSearchResultswalmart_search: GET /AInspect

Get Walmart Search Results

Runs a keyword or category search on a chosen Walmart storefront with pagination, price range and fulfillment filters, facet narrowing, and sort order (best match, price low-to-high, price high-to-low, bestseller, highly rated, new arrivals). Returns the product list with item id, title, product URL, brand, price and strikethrough before-price, star rating, review count, seller, availability, sponsored flag, badges, SNAP EBT eligibility, Walmart+ savings, variants, other offers and fulfillment details (shipping, pickup, delivery messages), plus the facets block listing every filter the query supports with the exact value to send back in the facet parameter, pagination, and the store the prices belong to. Use for SERP monitoring, price and assortment tracking, share-of-shelf analysis, competitor discovery, and harvesting item ids to feed downstream product or reviews endpoints.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoThe search term for which to get the search results. It can be omitted only when `catId` is provided, to browse a whole category instead of searching.
urlNoA full Walmart search or category URL to scrape as is. When provided, it overrides `q`, `catId` and the other search parameters, and the storefront is taken from the URL itself.
pageNoPage number for pagination (e.g., `1` for the first page, `2` for the second page, etc.). Walmart stops serving results after roughly page 10, returning an empty page beyond that.
sortNoThe sorting option for the search results.
catIdNoWalmart category id, taken from a category URL (for example `976759_1086446_1229651`). Combine it with `q` to search inside a category, or send it alone to browse the whole category. Required unless `q` is provided.
facetNoWalmart filter in the `name:value` form, for example `brand:Great Value`. Every value available for a query is listed in the facets block of the response, each one carrying the exact string to send back here, so a first unfiltered request tells you what can be filtered on. To combine filters, put each one on its own line. The double-pipe form Walmart's own urls use `brand:Great Value||retailer_type:Walmart` is also accepted.
domainNoWalmart storefront to search. Each storefront has its own catalog, prices and currency. Default is `walmart.com`.
languageNoLanguage of the results. Availability depends on the storefront - `walmart.com` serves `en` and `es`, `walmart.ca` serves `en` and `fr`. A language the storefront does not support falls back to its default.
maxPriceNoUpper bound of the price range, in the storefront currency.
minPriceNoLower bound of the price range, in the storefront currency.
deliveryTypeNoKeep only the products available with the selected fulfillment method. Default is `shipping`. Note that `pickup` is answered against one Walmart store, so an item in stock nationally can still be unavailable for `pickup` nearby - the response then reports that nothing matched the filters rather than that the query had no results.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden: it discloses that this is a read-only search operation and describes the full response shape, including product items, facets block, pagination, and store attribution. It doesn't mention rate limits or edge cases like the page-10 cutoff, but those are covered in the parameter descriptions and the search framing gives an accurate side-effect-free mental model.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph but is front-loaded with the core action and packs all key capability and output information into one long sentence. It is appropriately sized for an 11-parameter tool with no output schema, though it could be broken into shorter sentences or bullets for easier scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with no output schema, the description thoroughly covers return value composition (items, facets, pagination, store) and practical use cases, while the schema covers all 11 parameters at 100% coverage. The combination is sufficient for an agent to select this tool over the product/reviews siblings and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 broadly mentions filters, facets, and sort options but adds little beyond the schema's parameter documentation. The only mild value-add is connecting the facets block to the facet parameter's exact-value contract, though even that is detailed in the schema's facet description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource statement, 'Get Walmart Search Results,' and expands on the exact capability: keyword/category search with filters, facets, and sort order on a chosen storefront. It lists the returned data and ends by framing the tool as upstream ID harvesting for product and reviews endpoints, which distinguishes it from the product and reviews siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use cases: SERP monitoring, price/assortment tracking, share-of-shelf analysis, competitor discovery, and harvesting item ids for downstream product or reviews endpoints. It does not explicitly name the sibling tools or state when not to use it, but the downstream-product/reviews phrasing clearly implies the product and reviews tools are the alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_web_scraping_web_scraping_scrapeWebPageweb_scraping_web_scraping: POST /AInspect

Scrape Web Page

Universal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering, custom headers, wait conditions, jsScenario actions (click, scroll, fill, waitFor), screenshots, resource/ad/URL blocking, and extractRules/aiExtractRules for LLM-driven structured extraction. Returns HTML, text, markdown, and/or JSON along with status code, extracted emails and links, CSS-selector extractions, and AI-structured fields per schema. Use as a fallback/universal fetcher for sites without a dedicated API, for scraping JS-heavy SPAs, bypassing bot protections, capturing screenshots, or producing clean markdown/structured JSON to feed downstream parsers, RAG pipelines, or data warehouses.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the web page to scrape.
waitNoTime in milliseconds to wait after the page load.
headersNoOptional custom headers to send with the request.
waitForNoCSS selector to wait for before scraping.
blockAdsNoWhether to block ads.
blockUrlsNoList of URLs to block.
proxyTypeNoType of proxy to use.
jsScenarioNoEnables custom JavaScript interactions on the target webpage during scraping. It's an array where each object defines a specific action or step. These actions can include clicking elements, waiting for elements, executing custom scripts, and more. Key actions within this field include: - `evaluate`: Run custom JavaScript code on the page. - `click`: Click on an element specified by a CSS selector. - `wait`: Pause for a set duration (in milliseconds). - `waitFor`: Delay until a specific element appears. - `waitForAndClick`: Combine waiting for an element and then clicking it. - `scrollX`, `scrollY`: Scroll to specified positions on the page. - `fill`: Enter values into input fields identified by CSS selectors. Actions are executed sequentially.
screenshotNoWhether to take a screenshot of the page.
excludeTagsNoThe `excludeTags` parameter accepts an array of valid CSS selectors. Elements matching these selectors will be removed from the final output. Each value must be a valid `querySelectorAll` selector. This can be used to remove ads, scripts, or other unwanted sections.
jsRenderingNoEnable JavaScript rendering.
extractLinksNoExtract links from the page.
extractRulesNoRules for extracting specific data from the page. For example: `{ "title": "h1", "link_href": "a#link @href", "page_text": "body" }`
outputFormatNoThe outputFormat parameter specifies the desired response format: `html`, `text`, `markdown`, or `json`. If only one of `html`, `text`, or `markdown` is provided, the API returns the response in that format. If multiple formats are specified, the API returns a JSON response with keys for each requested format. If `json` is included with any other format, the API returns a JSON response with keys for the other specified formats.
proxyCountryNoOptional proxy country code.
extractEmailsNoExtract emails from the page.
aiExtractRulesNoDefines custom rules for AI-based data extraction using LLMs. This enables the system to extract structured data directly from the HTML of the page. Each key in the object represents a desired output field name, and the value specifies its type and optional description to guide the AI. Supported types: - `string`: plain text value - `number`: numeric value - `boolean`: true/false - `list`: an array of values - `item`: a nested object with its own structure defined under `output`
blockResourcesNoWhether to block loading of resources like images and stylesheets.
includeOnlyTagsNoThe `includeOnlyTags` parameter accepts an array of valid CSS selectors. When specified, only the elements matching these selectors will be included in the response content. Each value must be a valid `querySelectorAll` selector. Useful for extracting specific parts of the document.
removeBase64ImagesNoIf set to `true`, any images embedded as base64-encoded strings will be removed from the output. Useful for reducing response size or when base64 images are not needed.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full transparency burden. It discloses key behaviors such as using managed proxies, optional JS rendering, waiting conditions, blocking ads/resources, screenshots, and extraction capabilities. It does not mention rate limits or legal/ethical caveats, but the core behavioral traits are adequately described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise for a tool with 20 parameters. It front-loads the core purpose and capabilities, follows with specific use cases, and avoids redundant repetition of schema details. The structure is clear and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (20 parameters, nested objects, no output schema), the description provides sufficient context: it explains what the tool does, when to use it, what output formats are available, and what extraction features exist. It does not describe an output schema, but the description adequately covers expected return types and capabilities.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 narrative description summarizes capabilities but does not add significant per-parameter meaning beyond the already detailed input schema descriptions. The schema itself provides strong parameter documentation, including nested objects and enum values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a universal web scraper that fetches any public URL, with a specific verb ('Scrape Web Page') and a well-defined resource. It also distinguishes itself from the many specialized sibling tools by explicitly positioning itself as a fallback for sites without a dedicated API.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: use as a fallback/universal fetcher for sites without a dedicated API, for JS-heavy SPAs, bypassing bot protections, capturing screenshots, or producing clean markdown/structured JSON. This clearly tells an agent when to choose this tool over the specialized siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_yellowpages_place_getPlaceDetailsyellowpages_place: GET /AInspect

Get Yellow Pages Place Details

Scrapes a single YellowPages business listing URL and returns business name, full address, phone, website, categories, years in business, hours of operation, ratings, review counts, photos, and service descriptions. Use to hydrate a lead with verified NAP data, build a B2B contact database from YellowPages URLs collected via the Search endpoint, or validate business legitimacy and hours before outreach.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe YellowPages URL of the place.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral burden. It is transparent that this tool scrapes an external listing URL and returns a specific list of business fields, which implies a read-only operation. However, it does not disclose failure modes, URL validity requirements, rate limits, or output formatting, making it adequate 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is compact and well-structured: a short heading, one sentence listing the return fields, and one sentence of usage guidance. There is no filler or redundant restatement of schema information; each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter tool with no output schema, the description is nearly complete: it states the input, the returned data fields, and the intended use cases. The only real gap is the lack of behavioral caveats such as error conditions or rate limits, but given the low complexity, the definition provides enough for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single url parameter is already described as 'The YellowPages URL of the place.' The description adds context that this should be a single business listing URL and that URLs typically come from the Search endpoint, but this is incremental beyond what the schema already provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a clear verb ('Get') and a specific resource (Yellow Pages Place Details), then specifies the exact operation: scraping a single business listing URL and returning a defined set of fields. It is clearly distinct from the sibling search tool because it operates on an existing URL rather than performing a search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists use cases: hydrating leads with verified NAP data, building a B2B database from URLs collected via the Search endpoint, and validating business legitimacy and hours before outreach. It references the Search endpoint as the source of URLs, but it does not explicitly say 'do not use this for searching', so it stops just 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.

hasdata_yellowpages_search_getSearchResultsyellowpages_search: GET /AInspect

Get YellowPages Search Results

Runs a YellowPages business search by keyword plus location with sort (default, distance, averageRating, name), country domain targeting, and page-based pagination. Returns each business with name, listing URL, phone, address, categories, rating, review count, and years in business. Use for B2B lead generation by niche and city, feeding the resulting URLs into the YellowPages Place endpoint for enrichment, or building geo-targeted prospect lists for sales outreach.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoThe page number of the results to retrieve.
sortNoThe sorting option for the search results.
domainNoYellowPages domain to use. Default is `www.yellowpages.com`.
keywordYesThe search term for which to get the search results.
locationYesThe location where to search for businesses with the given keyword.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the search mechanism, sort options, pagination, and exactly what fields are returned for each business. This is substantial behavioral detail, though it omits potential limitations like max page depth or empty-result behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler. It front-loads the core action, then gives output details and use cases. The only minor redundancy is repeating the tool title at the start, but it does not hurt clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a moderate-complexity tool with no output schema, the description lists return fields, expected use cases, and the relationship to the sibling endpoint. It omits pagination defaults and possible result limits, but the essential calling context is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 five parameters. The description adds modest value by grouping keyword+location, enumerating sort options, and explaining pagination, but it does not meaningfully deepen the meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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: 'Get YellowPages Search Results' and immediately states it 'Runs a YellowPages business search by keyword plus location.' It lists concrete behaviors (sort, domain targeting, pagination) and return fields, making it unmistakably distinct from the sibling Place endpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly positions the tool for B2B lead generation and geo-targeted prospect lists, and instructs feeding resulting URLs into the 'YellowPages Place endpoint for enrichment.' It does not explicitly state when not to use it, but the chain to the sibling tool implies the alternative usage scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_yelp_place_getPlaceDetailsyelp_place: GET /AInspect

Get Yelp Place Details

Fetches a single Yelp business by Yelp ID or alias with domain targeting. Returns name, address, phone, website, price range, categories, overall rating, review count, hours, amenities, photos, and highlighted reviews. Use to enrich leads or listings with verified Yelp metadata, monitor a competitor's rating and review count over time, or validate hours/amenities before displaying venue details to end users.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoYelp domain to use. Default is `www.yelp.com`.
placeIdYesThe Yelp ID or Yelp Alias of the place. For example, 'jPIZ3FR5LNcwPuUHi2Fe4g' or 'mcdonalds-new-york-386'.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the transparency burden. It clearly indicates a read-only fetch and lists the returned fields, but it does not mention authentication needs, rate limits, or error behavior. This is adequate but not deeply transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a brief fetch statement, a concise enumeration of returned fields, and practical use cases. The opening line is slightly redundant with the title, but overall every sentence contributes useful context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 expected return fields. Required and optional parameters are covered by the schema, and use cases give an agent enough context to invoke the tool appropriately. Minor gaps around errors and data freshness remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are already documented with descriptions and an enum for domain. The description adds little semantic detail beyond what the schema provides, such as the notion of 'domain targeting' and the Yelp ID/alias examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific action ('Fetches a single Yelp business by Yelp ID or alias') and identifies the resource and returned data. It clearly distinguishes itself from the sibling review and search tools by emphasizing 'single business' details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete use cases: enriching leads, monitoring competitor ratings over time, and validating hours/amenities. It does not explicitly contrast with sibling tools, but the context makes it clear when this details endpoint is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_yelp_reviews_getPlaceReviewsyelp_reviews: GET /AInspect

Get Yelp Place Reviews

Fetches the review feed of a single Yelp business by Yelp ID, with sorting (relevance, date, rating, elites), filtering by star rating, language and free-text query, and cursor pagination. To page, either step start by num, or resend the pagination.nextPageToken of the previous response as the nextPageToken parameter, keeping the other filters unchanged, until pagination.hasNextPage is false. The response reports the page it returned as pagination.start and pagination.num, matching the parameter names. Each review returns the author profile (name, location, review/friend/photo counts, Elite status), full text with language, star rating, timestamp, attached photos and videos, reader reactions, review tags (check-ins, first review, reservation and payment flags) and the owner reply when present. The response also carries the business review totals broken down by rating and by language. Use to monitor customer sentiment over time, mine complaints for a competitor, track how a business responds to negative reviews, or build rating-distribution and review-velocity datasets.

ParametersJSON Schema
NameRequiredDescriptionDefault
numNoNumber of reviews to return per page. The maximum is 49. Defaults to 49 for the recommended feed and to 10 when `notRecommended` is set. The response echoes it back as `pagination.num`.
queryNoNote: Yelp ignores the `rating` filter while searching, so a query returns matching reviews of every star rating. Free-text query to search within the reviews of the place.
startNoResult offset for pagination. It skips the given number of reviews, so the step matches `num` (e.g., 0, 49, 98 for the recommended feed, or 0, 10, 20 when `notRecommended` is set). The response echoes it back as `pagination.start`. Cannot be combined with `nextPageToken`.
domainNoYelp domain to use. Default is `www.yelp.com`.
ratingNoNote: Yelp ignores this filter when `query` is set, so a search returns matching reviews of every star rating. Filters the reviews by star rating. Possible values are 5, 4, 3, 2 and 1. To return only five-star reviews, set it to `5`. To include several ratings, pass them comma-separated, for example `5,4,3`. When omitted, reviews with any rating are returned.
sortByNoThe order in which the reviews are returned. Defaults to relevanceDesc.
placeIdYesThe Yelp ID of the place. For example, '-4ofMtrD7pSpZIX5pnDkig'. Yelp IDs can be obtained from the Yelp Search Scraper API.
languageCodeNoLanguage of the reviews to return, as a two-letter code (e.g., 'en', 'es', 'fr'). Defaults to en.
nextPageTokenNoOpaque cursor for the next page, taken verbatim from `pagination.nextPageToken` of the previous response. It carries both the offset and the page size, so passing it alone continues the feed where the last response ended. Keep the other filters (`sortBy`, `rating`, `languageCode`, `query`, `notRecommended`) identical across pages. Use either this or `start`, not both. Paginate until `pagination.hasNextPage` is false.
notRecommendedNoReturns the reviews Yelp does not currently recommend (filtered out of the main feed by its recommendation software) instead of the recommended ones. These reviews carry no photos, videos or reactions, and are paginated ten at a time. Defaults to false.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It thoroughly describes pagination mechanics, nextPageToken semantics, the conflict between query and rating filters, notRecommended limitations, response echo fields, and the contents of each review and the business totals. This is exceptionally transparent for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but justifiably so for a 10-parameter tool with subtle pagination and filter interactions. It is front-loaded with a clear summary, then logically organized into pagination, response contents, and use cases. Every sentence contributes useful information without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema or annotations, so the description must explain both invocation and expected returns. It covers pagination fields, review contents, author profile fields, photos/videos/reactions, tags, owner replies, and rating/language totals. This is a complete and self-sufficient description for selecting and invoking the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 adds meaningful cross-parameter guidance beyond the schema: step start by num, resend nextPageToken while keeping filters unchanged, do not combine start with nextPageToken, and paginate until hasNextPage is false. It also clarifies default behavior for num with and without notRecommended, which adds value beyond the individual parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with the specific resource 'Yelp Place Reviews' and a clear verb, then states it fetches the review feed of a single Yelp business by Yelp ID with sorting, filtering, and pagination. This clearly distinguishes it from siblings like place details and search results, even without naming them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete use cases: monitoring sentiment, mining complaints, tracking owner responses, and building rating-distribution or review-velocity datasets. It also explains when filters behave unexpectedly, such as Yelp ignoring the rating filter when a query is set. However, it does not explicitly state when not to use this tool compared to the sibling search or details tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_yelp_search_getSearchResultsyelp_search: GET /AInspect

Get Yelp Search Results

Runs a Yelp business search by keyword and location with optional map-bounded radius via the l parameter (g:lon1,lat1,lon2,lat2), domain targeting, and offset-based pagination. Returns a ranked list of businesses with Yelp alias/ID, name, categories, rating, review count, price tier, neighborhood, and thumbnail. Use the returned aliases as input to the Yelp Place endpoint for full details, to power local-discovery UIs, or to build market-share/competitor datasets for a niche in a given geography.

ParametersJSON Schema
NameRequiredDescriptionDefault
lNoParameter defines the distance or map radius for the search results. For example: `g:-95.2486,29.8496,-95.4277,29.6324`.
startNoResult offset for pagination (e.g., 0 for the first page, 10 for the 2nd page, etc.).
domainNoYelp domain to use. Default is `www.yelp.com`.
keywordYesThe search term for which to get the search results.
locationYesThe location where to search for businesses with the given keyword.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden and covers core behavior: keyword/location search, optional map-bounded radius, domain targeting, offset-based pagination, and a ranked list of businesses with specific fields. It does not mention rate limits or response envelope details, but the disclosed behavior is solid for a GET 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the operation, and uses every sentence for meaningful detail. The opening line is slightly redundant with the title, but the rest of the description is tightly written and well organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Since there is no output schema, the description usefully enumerates returned fields and downstream usage. It also explains pagination and domain targeting. It is missing notes on authentication, rate limits, or explicit sibling routing, but it gives enough context to invoke the tool correctly and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 minor framing around `l` as map-bounded radius and `start` as pagination offset, but the schema already documents these parameters. It does not significantly deepen parameter understanding beyond structured definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description identifies a specific operation: Yelp business search by keyword and location. It clearly distinguishes itself from sibling tools (place details, reviews) and lists concrete result contents. The purpose is immediately understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use search results and then pass returned aliases to the Yelp Place endpoint for full details, and gives use cases like local-discovery UIs and market-share datasets. It does not explicitly mention when to use Reviews or state exclusions, but the intended placement in the workflow is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_youtube_channel_getYoutubeChannelyoutube_channel: GET /AInspect

Get YouTube Channel Data

Fetches a YouTube channel by its ID (UC…) or handle (@name) and returns structured data for any channel tab — featured/Home, videos, shorts, streams, playlists, posts, podcasts, releases, store, about. Returns channel identity (title, description, avatar, banner, country, join date), subscriber and total-view counts, social links, and the items on the requested tab (videos with views and publish date, playlists, posts, podcasts, etc.). Use to monitor competitor channels, build creator/brand directories, track posting cadence and growth signals, or feed videoId into the YouTube Video / Transcript endpoints.

ParametersJSON Schema
NameRequiredDescriptionDefault
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
tabNoChannel tab to scrape. Each tab returns a different content shape: - `featured` (default) — channel Home page (channel trailer + curated rows) - `videos` — uploaded long-form videos - `shorts` — Shorts feed - `streams` — past and upcoming live streams - `playlists` — created and saved playlists - `posts` / `community` — community posts - `podcasts` — podcast episodes - `releases` — music releases - `about` — channel description, links, stats - `store` — channel merch
channelIdYesYouTube channel identifier — either the canonical channel ID (`UC…`, 24 chars) or the public handle starting with `@` (e.g. `@PewDiePie`). Legacy `/c/<custom>` and `/user/<name>` URL slugs are also accepted.
deviceTypeNoDevice type for the request.
paginationTokenNoToken returned in the previous response to fetch the next page of results.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does well: it states what is fetched, which tabs are supported, what channel-level fields are returned, and how results can be reused. It does not mention rate limits, authentication, or explicit read-only status, but the verb 'Fetches' and the GET-style title make the operation's nature clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-organized: it starts with the core fetch behavior, then explains output fields, then lists concrete use cases. Every sentence adds value; only minor redundancy exists between the description's tab list and the schema's tab enum.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no annotations, the description provides a solid mental model of inputs, outputs, tabs, and downstream use. It could go deeper on pagination/response structure, but the schema already covers paginationToken, and the description sufficiently explains what an agent can expect from the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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. The description reinforces channelId's accepted formats and explains the meaning of tab-level output, but it does not add significant meaning beyond the schema for gl, hl, deviceType, or paginationToken. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Fetches a YouTube channel by its ID or handle') and clearly distinguishes the tool from YouTube search, video, and transcript siblings by focusing on channel-level data and per-tab content. It names concrete output types, making the tool's purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear application contexts ('monitor competitor channels, build creator/brand directories, track posting cadence and growth signals') and even routes downstream usage to the YouTube Video/Transcript endpoints. It does not explicitly list when not to use this tool versus search or video endpoints, but the use cases are concrete enough for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_youtube_search_getYoutubeSearchResultsyoutube_search: GET /AInspect

Get YouTube Search Results

Searches YouTube for a query and returns the full results page split into videoResults (videoId, title, views, length, publish date, chapters, channel info, extensions like 4K/CC), channelResults (channelId, handle, subscribers, verified flag), shortsResults / inlineShortsResults, themed shelves (e.g. 'People also watched', 'Latest from '), adsResults and sponsoredResults (advertiser, landing URL, position), plus searchInformation.totalResults. Each block preserves its positionOnPage so the original layout is reconstructable. Use for competitor and topic monitoring, brand-mention tracking, ad-placement intelligence, creator discovery, trend research, or to feed videoId / channelId into the YouTube Video, Channel, or Transcript endpoints.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesFree-text search query, exactly as a user would type it into the YouTube search box.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
spNoRaw YouTube `sp` filter token, copied verbatim from a YouTube search URL (e.g. `EgIQAQ%253D%253D`). When provided, it overrides `sortBy`, `date`, `videoType`, `length`, and `filters[]`. Use only if you need a YouTube-side filter that this API does not expose as a structured parameter.
dateNoLimit results to videos uploaded within this time window relative to now.
lengthNoFilter by video duration bucket: - `under4` — under 4 minutes - `between420` — 4 to 20 minutes - `plus20` — over 20 minutes
sortByNoSort order applied to the results page. `relevance` (default) — best match for the query; `date` — newest first; `views` — most viewed first; `rating` — highest rated first; `popularity` — trending/most popular.
filters__NoFeature flags to require on results. Multiple values are combined with AND (every flag must apply). - `hd` — HD quality - `k4` — 4K quality - `hdr` — HDR - `subtitles` — has subtitles/closed captions - `cc` — Creative Commons license - `d3` — 3D video - `d360` — 360° video - `vr180` — VR180 video - `live` — currently live - `bought` — purchased/paid content - `location` — has a geographic location tag
videoTypeNoRestrict results to a single YouTube content type — regular videos, Shorts, channels, playlists, or movies.
deviceTypeNoDevice type for the request.
paginationTokenNoToken returned in the previous response to fetch the next page.

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description makes clear this is a read-oriented search operation that returns a results page, but no annotations are present and it does not explicitly mention authentication, rate limits, error behavior, or confirm there are no side effects. The read-only nature is implied rather than fully disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every clause earns its place: the first sentence front-loads the purpose and output structure, and the second sentence explains real-world use cases and relationships to sibling tools. There is no redundant filler or repeated schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description thoroughly covers the response shape (videoResults, channelResults, shortsResults, shelves, adsResults, sponsoredResults, positionOnPage) and gives downstream usage context. Pagination is also covered indirectly through the paginationToken parameter, making the tool self-contained enough for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% descriptive coverage of all 11 parameters, including enums and the sp override behavior. The description itself adds no parameter-level meaning beyond that, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Searches YouTube for a query' and precisely identifies the resource and action, and it enumerates the distinct result sections returned. This makes the tool's purpose unmistakable and distinguishes it from the channel, video, and transcript sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly lists concrete use cases (competitor monitoring, brand tracking, ad-placement intelligence, creator discovery, trend research) and tells agents to feed returned videoId/channelId into the Video, Channel, or Transcript endpoints. This provides clear guidance on when to use the search tool versus its siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_youtube_transcript_getYoutubeTranscriptyoutube_transcript: GET /AInspect

Get YouTube Video Transcript

Returns the timed transcript (subtitles) of a YouTube video by its 11-character videoId. languageCode selects the track (e.g. en, de-DE, pt-BR); type=asr requests the auto-generated speech-recognition track. Each segment in transcript[] carries startMs, endMs, snippet, and a formatted startTimeText. The response also includes availableTranscripts[] listing every track on the video (language name + code, type: asr for auto-generated, selected: true for the one returned) so callers can discover what else is available. Use to feed a video's spoken content into RAG/LLM pipelines, generate summaries or chapter outlines, build searchable archives, run translation or accessibility workflows, or analyze talking points across a creator's catalog (pair with the YouTube Channel endpoint to enumerate videos, then fetch transcripts).

ParametersJSON Schema
NameRequiredDescriptionDefault
vYes11-character YouTube video ID — the value of the `v=` query parameter in a watch URL (e.g. `dQw4w9WgXcQ` for `https://www.youtube.com/watch?v=dQw4w9WgXcQ`).
typeNoSet to `asr` to fetch the YouTube auto-generated (speech-recognition) track. Omit to fetch the human-authored track for `languageCode` when one exists.
languageCodeNoBCP-47 / YouTube language code of the transcript track to return (e.g. `en`, `de`, `en-US`, `pt-BR`). Must match a track that the video actually has. When omitted, the video's default language track is returned.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well by explaining the response shape: transcript segments with startMs/endMs/snippet/startTimeText, plus availableTranscripts[] with language/type/selected info. It does not cover error cases such as missing tracks or invalid video IDs, but the behavioral context is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded, leading with the core purpose before expanding into response details and use cases. Every sentence adds meaningful context, with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description thoroughly explains the return value structure and available track discovery. Combined with the complete parameter schema, an agent has enough information to select and invoke this tool correctly for transcript-related tasks.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes all three parameters with 100% coverage, so the baseline is 3. The description reinforces languageCode and type=asr semantics but adds little beyond what the schema already states; the v parameter is already fully documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns the timed transcript (subtitles) of a YouTube video by 11-character videoId. This is a specific verb+resource that is naturally distinct from the sibling channel/search/video endpoints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides concrete use cases such as RAG/LLM pipelines, summaries, archives, translation, and accessibility workflows. It also suggests pairing with the YouTube Channel endpoint to enumerate videos, but it does not explicitly contrast with the search or video siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_youtube_video_getYoutubeVideoyoutube_video: GET /AInspect

Get YouTube Video Data

Fetches a single YouTube video by its 11-character videoId. Returns title, thumbnail, raw + normalized views and likes, lengthSeconds, publish date, category, keywords/tags, isFamilySafe / isUnlisted flags, the uploading channel (id, handle, subscribers, avatar), the full description with parsed links and hashtags, available captions tracks (with kind: asr for auto-generated), Content-ID music matches (song/artist/album), creator socialLinks, and the relatedVideos, endScreenVideos, and relatedShorts rails. Use to enrich a video URL with metadata, monitor view/like growth, extract music or sponsor/affiliate links, gather features for recommender or RAG pipelines, or detect caption tracks before calling the YouTube Transcript endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
vYes11-character YouTube video ID — the value of the `v=` query parameter in a watch URL (e.g. `dQw4w9WgXcQ` for `https://www.youtube.com/watch?v=dQw4w9WgXcQ`).
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
deviceTypeNoDevice type for the request.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It clearly indicates a read-only fetch and provides rich output semantics: raw + normalized views/likes, safety/unlisted flags, captions with kind:asr, Content-ID music matches, social links, and related rails. It omits error handling, auth, and rate limits, but for a GET-style data tool the described behavior is substantially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but information-dense: it front-loads the core purpose, then systematically lists return fields and use cases without filler. It could be structured into shorter sentences, but every clause adds relevant information for a tool with a rich payload.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description compensates well by enumerating the full return surface and tying usage to the transcript sibling. Minor gaps remain around error cases and access requirements, but an agent has enough to invoke the tool correctly for typical metadata enrichment tasks.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and all four parameters (v, gl, hl, deviceType) are already documented with types, examples, and allowed values. The description only repeats the videoId concept and does not add meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Fetches') and resource ('a single YouTube video by its 11-character videoId') and enumerates the returned fields in detail. It is clearly distinct from the sibling channel/search/transcript tools because it is scoped to video metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists concrete use cases: enriching video URLs, monitoring view/like growth, extracting music or affiliate links, building recommender/RAG features, and detecting caption tracks before calling the YouTube Transcript endpoint. It does not explicitly state when not to use the tool, but the context is clear enough for an agent to select it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_zillow_listing_getRealEstateListingszillow_listing: GET /AInspect

Get Zillow Real Estate Listings

Searches Zillow for-sale, for-rent, and sold listings by keyword with rich filters (price, beds, baths, home type, year built, lot/square footage, HOA, listing status, amenities, views, pet policy, days on Zillow) and pagination. Returns each listing with address, Zillow URL/zpid, price, Zestimate, beds/baths, sqft, home type, status, days on Zillow, coordinates, thumbnail, and listing agent. Use for real-estate market dashboards, rental pricing analysis, agent lead lists, inventory tracking, and collecting URLs for the Zillow Property endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
hoaNoThe Homeowners Association (HOA) fee.
pageNoThe page number of the results to retrieve.
sortNoThe sorting option for the search results.
typeYesThe type of listing.
pets__NoAn array of pet options.
keywordYesThe keyword used to search for listings.
tours__NoAn array of tour options.
views__NoAn array of views.
keywordsNoAdditional keywords to refine the search.
beds_max_NoThe maximum number of bedrooms.
beds_min_NoThe minimum number of bedrooms.
basement__NoAn array of basement options.
baths_max_NoThe maximum number of bathrooms.
baths_min_NoThe minimum number of bathrooms.
moveInDateNoThe desired move-in date in `YYYY-MM-DD` format.
price_max_NoThe maximum price of the listing.
price_min_NoThe minimum price of the listing.
homeTypes__NoAn array of home types to filter the listings.
listingTypeNoThe category of the listing.
daysOnZillowNoThe number of days a listing has been on Zillow.
lotSize_max_NoThe maximum lot size.
lotSize_min_NoThe minimum lot size.
mustHaveGarageNoIf set to true, only listings with a garage will be included.
yearBuilt_max_NoThe maximum year the property was built.
yearBuilt_min_NoThe minimum year the property was built.
parkingSpotsMinNoThe minimum number of parking spots.
singleStoryOnlyNoIf set to true, only single-story properties will be included.
squareFeet_max_NoThe maximum square footage.
squareFeet_min_NoThe minimum square footage.
otherAmenities__NoAn array of other amenities.
propertyStatus__NoAn array of property statuses.
hide55plusCommunitiesNoIf set to true, 55+ communities will be excluded.
listingPublishOptions__NoAn array of listing publish options.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does disclose the return behavior by listing output fields and uses 'Searches'/'Returns' implying read-only, but it does not mention auth requirements, rate limits, or explicitly state that no data is modified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a terse title line, a summary of functionality, and a list of use cases. It avoids unnecessary detail, though the opening 'Get Zillow Real Estate Listings' is slightly redundant with the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 33 parameters and no output schema, the description provides sufficient context: what it searches, what it returns, and when to use it. It does not explain pagination defaults or required-field relationships, but the schema already marks 'keyword' and 'type' as required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 33 parameters. The description adds only a high-level grouping of filter types ('price, beds, baths, home type, year built...') rather than clarifying individual parameters, so it stays at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool 'Searches Zillow for-sale, for-rent, and sold listings by keyword' and specifies the output fields. It distinguishes from the sibling property-details tool by emphasizing listing search and 'collecting URLs for the Zillow Property endpoint.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases: 'real-estate market dashboards, rental pricing analysis, agent lead lists, inventory tracking, and collecting URLs for the Zillow Property endpoint.' This gives clear context for when to use the tool, though it doesn't explicitly say 'use this instead of getPropertyDetails.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_zillow_property_getPropertyDetailszillow_property: GET /AInspect

Get Zillow Property Details

Fetches the full Zillow property page by URL/zpid, with optional agent email extraction. Returns address, list price, Zestimate and Rent Zestimate, price and tax history, beds/baths, living area, lot size, year built, home type, HOA, days on Zillow, listing description, features/amenities, photos, school assignments, walk/transit scores, and listing agent/broker (plus email when enabled). Use for valuation models, CMA generation, investor underwriting, rental yield analysis, and enriching buyer/seller agent assistants with authoritative property data.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the property on Zillow. Must be a valid Zillow property URL.
extractAgentEmailsNoIf enabled, attempts to extract agent email addresses from the property details. Increases the cost of the request.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the explanation burden. It states the tool 'Fetches' (read-only) and enumerates the data returned, plus notes the cost implication in the parameter description. It lacks explicit statements about error behavior or rate limits, but these are less critical for a simple GET.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear action, a list of returned data, and a use-case paragraph. It is slightly verbose due to the enumerated fields, but each sentence earns its place and the main purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description adequately covers what the tool returns, when to use it, and the optional parameter behavior. It does not mention pagination (not needed for a single property) or error scenarios, but overall provides enough context for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds value by clarifying that the URL can also be a zpid ('by URL/zpid'), which is not stated in the schema. It also echoes the optional email extraction behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get Zillow Property Details' and 'Fetches the full Zillow property page by URL/zpid'. It distinguishes from the sibling listing tool by focusing on a specific property rather than search/listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases ('Use for valuation models, CMA generation, investor underwriting, rental yield analysis') but does not directly contrast with the sibling tool (e.g., 'use this instead of listings when you have a specific URL'). Context is clear, but alternative guidance is implicit.

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.

  1. 1 tool update
    • Addedhasdata_facebook_profile_getFacebookProfile
  2. 62 tool updates
    • First observedhasdata_airbnb_listing_getAirbnbListings
    • First observedhasdata_airbnb_property_getAirbnbPropertyDetails
    • First observedhasdata_amazon_product_getProductDetails
    • First observedhasdata_amazon_reviews_getProductReviews
    • First observedhasdata_amazon_search_getSearchResults
    • First observedhasdata_amazon_seller_getSellerDetails
    • First observedhasdata_amazon_seller_products_getSellerProducts
    • First observedhasdata_bing_serp_getSearchResults
    • First observedhasdata_booking_place_getBookingPlaceDetails
    • First observedhasdata_booking_search_getBookingSearchResults
    • First observedhasdata_duckduckgo_serp_getSearchResults
    • First observedhasdata_glassdoor_job_getJobDetails
    • First observedhasdata_glassdoor_listing_getJobListings
    • First observedhasdata_google_images_images_getImageSearchResults
    • First observedhasdata_google_maps_contributor_reviews_getMapReviews
    • First observedhasdata_google_maps_photos_getMapPhotos
    • First observedhasdata_google_maps_place_getPlaceDetails
    • First observedhasdata_google_maps_posts_getMapPosts
    • First observedhasdata_google_maps_reviews_getMapReviews
    • First observedhasdata_google_maps_search_performMapSearch
    • First observedhasdata_google_scholar_cite_getScholarCitationFormats
    • First observedhasdata_google_scholar_scholar_getScholarSearchResults
    • First observedhasdata_google_serp_ai_mode_getAiModeResponse
    • First observedhasdata_google_serp_ai_overview_getAiOverviewResponse
    • First observedhasdata_google_serp_events_getEventInformation
    • First observedhasdata_google_serp_immersive_product_getImmersive_e29f691177
    • First observedhasdata_google_serp_news_getGoogleNews
    • First observedhasdata_google_serp_product_getProductInformation
    • First observedhasdata_google_serp_serp_getSearchResults
    • First observedhasdata_google_serp_serp_light_getSearchResults
    • First observedhasdata_google_serp_shopping_getSearchResults
    • First observedhasdata_google_serp_short_videos_getShortVideosSearchResults
    • First observedhasdata_google_travel_flights_getGoogleFlights
    • First observedhasdata_google_travel_hotels_getGoogleHotels
    • First observedhasdata_google_trends_search_getTrendsData
    • First observedhasdata_indeed_job_getJobDetails
    • First observedhasdata_indeed_listing_getJobListings
    • First observedhasdata_instagram_posts_getInstagramPosts
    • First observedhasdata_instagram_profile_getInstagramProfile
    • First observedhasdata_redfin_listing_getRealEstateListings
    • First observedhasdata_redfin_property_getPropertyDetails
    • First observedhasdata_shopify_collections_getCollections
    • First observedhasdata_shopify_products_getProducts
    • First observedhasdata_tiktok_comments_getTikTokComments
    • First observedhasdata_tiktok_posts_getTikTokPosts
    • First observedhasdata_tiktok_profile_getTikTokProfile
    • First observedhasdata_tiktok_search_getTikTokSearch
    • First observedhasdata_walmart_product_getWalmartProduct
    • First observedhasdata_walmart_reviews_getWalmartReviews
    • First observedhasdata_walmart_search_getSearchResults
    • First observedhasdata_web_scraping_web_scraping_scrapeWebPage
    • First observedhasdata_yellowpages_place_getPlaceDetails
    • First observedhasdata_yellowpages_search_getSearchResults
    • First observedhasdata_yelp_place_getPlaceDetails
    • First observedhasdata_yelp_reviews_getPlaceReviews
    • First observedhasdata_yelp_search_getSearchResults
    • First observedhasdata_youtube_channel_getYoutubeChannel
    • First observedhasdata_youtube_search_getYoutubeSearchResults
    • First observedhasdata_youtube_transcript_getYoutubeTranscript
    • First observedhasdata_youtube_video_getYoutubeVideo
    • First observedhasdata_zillow_listing_getRealEstateListings
    • First observedhasdata_zillow_property_getPropertyDetails

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Remote MCP server with 19 e-commerce and IP-compliance data tools — Amazon product/review/search/niche/bestseller data, AI SERP & keyword trends, local Maps POI, WIPO trademark search, and PACER patent litigation. No scraping code or proxies needed; one API key unlocks all tools.
    21
    1
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP server exposing 35 web scraping and SERP tools for general scraping, Google services, e-commerce sites, social media, and search engines. Enables MCP clients like Claude to scrape web pages and search results via natural language.
    35
    32 npm
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    B2B lead generation MCP server with 20+ lead generation tools - Apollo scraping, Google Maps, email finder, email validator, mobile finder, skip trace, ecommerce store data, and more.
    25
    24 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.