Blog/Commerce and pricing
5 min read

Amazon PA-API Alternative: Get Prices, Search and Reviews

Replace the retired Amazon PA-API with search, product-detail and review calls on one key, tested live on 2026-10-16, billed per result.

Amazon PA-API Alternative: Get Prices, Search and Reviews

Replace the retired Amazon PA-API: get prices, ratings and reviews for any product in one prompt. Paste this into your agent:

Set up https://monid.ai/SKILL.md, and then use Monid to search Amazon for "macbook pro 16", drop any row with a price of 0, and give me a table with ASIN, title, price, rating and review count.

One prompt replaces a search call. 1 min setup · 18-36 hrs saved.

Amazon retired PA-API v5 in May 2026, so an app that still signs requests to it gets no product data back. You need what the old calls gave you, titles with prices, keyword search results and review numbers, plus the review text they never returned. This guide shows the quickest route for your agent, what each call returns (we ran all three live on 2026-10-16), and the traps in the rows. It runs through Monid, the OpenRouter for agent tools: one key, one balance, every tool priced per call.

What is the easiest way to replace the Amazon PA-API?

Monid. Install it once, add a key, and your agent calls Amazon search, product-detail and review endpoints with no Associates account, no request signing and no vendor plan to set up.

  • Pay per call. Each result is billed on its own: $0.0001 per search row, $0.0015 per product record and $0.0009 per review (Verified 2026-10-16 on the Amazon tools page). Buy calls as you need them: no monthly plan and no minimum top-up. Inspection is free; only a run bills.
  • One install, every API. The same key and the same balance call Amazon and every other tool on Monid. The next time one data source disappears from under you, swapping to another is a change of provider and endpoint in the call, not another migration project.
  • Lives inside your agent. Install the CLI, add your key, run the prompt above, and the tools are there whenever your agent needs them, on demand, with nothing to keep running. Your agent reads SKILL.md and learns the rest, so setup is about a minute.

At those prices, a keyword search that returns 16 rows costs $0.0016, and 100 product records cost about $0.15 (Verified 2026-10-16).

How do you get Amazon product data for many ASINs or keywords at once?

Run one call per keyword or per batch of ASINs and loop it over your list. The search endpoint is apify /axesso_data/amazon-search-scraper, the product-detail endpoint is apify /delicious_zebu/amazon-product-details-scraper, and reviews come from apify /axesso_data/amazon-reviews-scraper.

RouteWhat you getCost shapeFits
Amazon's own Creators APIOfficial product data inside Amazon's pipelineAssociates account and new credentialsAffiliates who stay inside Amazon
Download a product datasetA snapshot of one date, for the products its author choseOne-off downloadA research project with no live prices
Build your own scraperWhatever your parser coversYour hoursOne page layout you will maintain
Monid Amazon endpointsLive search rows, product records and review text, typed JSONPay per result, buy flexiblyLists of ASINs and keywords, price tracking, agents

Monid fits a list because the work is the same call repeated, and you pay only for the rows you pull.

For agents

Grab an API key at app.monid.ai, then paste this to your agent and hand it the key:

set up https://monid.ai/SKILL.md

It learns the whole discover, inspect, run workflow itself. More in the agent quickstart.

For humans

npm install -g @monid-ai/cli
monid keys add -k <your-api-key> -l main

Inspect, then run one keyword

monid inspect -p apify -e /axesso_data/amazon-search-scraper
monid run -p apify -e /axesso_data/amazon-search-scraper \
  -i '{"input":[{"keyword":"macbook pro 16","domainCode":"com","page":1}]}'

Loop it over your keywords

Put one keyword per line in keywords.txt, then run:

mkdir -p out
while read -r k; do
  monid run -p apify -e /axesso_data/amazon-search-scraper \
    -i "{\"input\":[{\"keyword\":\"$k\",\"domainCode\":\"com\",\"page\":1}]}" > "out/$(echo "$k" | tr ' ' '_').json"
done < keywords.txt

Each keyword writes one file with the first page of results. What one keyword query returns is covered in the Amazon search API walkthrough.

Or hand the whole job to an agent

Give this to your agent

$Set up https://monid.ai/SKILL.md, and then use Monid to take the keywords on this list, search Amazon for each, drop any row with a price of 0, and give me one table with keyword, ASIN, title, price, rating and review count.

Can you scrape Amazon yourself with Python?

Yes, people do it with Requests, Playwright or Selenium, and it works until Amazon changes the page or starts blocking you. A scraper you write is yours to keep alive: when the markup or the blocking changes, your price series has a hole until you repair it.

Read Amazon's conditions of use before you build anything, because what you may do depends on where you operate and how you use the data.

Doing it in Python means a proxy pool, captcha and block handling, three parsers (search, product, reviews), and a repair every time one changes. That takes hours before the first useful row. The endpoints above list proxy rotation and block handling as part of what they do, a search row is $0.0001 and a product record is $0.0015 (Verified 2026-10-16). Pick Monid for anything you will run more than once. The collection is maintained for you and the output is typed JSON instead of HTML you parse. A downloadable dataset is quicker for a one-off look, but it is a snapshot of one date.

What does Amazon product data look like, and what can you build with it?

Three kinds of record cover what PA-API gave you and one thing it did not: the search row replaces SearchItems, the product record replaces GetItems, and the reviews endpoint returns the text. We ran all three on 2026-10-16, so the fields below are what came back.

The search row

One keyword, macbook pro 16 on the US site, returned 16 rows for one call, billed as 16 results, $0.0016 (Verified 2026-10-16). A row, trimmed:

{ "asin": "B0GR1DS3YP",
  "productDescription": "2026 MacBook Pro Laptop with Apple M5 Pro chip ... 16.2-inch ... 24GB ... 1TB SSD; Silver",
  "price": 2749,
  "retailPrice": 2999,
  "productRating": "4.7 out of 5 stars",
  "countReview": 150,
  "prime": false,
  "deliveryMessage": "Join Prime to get FREE delivery Mon, Oct 19",
  "salesVolume": "200+ bought in past month",
  "manufacturer": "Apple",
  "sponsored": false,
  "searchResultPosition": 1,
  "productDetails": [ { "name": "Display Size", "value": "16 inches" }, { "name": "RAM", "value": "24 GB" } ] }

asin is the key you carry forward. Every row also repeats page-level fields: a result count of 10,000, six similar keywords, and the sort strategy.

The product record

Pass ASINs, or product URLs, and get one record each. We sent B00091S3K4 and B077Z99YGY, and both came back with the fields people migrate for: price as text with the currency symbol and as a number (price and price_value), currency, unit price, star rating and rating count, the 1 to 5 star distribution, best-seller rank, the number of recent purchases, availability (In Stock), delivery date, seller, other sellers, images, videos, specifications, and an aspect summary of the reviews. The T-shirt six-pack also returned a variant list with an ASIN for each colour and size. Two ASINs billed two results and $0.00305 in total (Verified 2026-10-16), the per-result price plus a small flat fee for the run.

The reviews

The reviews endpoint returns the text, not just the score. For a Fire TV Stick (B08C1W5N87) one page, sorted by recent, returned 10 reviews, each with the title, full text, star rating, date, reviewer name, helpful votes, a verified-purchase flag, a Vine flag, and image and video links. Every row also repeats the product-level numbers: 523,294 ratings, a 4.7 average, and the star distribution. Ten reviews billed ten results, $0.009 (Verified 2026-10-16).

What you can build with it

  • A price tracker for your own ASINs. One call per day per product, stored with the date; the next section covers it.
  • A catalogue enrichment job. Feed a list of ASINs through the product endpoint and keep title, brand, specifications and images; automating Amazon product-detail lookups walks the batch version.
  • A review reader. Pull the newest reviews for a product, group them by star rating and read what the unhappy ones say. The best Amazon reviews API comparison covers the review endpoints side by side.

How do you track Amazon price, stock and availability every day?

Pull the narrowest call that carries the number, and schedule it. You do not want the description, the images or the review text. You want a few fields to diff against yesterday.

For a list of known ASINs, the product endpoint is the direct route: it takes the ASINs themselves and returns price_value, availability, rating_stars and rating_count for each, at $0.0015 a record (Verified 2026-10-16). A daily run over 100 tracked products is about $0.15. When you want the ranking as well, the search endpoint returns the price and the position for a keyword in the same call, at $0.0001 a row (Verified 2026-10-16).

Match the ASIN, or you will store the wrong product's price

A keyword search returns whatever Amazon decides is relevant, and the failure when you read the wrong row is silent. In our macbook pro 16 rows, 11 of the 16 were 16-inch machines, 4 were 14-inch, and 1 was a 15-inch MacBook Air. Reading the price off the first row, or off a fixed position, means that the day the results reshuffle your tracker records another product's price under your ASIN and keeps doing it until a person notices.

So filter the returned rows to your tracked ASIN, and if no row matches, record nothing and move on. A missing data point is honest; an inferred one corrupts the series.

row = next((r for r in rows if r["asin"] == tracked_asin), None)
if row is None:
    log.warning("no exact match for %s on %r, skipping", tracked_asin, keyword)
else:
    store(tracked_asin, row["price"], row["searchResultPosition"])

Once the ASIN is matched, searchResultPosition also tells you where your listing ranks for that keyword, which is worth storing next to the price. Wiring up Amazon search rank tracking in one script shows the full loop.

What goes wrong when you replace PA-API with scraped Amazon data?

Four things hide until you run more than one keyword or product. Each one below is something we saw in the 2026-10-16 runs.

Why does a search row show a price of 0?

Because a row can come back without a price. In the 16 rows for macbook pro 16, the first row (B0GR1JKMBV) had price: 0 and retailPrice: 0 even though its secondaryOffer was 2972. The other 15 had a price. A zero is a missing price, not a free laptop, so filter it out before it reaches an average or an alert. When a whole call comes back empty, the empty-result cases for an ASIN scraper are the next place to look.

const priced = rows.filter(r => r.price > 0);

Why are not all the rows the product you searched for?

Because a keyword is a search, not a filter. The 16 rows held 11 machines of 16 inches, 4 of 14 inches and a MacBook Air, and 3 rows were Amazon Renewed units. Filter on asin, on productDetails (it carries Display Size) or on manufacturer before you compare prices.

Why does a recent-first review pull look so negative?

Because "recent" is the newest ten, not a sample. The Fire TV Stick has a 4.7 average on 523,294 ratings, with 83 percent five-star. Its ten newest reviews had seven ratings of one or two stars and three of five. Use reviewSummary for the overall picture and the review rows for what changed lately, and do not average ten rows into a score.

What does one call actually bill?

One result per row, not one per query. The search call billed 16 results for one keyword, and the reviews call billed 10 results for one ASIN, even though the endpoint notes describe one result per query. Set maxPages deliberately, and size a job as rows times the per-result price: 1,000 reviews is $0.90, and 100 keywords at 16 rows each is $0.16 (Verified 2026-10-16).

Which endpoint should I use for which job?

EndpointReplacesInputReturnsLatencyBilling
apify/axesso_data/amazon-search-scraperSearchItemskeyword, domainCode, pageRows with ASIN, price, rating, review count, positionAbout 12 s typicalPer result row
apify/delicious_zebu/amazon-product-details-scraperGetItemsParams (ASINs or URLs), website, currencyA full record per ASIN with price, availability, rank and variantsAbout 21 s typicalPer ASIN, plus a flat fee per run
apify/axesso_data/amazon-reviews-scraperNothing: PA-API had no review textasin, domainCode, sortBy, maxPagesReview text, rating, date, verified flag, helpful votesAbout 9 s typicalPer review row

Latency is the endpoint's typical (median) run time from monid inspect on 2026-10-16. The current price of each endpoint is on monid.ai/tools. To read every review for one ASIN rather than a page, pulling every Amazon review for an ASIN in one call shows the paging.

When is another route a better fit?

You are a pure affiliate who only needs prices and ratings inside Amazon. The Creators API is Amazon's own successor to PA-API, built for Associates. If your whole product lives inside the Associates program, the official route fits and needs no third party.

You need a contractual guarantee on a field being present. Everything above is read from public pages. A field such as list_price, which came back empty on both of our ASINs, or a price that is 0 on a search row, is part of how that data behaves. A vendor contract with an SLA is a different product, and if a missing price breaks your business, buy that instead.

You need Amazon's internal numbers. salesVolume ("200+ bought in past month") is the band Amazon shows on the page, not an internal sales figure.

And the disclosure: we resell these endpoints. The most useful thing in this post is to match on asin and drop zero prices before you store anything, which costs nothing and is a one-line fix whoever you buy the data from.

Conclusion

The quickest way to replace the Amazon PA-API is three calls through Monid: a search endpoint for SearchItems at $0.0001 a row, a product endpoint for GetItems at $0.0015 a record, and a reviews endpoint at $0.0009 a review (Verified 2026-10-16). One key covers Amazon and everything else, setup is about a minute, and the tools are ready inside your agent whenever you need them. Scraping it yourself works until the page changes and costs hours of setup, and Monid keeps the collection maintained.

Two traps cost us time. A search row can carry a price of 0, and a keyword returns neighbours as well as your product: one in three rows in our 16 was not a 16-inch machine. Filter on asin and on price > 0 before you store anything. And billing is per row, so size a job as rows times the unit price.

How we estimated the time saved: building and running your own Amazon search, product-page and review scrapers is roughly 6 to 12 hours each for getting past blocking, parsing typed rows with paging, and the first month of upkeep. That is 18 to 36 hours for the three. The 1 minute is the install, key and first call once you already have a Monid key.

Free next step: run monid inspect -p apify -e /axesso_data/amazon-search-scraper, make one search for a product you sell, and print asin, price and searchResultPosition for each row. The mismatches show up immediately. Start at monid.ai.

FAQ

Is the Amazon PA-API still working?

No. Amazon retired PA-API v5 in May 2026, so requests to it no longer return product data. The replacement is either Amazon's Creators API, for Associates, or a data endpoint such as the three above through Monid, which needs no Associates account.

Is there a free Amazon product data API?

Not for general use. Amazon's own route is the Creators API for Associates. Through Monid there is no monthly plan and no minimum top-up: a search row costs $0.0001 (Verified 2026-10-16), and discovery and inspection cost nothing.

Can I get Amazon review text from an API?

Yes, through the reviews endpoint. PA-API never returned review text, only a star average and a count. The reviews call returns the title, text, rating, date, verified flag and helpful votes, 10 reviews per page in our run, billed per review.

Can I export Amazon product data to a CSV?

Yes, once you have the rows as JSON. Run the loop above, keep asin, productDescription, price, productRating and countReview, and write them to a CSV with whatever tool you like, or ask your agent to do it in the same prompt.

Will my parsing code still work?

Mostly. The ASIN is the same key, but formats differ: the search row gives price as a number and productRating as the text "4.7 out of 5 stars", while the product record gives price as text with the currency symbol and price_value as a number. Diff one product's output during the move, and check for empty strings, since list_price came back present and blank.

Published July 2026.

amazon pa api alternativeamazon product advertising apiamazon product data apiamazon scraperamazon reviews api