Keepa
Tap a star to rate
Keepa is Amazon's most comprehensive data service from the perspective of developers building price tracking, market research, or sales intelligence tools. The platform has been tracking Amazon's global inventory for years and maintains historical price information for over 5 billion distinct ASINs (Amazon Standard Identification Numbers). Unlike general ecommerce APIs that fetch today's price, Keepa stores and exposes the full timeline of how a product's price, availability, and seller lineup have evolved over months or years. This historical dimension is the core differentiator and makes Keepa the de facto standard for any work that involves trend analysis, repricing intelligence, or detecting manipulation in marketplace listings.
The API philosophy is developer-centric. Keepa provides both a synchronous and asynchronous Python client library so that workflows can integrate tightly with pandas, NumPy, and standard data science stacks. The underlying REST API is also accessible directly via HTTP if you prefer languages other than Python or want to integrate through a third-party automation platform. Authentication is key-based and the request structure is minimal: you specify an ASIN or a set of ASINs, pick the data fields you want, and choose whether to include historical timeseries or just the current snapshot.
The data itself spans several dimensions. Product queries return metadata: the current title, manufacturer, binding, dimensions, image URLs, and category breadcrumb. Price data includes the current selling price, list price, Amazon Prime eligibility, and the full historical price progression going back months or years as a timestamped array. Keepa timestamps each observation, so you can see exactly when a price dropped, when stock went out, or when a new seller entered the buy box. Offer history shows which third-party sellers were active at each point in time, their ratings, and whether each offer was fulfilled by Amazon (FBA) or by the seller directly (FBM). The API also exposes bestseller rankings within each category and historical buy box ownership, showing which seller held the top position on a given date.
The deal detection endpoint is worth highlighting as a specialized capability. Rather than asking Keepa for all products in a category, you specify deal criteria (for example, "products that have dropped 30% in the last seven days") and Keepa returns a focused list of ASINs matching those conditions. This is much cheaper than polling every product in a category to check for deals yourself. Similarly, the product finder endpoint returns ASINs matching complex filters: products within a price range, with a minimum review count, in a specific category, with particular brand keywords, and optionally launched in the last N days. This discovery API is valuable for market research or sourcing work.
Pricing is subscription-based with several published tiers. The entry-level Free tier allows limited API calls and is designed as a sampling mechanism. Paid plans range from roughly $15 to $50 per month, depending on the monthly request allowance, with higher tiers offering up to tens of thousands of queries monthly. Each tier specifies the maximum number of ASINs per request, the number of concurrent requests allowed, and the historical depth of data you can retrieve. The most generous plans include API access to their bestseller, deals, and product finder endpoints; lower tiers restrict you to product and offer queries.
Data freshness is near-real-time for current prices and offer availability. Keepa updates product data multiple times per day for active products and less frequently for slow-moving inventory. The historical timeseries is complete and accurate going backward for as long as Keepa has been tracking (over a decade for popular products). This makes Keepa ideal for analyzing long-term trends, seasonal patterns, or competitor pricing behavior across quarters. You cannot get "price from six months ago" any faster or more reliably.
One important note: Keepa's success rate is very high, but Amazon occasionally blocks or rate-limits automated requests. Keepa handles proxy rotation and request throttling transparently from the client perspective, but on rare occasions a request might fail if Amazon's anti-scraping measures become temporarily aggressive. The Keepa team monitors Amazon's policies closely and adapts, but this is an inherent risk when pulling data from any marketplace. If a script times out or returns an error, retry logic with exponential backoff is standard practice and is well-documented.
Accuracy is excellent. Keepa's parser has been tracking Amazon for so long that it handles the quirks of Amazon's HTML structure reliably. When Amazon redesigns a page section, Keepa usually adapts within days to a week. For price accuracy specifically, Keepa samples from the publicly visible price on Amazon's website, so the number reflects what a customer would see. Regional price variations (US versus UK versus DE marketplace) are handled separately, each with its own API endpoint. If you are tracking a product on amazon.com, you get data from the US store; if you track the same ASIN on amazon.de, you get German pricing and sellers.
The Python client library is well-maintained and actively developed. It works with both Python 3.7+ and includes type hints so IDE autocompletion works smoothly. Async support means you can issue hundreds of concurrent queries without blocking threads. The library handles pagination for large result sets automatically, so when you ask for historical data spanning 12 months, the parsing is transparent. Error handling is explicit: you get descriptive messages if an ASIN is invalid, if your quota has been exceeded, or if a request was rate-limited.
Common use cases cluster into three areas. Price monitoring platforms use Keepa to build the historical baseline and detect when a price has moved significantly relative to its own history, flagging sudden drops or artificial inflation. Resellers and arbitrage traders use Keepa to find products that have held stable margins or are currently underpriced relative to their cost basis, with the historical data confirming whether the price is anomalous or normal. Market researchers and brand owners use Keepa to track competitor pricing, detect listing manipulation (sudden spike in reviews, seller count, or buy box flipping), and analyze how their own product's ranking and price correlate.
Keepa is not designed for bulk exports or data warehousing. If you want to download the entire Amazon catalog to a database, Keepa is not the tool; it is query-based and metered. The API is built for targeted lookups: I want the history of ASIN X, I want products matching this filter, I want the bestsellers in category Y right now. If you need warehouse-scale historical snapshots of millions of products for batch analysis, the request costs will exceed your budget.
Keepa's standing in the developer community is strong. It has been the standard solution for Amazon price tracking for nearly a decade, is reliable enough for production systems at scale, and has clear documentation, active support, and a developer community around it. For any project that focuses heavily on Amazon data with a need for historical context, Keepa is the most direct path from intent to implementation.