Keepa Scraper | Amazon Price History and Offers avatar

Keepa Scraper | Amazon Price History and Offers

Pricing

from $5.10 / 1,000 products

Go to Apify Store
Keepa Scraper | Amazon Price History and Offers

Keepa Scraper | Amazon Price History and Offers

Keepa scraper for Amazon price history: search by keyword, ASIN or product link and get buy box, Amazon, new and used prices, price history, live seller offers and stock, rating, reviews, sales rank drops and FBA fees. 20 products in 2 seconds, 82 fields each. No Keepa subscription or API key.

Pricing

from $5.10 / 1,000 products

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

2 days ago

Last modified

Share

Keepa Scraper | Amazon Price History, Buy Box and Seller Offers (2026)

Keepa products, 82 fields each, from any search.

From SilentFlow. Creators of Facebook Search Scraper and JD Products Scraper (#1 for โ€œjd scraperโ€ in Apify Store search), with 750,000+ combined lifetime runs.

Turn Keepa's Amazon price tracking into a spreadsheet: type a keyword, paste ASINs or product links, and get one row per product with its buy box, Amazon, new and used prices, 90 days of price history, live seller offers, rating, reviews, FBA fee and package size. 20 air fryers from amazon.com in under 3 seconds on our test run, on 13 Amazon marketplaces, with no Keepa subscription and no API key.

Why choose this actor?

Opening Keepa charts one product at a time to check whether a price is a real deal? Paying for an API plan just to pull the price history of a few hundred ASINs? Starting every run by hunting down the ASINs of a niche you do not know yet?

  • Search Amazon by keyword, not only by ASIN. Type air fryer and get the 20 products Keepa lists for it, each with its full data, in under 3 seconds on our test run. Paste ASINs, ISBN-10 numbers, Amazon product links or Keepa links in the same run: three ways in, one dataset.
  • Nothing to fill in before the first run. No field is required. The prefilled form runs as it is and returned 20 products with 77 to 83 filled fields each, out of 88 per row.
  • Price history comes in every row by default. Each product carries its buy box, Amazon, new, used and list price changes over the last 90 days (12 to 117 buy box price points per air fryer on our test run), plus the written reviews count over time. Set historyDays to 365 for a year (4,122 buy box price points for a renewed iPhone 14) or to 0 for everything Keepa recorded.

Try Keepa Scraper

Paste this input into the Input tab (JSON view) and press Start. It is the prefilled input of the form: the products Keepa lists for "air fryer" on amazon.com, each with 90 days of price history and its live seller offers.

{
"searches": ["air fryer"],
"marketplace": "us",
"maxItems": 100,
"historyDays": 90,
"includeOffers": true
}

Runs of this size fit easily in the Apify Free plan, so you can try the actor on your own keywords and ASINs before scheduling anything. Each product is one row of the dataset; export it as JSON, CSV, Excel or HTML from the Storage tab, or read it from the API.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this actor:

You have access to the Keepa Scraper on Apify: silentflow/keepa-scraper
It returns Amazon products as Keepa tracks them: current prices, price history, buy box, live seller offers,
rating, reviews, fees and package size. No Keepa account or API key. One row per product and marketplace.
Input (no field is required):
- searches (array of strings): Amazon keywords, e.g. ["air fryer"]. About 20 products per keyword on amazon.com.
- asins (array of strings): ASINs (B0BN72FYFG) or ISBN-10 (0590353403); product links are accepted too.
- startUrls (array of {url}): Amazon /dp/ or /gp/product/ links, Keepa #!product/ links,
Amazon /s?k= search links and Keepa #!search/ links. The marketplace is read from the link.
- marketplace (string, default "us"): us, gb (or uk), de, fr, it, es, nl, ca, mx, br, jp, in, au.
Also accepts English names (Germany) and domains (amazon.de).
- maxItems (integer, default 100): stop after this many products.
- historyDays (integer, default 90): days of price history per row; 0 returns the full history.
- includeOffers (boolean, default true): add the live seller offers.
- debugMode (boolean, default false).
Output per product (88 fields):
- Identity: id, asin, url, keepaUrl, title, brand, manufacturer, model, partNumber, parentAsin,
marketplace, currency (strings)
- Content: productType, category, categoryPath, rootCategory, description (strings);
features, eans, upcs, variationAsins, frequentlyBoughtTogether (string arrays); color, size, style, material
- Buy box: buyBoxSellerId (string), buyBoxIsAmazon, buyBoxIsFBA, buyBoxIsPrime (booleans), buyBoxAvailability
- Prices (numbers in the marketplace currency, null when nobody offers it): price, buyBoxPrice, amazonPrice,
newPrice, usedPrice, listPrice, newFbaPrice, newFbmPrice, refurbishedPrice, warehousePrice, buyBoxAvg30,
buyBoxAvg90, buyBoxAvg180, amazonPriceAvg90, newPriceAvg90, lowestPrice365, highestPrice365; isLowestPrice90 (boolean)
- Counts and fees (numbers): rating, reviewsCount, writtenReviewsCount, offerCount, newOfferCount,
usedOfferCount, fbaOfferCount, fbmOfferCount, stockBuyBox, salesRankDrops30, salesRankDrops90,
salesRankDrops180, salesRankDrops365, amazonOutOfStock90, referralFeePercent, fbaFee,
packageWeightGrams, packageLengthMm, packageWidthMm, packageHeightMm, itemWeightGrams, numberOfItems
- Dates (RFC 3339 strings): releaseDate, listedSince, trackingSince, lastPriceChangeAt, updatedAt
- Media: imageUrl (string), images, videoUrls (string arrays)
- History (arrays of {date, price} or {date, value}): buyBoxPriceHistory, amazonPriceHistory,
newPriceHistory, usedPriceHistory, listPriceHistory, writtenReviewsHistory
- offers (array of {sellerId, condition, price, shipping, isFBA, isPrime, isAmazon, stock, lastSeenAt})
- searchQuery (string or null), scrapedAt (RFC 3339)
Use apify-client for Python or JavaScript: client.actor("silentflow/keepa-scraper").call(run_input=...).

How to scrape Keepa Amazon price history

Three inputs, from the simplest to the most complete. Each one runs as it is.

Get the price history of your own ASINs

{
"asins": ["B0BN72FYFG", "B0CSZ7WBYW", "B0C33CHG99"]
}

Three products on amazon.com, each with 90 days of buy box, Amazon, new, used and list prices, its live offers and its review counts. An ASIN Keepa does not track on that marketplace gives no row and is named in the log.

Search a keyword on Amazon Germany

{
"searches": ["heiรŸluftfritteuse"],
"marketplace": "de",
"maxItems": 20
}

The products Keepa lists for the German keyword on amazon.de, prices in euros. Type the keyword in the marketplace's language: Keepa searches the titles the way Amazon writes them there.

{
"startUrls": [
{ "url": "https://www.amazon.com/dp/B0BN72FYFG" },
{ "url": "https://keepa.com/#!product/1-B0CSZ7WBYW" },
{ "url": "https://www.amazon.co.uk/s?k=kettle" }
],
"maxItems": 15,
"historyDays": 365,
"includeOffers": false
}

Two product links (one from Amazon, one from Keepa) and a UK search link, mixed in one run. The pasted products come first, the search fills the rest of the 15 products. Every row carries 365 days of price changes and no offer list, for lighter rows.

Input parameters

ParameterTypeDefaultWhat it does
searchesarray of strings["air fryer"] (prefill)Amazon keywords. Each returns the products Keepa lists for it, about 20 on amazon.com.
asinsarray of stringsnoneASINs or ISBN-10 numbers, read on the marketplace below. Links are accepted too.
startUrlsarray of linksnoneAmazon or Keepa product and search pages. The marketplace comes from the link.
marketplacestringusAmazon store for keywords and ASINs: us, gb, de, fr, it, es, nl, ca, mx, br, jp, in, au.
maxItemsinteger100Stop after this many products, across all inputs.
historyDaysinteger90Days of price history per row. 0 returns everything Keepa recorded.
includeOffersbooleantrueAdds the live seller offers with price, shipping, condition, FBA, Prime and stock.
debugModebooleanfalseDetailed logs for troubleshooting.

Accepted formats

  • ASIN: 10 characters starting with B, such as B0BN72FYFG. Lower case works.
  • ISBN-10 for books: 0590353403.
  • Amazon product links: /dp/, /gp/product/, /gp/aw/d/, /product-reviews/ on any of the 13 marketplaces, with or without the title slug and tracking parameters.
  • Keepa product links: https://keepa.com/#!product/1-B0BN72FYFG, where the number is Keepa's marketplace code (1 for amazon.com, 2 for amazon.co.uk, 3 for amazon.de and so on).
  • Search links: https://www.amazon.co.uk/s?k=kettle or https://keepa.com/#!search/1-air%20fryer run as keyword searches on their marketplace.
  • Marketplace: a code (de, uk), a three-letter code (deu), an English country name (Germany) or a domain (amazon.de).

Short links such as amzn.to and non-product Amazon pages are skipped and named in the log, so the rest of the run goes on.

What data can you extract from Keepa?

Every row is one Amazon product on one marketplace, with 88 fields in eight groups. On our test run with the default input, each row filled 77 to 83 of them; fields Amazon or Keepa do not have for a product are null, never an empty text.

GroupFieldsWhat you get
Identity12ASIN, Amazon and Keepa links, title, brand, manufacturer, model, part number, parent ASIN, marketplace, currency
Content14Amazon product type, category, full category path, root category, description, bullet features, color, size, style, material, EAN and UPC codes, variation ASINs, frequently bought together
Buy box5Buy box seller id, sold by Amazon, fulfilled by Amazon, Prime, availability
Prices18Price, buy box, Amazon, new, used, list, new FBA, new merchant, refurbished, warehouse; buy box averages over 30, 90 and 180 days; Amazon and new averages over 90 days; lowest and highest buy box over 365 days; lowest-in-90-days flag
Counts and fees22Rating, ratings count, written reviews count, offer counts (total, new, used, FBA, merchant), buy box stock, sales rank drops over 30, 90, 180 and 365 days, Amazon out-of-stock share over 90 days, referral fee percent, FBA fee, package weight and dimensions, item weight, number of items
Dates5Release date, listed since, tracked by Keepa since, last price change, last Keepa update
Media3Main image, all images, video links
History and sellers7Buy box, Amazon, new, used and list price histories, written reviews history, live offers (9 fields each)

Plus searchQuery (the keyword that found the product, null for a pasted ASIN or link) and scrapedAt.

A few facts that help you use the data:

  • asin is Amazon's product id and id adds the marketplace (B0C33CHG99-us), so the same product read on two stores gives two distinct rows. url and keepaUrl are permanent links.
  • Prices are numbers in the marketplace currency (currency), with cents as decimals, except Japan where Amazon prices are whole yen.
  • Buy box and merchant prices include shipping, as Keepa charts them.
  • In a price history, a null price means nobody offered the product at that moment (out of stock). The first point of each history is the price in force when the window opens, so the series always starts with a known value.
  • All dates are RFC 3339 in UTC.
  • Image links point to Amazon's image host and stay valid as long as Amazon keeps the image; video links are streaming playlists that Amazon may rotate.

Output example

One full row from our test run, values as delivered (Amazon text keeps the seller's own styling). Lists are shortened to their first entries; every field is kept:

{
"id": "B0C33CHG99-us",
"asin": "B0C33CHG99",
"url": "https://www.amazon.com/dp/B0C33CHG99",
"keepaUrl": "https://keepa.com/#!product/1-B0C33CHG99",
"title": "Cosori TurboBlaze Air Fryer, 9-in-1, 6 Qt, PFAS-Free Ceramic Coating",
"brand": "Cosori",
"manufacturer": "Cosori",
"model": "CAF-DC601-KUS",
"partNumber": "CAF-DC601-KUS",
"parentAsin": "B0H37KT3KM",
"marketplace": "us",
"currency": "USD",
"productType": "AIR_FRYER",
"category": "Air Fryers",
"categoryPath": "Home & Kitchen > Kitchen & Dining > Small Appliances > Fryers > Air Fryers",
"rootCategory": "Home & Kitchen",
"description": "Cosori TurboBlaze 6.0-Quart Air Fryer\nOpen the Envelope Inside the Package โ€“ Get a Complete Recipe Book & Detailed Manual to Start Your Culinary Journey!",
"features": [
"๐˜ผ๐™ž๐™ง ๐™๐™ง๐™ฎ๐™š๐™ง ๐™๐™ฅ๐™œ๐™ง๐™–๐™™๐™š: Innovative TurboBlaze Technology delivers a powerful 3600 rpm fan speed and temperatures up to 450โ„‰, achieving crispy, juicy results every time",
"๐™ƒ๐™š๐™–๐™ฉ๐™ž๐™ฃ๐™œ ๐™๐™ฅ๐™œ๐™ง๐™–๐™™๐™š: Cosori's unique 5-fan speed system and precise 90ยฐโ€“ 450ยฐF temperature control deliver evenly cooked dishes with perfect texture in every bite"
],
"color": "Dark Gray",
"size": "6QT",
"style": "Air fryer",
"material": "Ceramic",
"eans": ["0810123670376"],
"upcs": ["810123670376"],
"variationAsins": ["B0G4RV4MVD", "B0DY1C8J81", "B0FJYK886N"],
"frequentlyBoughtTogether": ["B0C6Y8NYK1", "B0BSFNTD3N"],
"buyBoxSellerId": "ATVPDKIKX0DER",
"buyBoxIsAmazon": true,
"buyBoxIsFBA": true,
"buyBoxIsPrime": true,
"buyBoxAvailability": "IN_STOCK",
"price": 99.99,
"buyBoxPrice": 99.99,
"amazonPrice": 99.99,
"newPrice": 99.99,
"usedPrice": 61.99,
"listPrice": 119.99,
"newFbaPrice": null,
"newFbmPrice": null,
"refurbishedPrice": null,
"warehousePrice": 61.99,
"buyBoxAvg30": 95.3,
"buyBoxAvg90": 100.64,
"buyBoxAvg180": 99.07,
"amazonPriceAvg90": 100.64,
"newPriceAvg90": 100.64,
"lowestPrice365": 88.93,
"highestPrice365": 119.99,
"isLowestPrice90": false,
"rating": 4.8,
"reviewsCount": 22455,
"writtenReviewsCount": 7841,
"offerCount": 8,
"newOfferCount": 1,
"usedOfferCount": 7,
"fbaOfferCount": 1,
"fbmOfferCount": 0,
"stockBuyBox": 50317,
"salesRankDrops30": 27,
"salesRankDrops90": 94,
"salesRankDrops180": 203,
"salesRankDrops365": 407,
"amazonOutOfStock90": 0,
"referralFeePercent": 15,
"fbaFee": 17.15,
"packageWeightGrams": 6412,
"packageLengthMm": 406,
"packageWidthMm": 360,
"packageHeightMm": 338,
"itemWeightGrams": 5987,
"numberOfItems": 1,
"releaseDate": "2023-11-01T00:00:00Z",
"listedSince": "2023-11-01T00:00:00Z",
"trackingSince": "2023-04-20T06:04:00Z",
"lastPriceChangeAt": "2026-10-28T03:33:00Z",
"updatedAt": "2026-10-28T03:33:00Z",
"imageUrl": "https://m.media-amazon.com/images/I/81R9sA3IyBL.jpg",
"images": [
"https://m.media-amazon.com/images/I/81R9sA3IyBL.jpg",
"https://m.media-amazon.com/images/I/71V-ASOo4TL.jpg"
],
"videoUrls": [
"https://m.media-amazon.com/images/S/vse-vms-transcoding-artifact-us-east-1-prod/638ae5d7-44f0-495e-8d1f-452fc5e45ff1/default.jobtemplate.hls.m3u8"
],
"buyBoxPriceHistory": [
{ "date": "2026-09-25T08:00:00Z", "price": 89.99 },
{ "date": "2026-10-14T07:07:00Z", "price": 119.99 },
{ "date": "2026-10-15T07:45:00Z", "price": 99.99 }
],
"amazonPriceHistory": [
{ "date": "2026-10-14T07:07:00Z", "price": 119.99 },
{ "date": "2026-10-15T07:45:00Z", "price": 99.99 }
],
"newPriceHistory": [
{ "date": "2026-10-14T07:07:00Z", "price": 119.99 },
{ "date": "2026-10-15T07:45:00Z", "price": 99.99 }
],
"usedPriceHistory": [
{ "date": "2026-10-22T14:41:00Z", "price": 62.99 },
{ "date": "2026-10-24T13:59:00Z", "price": 61.99 }
],
"listPriceHistory": [
{ "date": "2025-07-24T08:12:00Z", "price": 119.99 }
],
"writtenReviewsHistory": [
{ "date": "2026-10-21T02:09:00Z", "value": 7805 },
{ "date": "2026-10-26T01:28:00Z", "value": 7841 }
],
"offers": [
{
"sellerId": "ATVPDKIKX0DER",
"condition": "new",
"price": 99.99,
"shipping": 0,
"isFBA": true,
"isPrime": true,
"isAmazon": true,
"stock": 50317,
"lastSeenAt": "2026-10-28T03:33:00Z"
},
{
"sellerId": "A2L77EE7U53NWQ",
"condition": "used - acceptable",
"price": 61.99,
"shipping": 0,
"isFBA": true,
"isPrime": true,
"isAmazon": false,
"stock": 8,
"lastSeenAt": "2026-10-28T03:33:00Z"
}
],
"searchQuery": "air fryer",
"scrapedAt": "2026-10-28T04:19:02Z"
}

The dataset has three ready views: Products (image, title, ASIN, brand, price, rating, reviews, link), Prices and history (buy box, Amazon, new and used prices, 90-day average, 365-day low and high, lowest-in-90-days flag, Keepa chart link) and Buy box and sellers (buy box seller, Amazon or FBA, offer counts, stock, sales rank drops, fees).

Advanced usage

Watch a competitor list every morning

{
"asins": ["B0C33CHG99", "B0CSZ7WBYW", "B0CNY1F31S", "B0CNY1YVDD"],
"historyDays": 1,
"includeOffers": true
}

Schedule this input daily from the Schedules tab. With historyDays at 1, each row carries only the price changes of the last day (plus the price in force when that day began), so a diff against yesterday's dataset is small. The offers show who holds the buy box and how much stock each seller has.

Compare one product across marketplaces

{
"startUrls": [
{ "url": "https://www.amazon.com/dp/B0CSZ7WBYW" },
{ "url": "https://www.amazon.co.uk/dp/B0CSZ7WBYW" },
{ "url": "https://www.amazon.de/dp/B0CSZ7WBYW" },
{ "url": "https://www.amazon.ca/dp/B0CSZ7WBYW" }
],
"includeOffers": false
}

Each link is read on its own marketplace, so the same ASIN comes back once per store with prices in the local currency. Useful for cross-border sourcing: compare buyBoxPrice, fbaFee and referralFeePercent side by side. A store where the product is not sold gives no row.

Shortlist real deals in a niche

{
"searches": ["robot vacuum", "cordless vacuum", "carpet cleaner"],
"maxItems": 60,
"historyDays": 180
}

Three keywords, about 60 products. Open the Prices and history view and sort by isLowestPrice90, or compare price with buyBoxAvg90 and lowestPrice365: a price far under its 90-day average and close to its yearly low is a real drop, not a marked-up list price.

Archive the full price history of a few products

{
"asins": ["B0BN72FYFG"],
"historyDays": 0,
"includeOffers": false
}

0 returns every change Keepa recorded since it started tracking the product. For a renewed iPhone 14 that tracking starts in December 2022 and the row holds thousands of price changes, so keep the list short when you ask for the full record.

Check books by ISBN

{
"asins": ["0590353403"],
"marketplace": "us"
}

An ISBN-10 works as an ASIN for printed books. The row gives the new and used prices, their history, the live offers from booksellers and the ratings count.

FAQ

What does this actor extract from Keepa? One row per Amazon product with 88 fields: identity and catalog data, the buy box and its seller, current Amazon, new, used, list, refurbished and warehouse prices, averages and yearly highs and lows, rating and reviews, offer counts and stock, sales rank drops, referral and FBA fees, package size and weight, images, price histories and the live seller offers.

What is Keepa? Keepa is an Amazon price tracker. It records the price, buy box and offer changes of Amazon products on 13 marketplaces and draws them as the price charts sellers and shoppers check before they buy or reprice.

Do I need a Keepa subscription, a Keepa account or an API key? No. The actor reads what Keepa shows to every visitor. There is no login and no key to paste.

Which ways can I find products? Four: a keyword, an ASIN or ISBN-10, an Amazon or Keepa product link, or an Amazon or Keepa search link. Mix them freely in one run; a product reached twice is delivered once.

How many products does a keyword return? The products Keepa lists for that keyword: 20 for "air fryer" on amazon.com in our tests, up to 50 on some other marketplaces. To cover a niche, add several keywords or paste ASINs; maxItems caps the total.

Is the Amazon sales rank (BSR) included? No. Keepa shows the sales rank to its subscribers only, so the actor never makes one up. Each row carries the sales rank drops over 30, 90, 180 and 365 days instead: every drop is a moment the rank improved, the usual sign of a sale, which makes them a solid sales velocity signal for comparing products.

How fresh is the data? Each run reads Keepa live, with no cache on our side. On our test run the 20 air fryers had been updated by Keepa a median 44 minutes earlier, all within the previous 3.5 hours. updatedAt gives the exact time for each row.

Why does an ASIN give no row? Keepa does not track that product on the marketplace you picked. The renewed iPhone 14 B0BN72FYFG is tracked on amazon.com but not on amazon.de, for example. The log names every ASIN that gave no row, and the rest of the run goes on.

Which marketplaces are covered? 13: United States, United Kingdom, Germany, France, Italy, Spain, Netherlands, Canada, Mexico, Brazil, Japan, India and Australia. Prices come in each store's currency.

How big are the rows? With the default 90 days and offers, our test rows weighed 8 to 26 KB each. A year of history or the full record makes busy products much larger (a renewed iPhone 14 with 365 days and no offers came to about 460 KB). Turn includeOffers off and shorten historyDays for light exports to spreadsheets.

Can I run several keywords and marketplaces at once? Yes. Keywords and ASINs use the marketplace picked in the form, and every pasted link keeps its own marketplace, so one run can mix amazon.com search results with amazon.de and amazon.co.uk products.

Is it legal to scrape Keepa? The actor reads publicly visible product and price data, the same any visitor sees on Keepa's charts. See the legal section below for your responsibilities.

More SilentFlow scrapers

๐Ÿ›’ E-commerce

๐Ÿ’ผ Jobs

๐Ÿ  Real estate

๐Ÿ“ฃ Social media

๐Ÿข Business data

โœˆ๏ธ Travel

๐ŸŽฏ Lead generation

๐Ÿ”Ž SEO

๐Ÿ“ˆ Marketing

๐ŸŽฌ Video

๐Ÿ“ฐ News

๐Ÿงฐ More tools

Support

Need something this actor does not do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This actor extracts publicly available product and price data shown by Keepa and Amazon. It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with Keepa's and Amazon's terms of service and with applicable data protection laws (GDPR, CCPA, and PIPL where relevant). Seller ids are business identifiers published by Amazon; when you combine them with other data about people, handle the result as personal data. The data returned is informational; verify prices on Amazon before using them for regulated or contractual decisions.

Keepa Scraper by SilentFlow: Amazon prices, history and sellers as rows, on 13 marketplaces, whenever you need them.