Skip to main content
Glama

Apiguru Amazon Data

Live offers and inventory for up to 10 ASINs

offers_stock
Read-onlyIdempotent

Returns the current offer list per ASIN (seller, price, condition, buy-box winner) and, optionally, the actual purchasable stock quantity. Price: $0.015 per item (max 10). Billed per upstream Amazon request, which is more than one per ASIN when check_inventory is true. offers_count=winner returns only the offer flagged is_buybox_winner (offers_total keeps the full count); it used to scope only the inventory check and return every offer. /scrape is a legacy alias for the same handler.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
geoNoMarketplace country code.US
asinsYesComma-separated ASIN list, maximum 10. Each must be 10 uppercase alphanumeric characters; malformed entries are rejected with 400.
conditionNoComma-separated condition filter: ALL, NEW, USED_LIKE_NEW, USED_VERY_GOOD, USED_GOOD, USED_ACCEPTABLE (case-insensitive). Omit for every offer. An unknown value is a free 400 listing the allowed ones; it used to be silently treated as ALL.
offers_countNo'all' for every offer (default), 'winner' for the buy-box offer only, or a specific alphanumeric Offer ID. Every offer carries is_buybox_winner; with 'winner' the per-ASIN data holds that one offer and offers_total says how many exist. An ASIN with no featured offer answers an empty list with an explanatory error. The response echoes filters_applied.all
check_inventoryNoResolve the true purchasable stock quantity. Slower and bills more upstream requests, so leave off unless you need the number.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultsNo
request_idNo
country_codeNo
response_timeNo
filters_appliedNo
amazon_request_countNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / offers_count / description
      Previous value: -"'all' for every offer, 'winner' for the buy-box offer only, or a specific alphanumeric Offer ID."New value: +"'all' for every offer (default), 'winner' for the buy-box offer only, or a specific alphanumeric Offer ID. Every offer carries is_buybox_winner; with 'winner' the per-ASIN data holds that one offer and offers_total says how many exist. An ASIN with no featured offer answers an empty list with an explanatory error. The response echoes filters_applied."
    • addedOutput schema / properties / filters_applied
      Added value: +{
      +  "default": null,
      +  "title": "Filters Applied"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / condition / description
      Previous value: -"Comma-separated condition filter. Any of ALL, NEW, USED_LIKE_NEW, USED_VERY_GOOD, USED_GOOD, USED_ACCEPTABLE. Unrecognised values silently fall back to ALL."New value: +"Comma-separated condition filter: ALL, NEW, USED_LIKE_NEW, USED_VERY_GOOD, USED_GOOD, USED_ACCEPTABLE (case-insensitive). Omit for every offer. An unknown value is a free 400 listing the allowed ones; it used to be silently treated as ALL."
  3. Changed1 schema field changed
    • addedInput schema / properties / asins / pattern
      Added value: +"^[A-Z0-9]{10}(,[A-Z0-9]{10})*$"
  4. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive, but the description goes beyond them: it discloses the pricing model ($0.015 per item, billing per upstream request), that check_inventory multiplies requests, the exact behavior of offers_count=winner (including a historical change note), the legacy alias /scrape, and edge cases like empty lists and filters_applied. This is rich behavioral context with no contradiction.

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 (three sentences) and front-loaded with the core function, followed by pricing, then behavior details, then alias. No redundancy; every clause adds unique information. It avoids repeating schema content and stays under 100 words.

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 complexity (5 params, output schema, annotations), the description covers the essential behavioral nuances: billing, offer filtering, legacy alias, and edge cases. The output schema exists, so return format doesn't need to be described. The description is complete for an agent to call correctly and predict outcomes.

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 detailed descriptions for all five parameters, so the baseline is 3. The description adds value by explaining cost implications (billing per request, more when check_inventory is true) and legacy behavior for offers_count, which are not in the schema. It doesn't fully re-explain parameter syntax but supplements with operational context, earning a 4.

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 a specific verb and resource: returns the current offer list per ASIN with seller, price, condition, and buy-box winner, optionally adding the purchasable stock quantity. The title and description clearly distinguish it from siblings like product_details or product_reviews, making its scope unambiguous.

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

Usage Guidelines3/5

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

The description implies when to use it (for offers and inventory) and gives usage tips within the tool (e.g., 'leave off unless you need the number' for check_inventory), but it never explicitly compares it to sibling tools or states when not to use it. No exclusions or alternative routing are given, so the agent must infer from the tool's purpose.

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.