Amazon MCP Server - Product Data for AI Agents avatar

Amazon MCP Server - Product Data for AI Agents

Pricing

from $3.00 / 1,000 read operations

Go to Apify Store
Amazon MCP Server - Product Data for AI Agents

Amazon MCP Server - Product Data for AI Agents

Amazon MCP server for Claude, ChatGPT and Cursor. Search products and read live prices, buy-box offers, public reviews and bestseller rankings across US, UK, French and German stores, with no Amazon API key. Not affiliated with Amazon. By MrBridge (mr-bridge.com)

Pricing

from $3.00 / 1,000 read operations

Rating

0.0

(0)

Developer

MrBridge

MrBridge

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

9 days ago

Last modified

Share

Amazon MCP Server

Status: public beta. Five tools, live and tested end to end against real Amazon pages. Interfaces may still change between builds, and the CHANGELOG.md says what did.

This project is not affiliated with, endorsed by, or sponsored by Amazon. "Amazon" is a trademark of Amazon.com, Inc. This is an independent tool that reads publicly visible pages.

An Apify Actor running in Standby mode that exposes public Amazon catalog data to AI agents through the Model Context Protocol. Your assistant calls a tool, gets clean typed JSON back, and can reason over it directly. It is a low-latency per-call data service, not a bulk exporter.

Quick Start

In Claude Desktop, ChatGPT, Cursor, Windsurf, Claude Code, or another MCP-compatible client, add this Streamable HTTP endpoint as a custom connector:

https://mrbridge--amazon-mcp-server.apify.actor/mcp?token=YOUR_APIFY_TOKEN

Replace YOUR_APIFY_TOKEN with your Apify API token. If your client can set headers, send Authorization: Bearer YOUR_APIFY_TOKEN and use the bare /mcp URL instead: a token in a query string ends up in logs and browser history.

The five tools appear once the Standby server starts. The first request after an idle period takes a few seconds while the container wakes. Then ask your assistant something like "what does ASIN B08N5WRWNW cost on Amazon UK right now?"

Or run it once, without a client

The Actor also accepts a conventional run. Fill in the Input form, start it, and it performs a single read, writes one result to the dataset and finishes. Two operations are available this way, amazon_search and amazon_bestsellers, which is what makes the Actor usable as a saved Task or on a schedule.

Product, offers and reviews stay on the MCP endpoint. They bill per action, and writing their results to the dataset would bill the same call a second time.

Prefer to read the HTTP contract directly? The Actor page renders an interactive OpenAPI description of the endpoint, with request examples and documented responses.

Tools

ToolInputMarketplacesReturns
amazon_searchquery, marketplace, pageUS, UK, DEproducts with ASIN, title, price, rating, image, URL
amazon_productASIN or product URL, marketplaceUS, UK, FR, DEtitle, brand, live price, availability, features, images, category, rating, buy-box seller
amazon_offersASIN, marketplaceUS, UK, FR, DEthe buy-box offer: price, seller, availability
amazon_reviewsASIN, marketplaceUS, UK, FR, DEpublicly visible reviews, stripped of reviewer identity
amazon_bestsellerscategory, marketplaceUS, UK, FR, DEranked product list

Marketplaces in v1: US, UK, FR, DE, with one exception. amazon_search is not offered on FR. That is a measurement, not a policy: on 2026-08-01 amazon.fr answered /s with an AWS WAF challenge while the product and best-seller pages came back clean through the same proxy country, and five spaced searches on 2026-08-09 all failed. Asking for it returns UNSUPPORTED_MARKETPLACE immediately, with no request made and nothing charged. The other four tools read a product page or a ranking page, so they work normally on FR.

The same coverage is published as a machine-readable MCP resource, amazon://marketplaces, so a client can read it rather than trust this table.

Best sellers category slugs do not carry across storefronts. electronics resolves on US, UK and FR, while the same department on DE is ce-de. A slug is not a translation of its label either: the "Informatique" department on amazon.fr is computers. Amazon serves an empty page rather than a 404 for a slug that does not exist, which this server reports as NOT_FOUND.

Prices are marketplace-local and are never converted between currencies. Every response echoes back its marketplace, currency, fetch timestamp, whether the data came from cache or from a live fetch, and whether the call was charged. Every price you receive is fetched live: nothing that carries a price is served from cache.

What this server will not do

Being explicit about the limits is more useful than discovering them mid-session.

  • It does not solve CAPTCHAs. When Amazon challenges every attempt, the tool returns a structured BLOCKED_CAPTCHA error and you are not charged.
  • It does not read anything behind a login. Amazon serves its dedicated reviews page only to signed-in users, so reviews come from the ones displayed publicly on the product page, with a reviewsTruncated flag. There is no pagination, because there is no second page to read without signing in.
  • It returns one offer, not the whole market. Amazon loads competing seller offers dynamically, behind a redirect. amazon_offers returns the buy-box offer and sets offersTruncated.
  • French coverage is partial, in one specific way. Amazon France puts its search surface behind an AWS WAF challenge, so amazon_search is not offered on FR at all: it returns UNSUPPORTED_MARKETPLACE immediately, without fetching. It never returns BLOCKED_CAPTCHA, because no request is made. The other four tools read the product page or a ranking page, which answer normally on FR. Any fetch on any marketplace can still meet a challenge and come back as BLOCKED_CAPTCHA. You are not charged for either outcome.
  • It does not return reviewer identities. Display names, profile links, avatars and badges are dropped before the data leaves the server. Each response lists what was removed in redactedFields.
  • It does not rehost images. You get image URLs pointing at Amazon.
  • It does not run a browser. Amazon's catalog pages are server-rendered, so a browser would add cost and latency for nothing.

Errors are data, not crashes

A valid call that fails comes back as a structured tool error your agent can act on: INVALID_INPUT, NOT_FOUND, UNSUPPORTED_MARKETPLACE, BLOCKED_CAPTCHA, RATE_LIMITED, GEO_MISMATCH, PARSE_ERROR, PROXY_ERROR, UPSTREAM_API_ERROR, LOGIN_REQUIRED. None of them is billed, and each one says whether retrying is worth anything.

Arguments that are not valid in the first place are refused by MCP itself, with -32602, before any of that runs. A wrong type, a number outside its range, a string past its maximum length, a category that is not a plain slug, or a property the tool does not declare all land there. Nothing is fetched and nothing is charged. The two layers answer different questions: -32602 means the call was never well-formed, the taxonomy above means the call was fine and the world did not cooperate.

UNSUPPORTED_MARKETPLACE is the one that never changes on a retry: the tool and the storefront both exist, we just do not serve them together. Today that means amazon_search on FR.

Pricing

Pay-per-event. Every call falls into one of two categories, and each is billed once per successful call that actually returned something:

  • Read Operation covers amazon_search and amazon_bestsellers, which list a catalogue page.
  • Action Operation covers amazon_product, amazon_offers and amazon_reviews, which each read a full product page.

A third event, Actor Start, is charged by Apify when the Standby container starts. It is not a per-call charge and this server never fires it from code.

Nothing is charged for a failed call, a page Amazon blocked, invalid input, a tool and marketplace combination this server does not serve, or an empty result. Every response says which case it was in its charged field, and carries a requestId that also appears on the billing receipt, so a charge can always be traced back to the exact call that produced it.

Platform usage is billed to you as well. In the current configuration you pay the per-event prices above plus your own Apify platform usage for the run, rather than a single all-inclusive event price. Both appear on your Apify bill.

Current rates for all three events, across every plan tier, are on the Pricing tab. They are not repeated here: Apify renders them from the Actor's own configuration, and a copy in this file would go stale the first time a price changes.

You can cap the spend of any run with ACTOR_MAX_TOTAL_CHARGE_USD from the Apify Console. It bounds the total for the run across every event. Once the cap is reached the server stops returning paid results rather than serving them free, so the cap is a real ceiling.

Connecting

In Claude Desktop, ChatGPT, Cursor, Windsurf, Claude Code, or another MCP-compatible client, add this Streamable HTTP endpoint as a custom connector:

https://mrbridge--amazon-mcp-server.apify.actor/mcp?token=YOUR_APIFY_TOKEN

Replace YOUR_APIFY_TOKEN with your Apify API token. Clients that can set headers should send the token as a bearer header instead and use the bare /mcp URL, which keeps it out of logs and browser history.

The five Amazon tools become available once the Standby server starts. The first request after an idle period may take a few seconds while the container wakes.

The Actor works two ways. As an MCP server it takes no run input and serves tool calls on the endpoint above. As a conventional run it reads the Input form and performs a single operation, amazon_search or amazon_bestsellers, writing one result to the dataset and finishing. Product, offers and reviews are available on the MCP endpoint only.

FAQ

Do I need an Amazon API key? No. There is no key to get: Amazon's Product Advertising API is affiliate-gated and forbids this kind of use, which is why this server reads publicly visible pages instead. Your Apify token is the only credential involved.

Why did my first call take several seconds? Standby stops the container after five idle minutes. The next call wakes it, and that one pays the cold start. Calls after it are fast until the next idle period.

Why is amazon_search refused on FR when the other tools accept it? Amazon France guards its search surface specifically. The refusal is immediate and free rather than a slow failure. See the coverage note above.

Can I get all the offers for a product, not just the buy box? Not in v1. Amazon loads competing offers dynamically, so the server-rendered page carries only the buy box. Responses say so with offersTruncated: true.

Can I page through all the reviews? No. Amazon serves its paginated reviews page only to signed-in users, and this server does not sign in. You get the reviews visible to anyone, with reviewsTruncated: true.

Are prices converted between marketplaces? Never. Every price is local to its storefront, and the response tells you which currency it is in. Comparing across marketplaces is your conversion to make.

Something is broken or a field stopped coming back. Where do I report it? Open an issue on the Issues tab. Quote the requestId from the response: it ties your call to the server-side record of it.

More tools

Built by Mr Bridge. See also the MCP servers, scrapers, and AI workflows catalogues.