Apiguru Amazon Data

app.apiguruPublished by apiguru.appOfficial publisherv1.1.60Updated Oct 31, 2026

Live Amazon product, review, search, deal, offer/stock and seller data across 23 marketplaces.

Overview

AI-generated overview

Gives an assistant live Amazon marketplace data across 23 marketplaces: product records, reviews, keyword search, deals, offers and seller profiles.

What you can do
  • Look up one ASIN's full product record, or enrich up to 20 ASINs at once with a cheaper batch call
  • Read a product's rating breakdown and review summary, and search products by keyword with price, brand, condition and deal filters
  • Compare seller offers, buy-box holder and live cart stock for an ASIN
  • List best-seller rankings per department and the current deals feed with discounts and deal windows
  • Inspect sellers: storefront listings, customer feedback and storefront profiles in batch
  • List available endpoints with prices and access mode, and send free feedback to the provider
When to use it
Useful when an assistant needs current Amazon data for research, price and offer comparison, review sentiment, category rankings or seller vetting, rather than static or cached figures. It suits shopping, market and competitor analysis tasks that span several country marketplaces.
Requirements
Runs as a remote HTTP endpoint or as a local stdio process via the npm or PyPI package apiguru-mcp (Node.js or Python). No account is required: without a key it uses a keyless gateway with a small free probe budget. An optional APIGURU_API_KEY (or X-API-KEY header) from the provider's dashboard raises limits; APIGURU_BASE_URL is only for self-hosted or staging use. Network access is required.
Before you install
Paid tools bill per item or per call, and a 404 is still billed while a 503 is not. Once the free calls run out, calls return an x402 payment challenge that an x402-capable client can pay in USDC from a wallet, so spending can occur without a prompt; without a wallet the user must sign in at the provider's account page. The API key is a secret and should be supplied by environment variable or header, not pasted into chat. Feedback sent through the tool goes to the provider.

Installation

In SourceWeft

  1. Open Apiguru Amazon Data in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/app.apiguru%2Famazon-data/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "apiguru-amazon-data": {
      "type": "http",
      "url": "https://mcp.apiguru.app/mcp"
    }
  }
}

README

Apiguru Agent Kit

Everything needed for an AI agent to discover, call and pay for the Apiguru Amazon Data API — with no account, no API key and no subscription.

Try it -- no signup, no headers:

bash
curl 'https://agent.apiguru.app/agent/v1/v2/product-details/B09DJLW458/US'

That returns the live product record (title, price, rating, variants) as JSON, with _links to its reviews and offers. Three calls a day are free; after that pay per call with x402, or use an API key. Agents start at https://agent.apiguru.app/llms.txt.

Install in your agent

ClientHow
Claude Codeclaude mcp add --transport http apiguru https://mcp.apiguru.app/mcp or /plugin marketplace add apiguru-app/agent-kit then /plugin install apiguru@apiguru
claude.ai, Claude Desktop, ChatGPTadd connector https://mcp.apiguru.app/account and sign in
Codex CLIcodex mcp add apiguru --url https://mcp.apiguru.app/mcp
CursorAdd to Cursor (runs npx -y apiguru-mcp)
VS CodeInstall in VS Code
Gemini CLIgemini extensions install https://github.com/apiguru-app/agent-kit
Hermes, OpenClaw, any stdio clientnpx -y apiguru-mcp (npm, Node only) or uvx apiguru-mcp (PyPI)
Skill only (any agent)npx skills add apiguru-app/agent-kit or ClawHub apiguru-amazon-data

Why this exists

The API is gated behind register → verify email → get key → top up. Every step assumes a human. Agents cannot do any of it, so agent traffic bounces off the front door.

And agents don't browse — they query indexes: the x402 Bazaar, the MCP Registry, ClawHub. Apiguru was in none of them, and the repo had no OpenAPI spec at all, so there was nothing machine-readable to publish.

Telling us what is broken

Agents are the ones who find the defects in this API, so there are two ways back to us and neither costs anything:

  • GitHub issues — preferred: https://github.com/apiguru-app/agent-kit/issues. A thread can hold a reply, and a fix gets linked back to it.
  • The wall, for callers with no GitHub account: one unauthenticated POST https://dash.apiguru.app/api/v1/feedback with {"message": "...", "category": "bug|wish|praise|question|other", "endpoint": "/search", "agent": "your-name/1.0", "contact": "optional"}. No key, no signup, never billed. Read it at https://dash.apiguru.app/feedback, or GET the same URL for JSON.
  • Over MCP: the free send_feedback tool. From the skill: python scripts/probe.py feedback --message "..." --category bug.

This is not decoration. 1.1.3 exists because an agent reported that search returned the brand as product_title, null for every product_num_ratings, and delivery text with the words welded together.

What is in this repository

PathWhat it is
skill/apiguru-amazon-data/The agent skill: SKILL.md, references, and scripts/probe.py
mcp/The MCP server published to PyPI as apiguru-mcp
npm/The npm bridge, apiguru-mcp
plugin/ + .claude-plugin/The Claude Code plugin and its marketplace entry
spec/endpoints.json and the generated openapi.json / llms.txt

The hosted service that serves these endpoints is operated separately and is not part of this repository.

Licence

See LICENSE.

Source: README.md at commit 0261964

Tools

12

product_details

Full product detail for a single ASIN

Use for one product's current listing. Not for several ASINs (product_details_batch), seller offers or stock (offers_stock), or review text (product_reviews). Fetches the complete product record for one ASIN on one marketplace: title, price, star rating, rating count, images, description, feature bullets, variations and category. Price: $0.003 per call. 404 means the ASIN is absent from that marketplace and IS billed. 503 is a temporary failure on our side and is NOT billed - retry. Bullet points and specs are what Amazon shows for the listing; on multi-variant listings they can describe the product family rather than the exact variant. A null field means Amazon did not show it. Keys of `product_information`, `tech_specs` and the other specification tables are trimmed: Amazon prints some rows twice, once with a trailing space ("Package Dimensions "), and the copies are merged under the clean name; when they differ the listing's own value wins (the second copy of "ASIN" on a variant often names the parent).

Parametersgeoasinrequiredfieldscompact

product_reviews

Customer reviews for a single ASIN

Use for what customers say about one product. Not for its full review history (Amazon serves full and star-filtered review lists only to signed-in accounts) or for seller feedback (seller_reviews). Returns the overall rating, rating count, review_histogram (percent of all ratings per star), Amazon's 'customers say' AI summary where that marketplace shows one, and the reviews on the product page (typically up to 8 from this marketplace and 5 from other countries), each with rating, review_date, review_country, from_this_marketplace, verified flag and helpful_votes; from_rating/to_rating keep a star window. Price: $0.003 per call. Same 404-billed / 503-not-billed semantics as product_details. No paging or sort: the reviews are those on the product page; review_coverage says how many and from where. from_rating/to_rating filter them. review_histogram (here and on product_details) gives the share of every rating. customers_say is null where Amazon shows no summary (several marketplaces never do); customers_say_note then says so.

Parametersgeoasinrequiredto_ratingfrom_ratingmax_reviews

product_details_batch

Product detail for up to 20 ASINs in one call

Use to enrich a list of ASINs in one call; compare the ASINs in `results` with the ones you sent. Batch variant of product_details. Accepts a comma-separated ASIN list, deduplicates it, and fetches all of them concurrently. Far cheaper and faster than N single calls. Price: $0.0024 per item (max 20). Billed per ASIN processed, including ones that come back not-found. More than 20 ASINs returns 413. Bullet points and specs are what Amazon shows for the listing; on multi-variant listings they can describe the product family rather than the exact variant. A null field means Amazon did not show it. ASINs Amazon has no record for on that marketplace are listed in not_returned (billed, like a not-found product_details call; retrying will not help). The batch record comes from Amazon's app, not the product page: price, rating, availability, images, bullets and variants, but no best-seller ranks, no category path and no merchant (seller) id. For those call product_details per ASIN. On an API key both cost one request per ASIN, so the batch saves calls and time, not money; keyless (x402) it is also cheaper per item. Compact rows carry brand, weight {raw, unit, value} and dimension {length, width, height, unit, raw} in product_details' shape, read from the row's product_attributes (package dimensions first); outside amazon.com Amazon's app prints centimetres under an inches label, so there dimension.unit is cm while raw keeps Amazon's text.

Parametersgeoasinsrequiredfieldscompact

offers_stock

Live offers and inventory for up to 10 ASINs

Use to compare sellers' current offers and see who holds the buy box, and, with check_inventory, how many units a buyer can add to the cart now. The stock number is not a sales estimate. Not for the listing's own details (product_details). Returns the current offer list per ASIN (seller, price, condition, buy-box winner) and, optionally, the actual purchasable stock quantity. Price: $0.0045 per item (max 10). Billed per lookup, 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. When Amazon will not return the offer list for an ASIN, the result carries source=product_page: the featured (buy-box) offer read from the product page, offers_on_amazon (how many offers Amazon says exist) and a note; other sellers' offers and stock are then not included. With check_inventory, a cart check that cannot read a quantity is retried once on another session; one that still fails says so on the offer, inventory_response {"error": "cart check failed", "code": "cart_check_failed", "retryable": true}, is not billed, and never reads as a quantity of 0. Each offer carries `ships_from` (the "Ships from" name: Amazon for FBA, else the seller), `delivery_message` (the offer's own delivery promise, e.g. "FREE delivery Friday, October 16 on orders shipped by Amazon over $35") and `delivery_message_secondary` (the "Or fastest delivery ..." line), null when the offer shows none. `delivery` is the same value as `ships_from`, kept for existing integrations; it never held delivery information. A row for an ASIN that could not be answered carries `error`, `code`, `http_status`, `billed`, `retryable` and `next_step`, like a top-level error: `upstream_unavailable` (not billed, retry that ASIN), `no_offers` ("No offers found": the offer list holds no offer that can be bought

Parametersgeoasinsrequiredconditionoffers_countcheck_inventory

best_sellers

Best-seller rankings for a category

Use for what sells best in a department right now. The rank is Amazon's, not a sales figure. Best-seller rankings for a department of one marketplace, 50 per page. Every answer carries the department it resolved to and how (category_resolution: by slug, name or a fragment of a name, with a hint when a fragment such as 'shoes' landed on the whole 'Clothing, Shoes & Jewelry' department, or 'subcategory' when a word such as 'camera' named a subcategory), available_categories (that marketplace's departments with slugs; MCP: with compact=false) and available_subcategories (the children of the node shown, with the ids subcategory_code takes). On amazon.com subcategory_code also takes any browse node id at any depth, or a name resolved under the department ("women's shoes", "mules & clogs"); category.subcategory_path gives the node's full path and category.heading the page's own title line. Price: $0.003 per call. No required parameters - calling it bare returns US appliances page 1. `category` accepts a slug, a display name, one of the older US department names, or a unique fragment; category_resolution.via says which, and a fragment match adds a hint naming the subcategories that carry the word, with ids. On amazon.com the whole browse tree is known: subcategory_code takes any node id or a name at any depth, subcategory_name and subcategory_path are filled without a fetch, and available_subcategories lists the node's real children (empty on a leaf). Other marketplaces name only what their navigation showed. page is capped at 5 (a 400 beyond, not a 500). `rank` is the position within the requested list on this page. Rows are the same for every marketplace; only the department vocabulary differs, and the answer carries it.

Parametersgeopagelimitfieldscompactcategorysubcategory_code

deals

Current Amazon deals with filters

Use for items currently promoted in Amazon's deals feed. Not for one product's price (product_details); for a brand by name use search with brand= and today_deals=true. Returns the current Amazon deals feed: ASIN, title, deal price, list price, discount, deal badge, start/end time and product links. Filter by department (categories), brand id (brands), rating cut-off, price bounds, minimum discount and Prime program. Every answer carries available_filters (the category and brand ids this marketplace accepts, with names), filters_applied / filters_ignored (what took effect) and next_offset (the next page, null when the feed ends). Price: $0.003 per call. Filters are by id: categories takes a department id or name, brands takes brand ids only; available_filters in every answer lists both with names, and filters_applied / filters_ignored report what Amazon honoured. A page is 30 rows; page with offset=next_offset (null when exhausted); total_count caps at 500. min_price, max_price, min_discount and max_discount are applied to the rows after retrieval, scanning up to 3 feed pages per call, so a page can hold fewer than 30 rows and total_count does not reflect them. An empty answer carries a hint saying why. Deal prices expire: check deal_ends_at. The older price_range and discount_range parameters are still accepted, as buckets (1-5 = under 25 / 25-50 / 50-100 / 100-200 / 200 and up; 1-4 = 10 / 25 / 50 / 70 percent off or more) or as bands such as 25-50 and 70+.

Parametersgeolimitbrandsfieldsoffsetcompactmax_pricemin_pricecategoriesmax_discountmin_discountprime_exclusive+2 more

seller_profile_batch

Seller profiles for up to 10 seller IDs

Use to vet sellers: name, rating and feedback counts as Amazon displays them. Returns the storefront profile for each seller id: business name, rating, feedback counts, address and marketplace presence. Price: $0.0036 per item (max 10). Seller ID validation is all-or-nothing: one malformed id rejects the entire request with 400. Every row in results is an object with `status`: `ok` (the profile), `not_found` (Amazon has no page for that id on this marketplace; billed, like a 404) or `unavailable` (could not be retrieved right now; NOT billed on the keyed path, `retryable: true`). A row is never null. billable_requests_count counts ok + not_found rows; on the pay-per-call rail the per-item quote is settled up front, so retry `unavailable` ids in a separate call rather than expecting a partial refund. On agent.apiguru.app the answer also carries `success` and `_links.self`; `billable_requests_count` is there on your own key only.

Parametersgeoseller_idsrequired

seller_products

Products listed by a seller

Use to list one seller's storefront. Products listed by a seller: a storefront search. Takes the same filters as search -- query, page, sort_by, category_id, min_price / max_price, product_condition, brand, today_deals, deal_type -- and answers with filters_applied, filters_ignored and available_filters like search does. Price: $0.003 per call. A malformed seller_id is a free 400, as on seller_profile_batch. metadata.total_pages counts every page of the result (48 rows a page), but Amazon serves at most 7 pages of one query: metadata.reachable_pages is how far page can go, and when it is less, pagination_note says how to see the rest (min_price/max_price bands or category_id). _links.next is the next page while there is one; a page past the end is a free 400 page_out_of_range. Invalid sort_by, price, product_condition or deal_type is a free 400 that lists the allowed values. No single sort order lists a whole storefront: Amazon's relevance order (the default) can count far fewer products than the store holds and repeats products across pages, and other orders include products it leaves out (measured on one store: relevance 321, NEWEST 1,898; on another, relevance and NEWEST shared 90 of 161 products). Page 1 of a storefront without `query` carries `coverage_note` with the recipe: page through sort_by=RELEVANCE and sort_by=NEWEST, split a store larger than 336 products into min_price/max_price bands, dedupe by asin. An empty storefront carries `note`: Amazon reports 0 products for a seller with no listings on that marketplace and for an id that is not a seller alike, so check it with seller_profile_batch (`_links.seller_profile`). Rows have the search row shape: `offers_count` is null unless the card shows a count, and `product_brand` is null on most storefront cards (Amazon prints no brand line there; product_details has `brand_name`).

Parametersgeopagebrandlimitqueryfieldscompactsort_bydeal_typemax_pricemin_priceseller_idrequired+3 more

seller_reviews

Feedback reviews for a seller

Use for a seller's customer feedback (service, shipping). Not for product reviews (product_reviews). Returns paginated seller feedback, optionally filtered to a star-rating window. Price: $0.003 per call. from_rating and to_rating are optional; omit both for unfiltered feedback. A page holds 5 reviews and the answer carries current_page and has_next_page; Amazon exposes no total, so page until has_next_page is false (up to page 100).

Parametersgeopagelimitfieldscompactseller_idrequiredto_ratingfrom_rating

list_capabilities

List endpoints, prices and marketplaces (free)

List every Apiguru endpoint with its price, required parameters and supported marketplaces, plus your current access mode, cache and session budget. Free: answers locally with no network request and no charge. Call this before paid tools if you need to plan.

Takes no parameters.

send_feedback

Report a bug or request a feature (free)

Report a bug, ask for a field, or say what would make this API more useful. Free: never billed, no API key needed. Prefer GitHub if you have an account -- an issue at https://github.com/apiguru-app/agent-kit/issues gets a reply on the thread, this wall does not. Use this tool when you have no GitHub account or nothing to attach one to. message: what happened or what you want. Be specific: the tool, the parameters, the field, what you expected, what you got, and the request_id from the answer. One issue per entry -- a five-point list cannot be closed point by point. category: bug | wish | praise | question | other endpoint: which tool or path it is about, e.g. "search". agent: what you are, e.g. "acme-pricing-bot/2.1". Optional. contact: a GitHub handle or email if you want a reply. Shown publicly on the wall. Optional.

Parametersagentcontactmessagerequiredcategoryendpoint

Version history

23
  1. v1.1.60LatestOct 31, 2026
  2. v1.1.58Oct 29, 2026
  3. v1.1.57Oct 26, 2026
  4. v1.1.56Oct 21, 2026
  5. v1.1.55Oct 17, 2026
  6. v1.1.54Oct 11, 2026
  7. v1.1.53Oct 11, 2026
  8. v1.1.52Oct 10, 2026
  9. v1.1.51Oct 6, 2026
  10. v1.1.50Oct 2, 2026
  11. v1.1.48Oct 1, 2026
  12. v1.1.46Sep 30, 2026
  13. v1.1.42Sep 30, 2026
  14. v1.1.40Sep 29, 2026
  15. v1.1.38Sep 29, 2026
  16. v1.1.36Sep 27, 2026
  17. v1.1.35Sep 27, 2026
  18. v1.1.33Sep 27, 2026
  19. v1.1.32Sep 27, 2026
  20. v1.1.30Sep 26, 2026
  21. v1.1.29Sep 21, 2026
  22. v1.1.28Sep 21, 2026
  23. v1.1.25Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts