Skip to main content
Glama

datasets_airbnb_search

Read-only

Search aggregate Airbnb market-rollup rows, not individual listings; choose group_by country or market and filter occupancy, reviews, rating, or Superhost status. Thin cells are suppressed. Costs 1 credit per record returned (minimum 2), so keep page_size to what you need. Use datasets_airbnb_nearby for the coordinate density map or airbnb_search for live stay listings.

Input Schema

NameRequiredDescriptionDefault
pageNoResult page number, 1-based, default 1; page times page_size must not exceed 10000.
sortNoOptional sort order. Allowed values: listings_desc, superhost_pct_desc, rating_desc, key_asc. Defaults to listings_desc.
marketNoOptional exact metro-market filter, e.g. Paris.
countryNoOptional ISO-3166-1 alpha-2 country filter, e.g. FR.
group_byNoAggregate cell dimension. Allowed values: country, market, admin1, locality, room_type, property_type. Defaults to country. admin1 (top subdivision), locality (settlement), room_type (entire_place/private_room/hotel/shared_room) and property_type (Airbnb's canonical listing type from the detail page) are enrichment-derived. Their responses include coverage counts and percentage; buckets stay empty below the 20% minimum visibility gate.
page_sizeNoPage size, default 20, max 100; page times page_size must not exceed 10000.
superhostNoOptional filter to count only Superhost listings.
min_ratingNoOptional minimum listing rating, from 0 through 5.
active_sinceNoOptional freshness filter, an ISO-8601 date (YYYY-MM-DD); only listings last seen on or after it are counted.
min_listingsNoOptional minimum listings per cell; raises the small-cell suppression floor, which is never lowered below the built-in minimum.
guest_favoriteNoOptional filter to count only Guest Favorite listings (an observed lower bound; the badge under-counts).
min_review_countNoOptional minimum listing review count, 0 or greater.

Output Schema

NameRequiredDescriptionDefault
dataYesThe tool result payload (shape varies per tool; see each tool's docs resource).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / group_by / description
      Previous value: -"Aggregate cell dimension. Allowed values: country, market, admin1, locality, room_type, property_type. Defaults to country. admin1 (top subdivision), locality (settlement), room_type (entire_place/private_room/hotel/shared_room) and property_type (Airbnb's canonical listing type from the detail page) are enrichment-derived; they stay empty until their coverage is high enough to be reliable."New value: +"Aggregate cell dimension. Allowed values: country, market, admin1, locality, room_type, property_type. Defaults to country. admin1 (top subdivision), locality (settlement), room_type (entire_place/private_room/hotel/shared_room) and property_type (Airbnb's canonical listing type from the detail page) are enrichment-derived. Their responses include coverage counts and percentage; buckets stay empty below the 20% minimum visibility gate."
  2. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Adds substantive behavior beyond the readOnly/openWorld annotations: thin cells are suppressed, and each record costs 1 credit with a 2-credit minimum, with an explicit instruction to keep page_size small. It does not detail the suppression floor mechanics in depth (that lives in min_listings), but the cost and suppression disclosures are exactly the kind of context annotations cannot carry.

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

Conciseness4/5

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

Dense but front-loaded: the aggregate-vs-listing distinction, the group_by choice, and the cost warning all arrive early. The single-paragraph run-on is information-rich but slightly cramped, keeping it off a 5.

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 12-parameter read-only aggregation tool with a full output schema, the description covers the non-obvious parts an agent needs: what is being aggregated, what gets suppressed, what it costs, and which sibling to use instead. Nothing material 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%, so the baseline is 3. The description still adds decision-relevant meaning by naming `group_by` country/market as the primary aggregation axis and tying `page_size` to real credit cost, going beyond a restatement of 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?

Opens with a specific verb+resource ("Search aggregate Airbnb market-rollup rows") and immediately negates the wrong reading ("not individual listings"). The scope is unmistakable and separates it from listing-level siblings.

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 routes the agent: use datasets_airbnb_nearby for the coordinate density map and airbnb_search for live stay listings. Combined with the "aggregate, not individual listings" framing, the when-to-use and when-not-to-use conditions are both stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.