What you get back, how matching and freshness work, what it costs, and how to pick one.
Published
A product data API turns something that identifies a product (a barcode, an Amazon ASIN, a retailer’s product page URL, a model number or a plain-language name) into structured data your code can use: what the product is, who sells it right now and for how much, and what it sold for before. You call it over HTTPS and get JSON or CSV back, instead of fetching and parsing retailer web pages yourself.
APIs sold under this name come in four shapes, and it helps to know which one you are looking at before comparing prices:
| Kind | What you get | Good for | Watch for |
|---|---|---|---|
| Barcode or catalog database | Product name, brand, images, identifiers | Enriching a catalog, scan-to-identify | Prices are often missing, old, or a single list price |
| Single-marketplace API | One marketplace’s listings, rank and history | Sellers working one marketplace | No view of any other store |
| Scraping or search-results API | A page or a search result, parsed | Any page you can name | Matching, history and cleanup are your job |
| Multi-retailer product and price API | A product record, current offers from many retailers, and history | Price comparison, deal checks, valuation, monitoring | Coverage and freshness vary by retailer; test with your own products |
The ShopSavvy Data API is the last kind: a catalog of 30M+ products, offers from tens of thousands of retailers, and price history back to 2011, dense from 2019. It is used as the running example below because its costs and limits are public; the questions apply to any vendor.
A product data API answers in three layers:
Current offers for one product by its UPC (from the Data API quick start):
curl "https://api.shopsavvy.com/v1/products/offers?ids=611247373064" \
-H "Authorization: Bearer $SHOPSAVVY_API_KEY"The response holds one entry per product found. Each carries a match object that says which identifier matched and how many catalog products shared it. Identifiers that match nothing are left out of the response and cost nothing.
Most bad product data is a matching problem: the right price for the wrong item. How precise a lookup can be depends on what you send.
| Identifier | Precision | Notes |
|---|---|---|
| Barcode (UPC, EAN, ISBN) | Exact | The best key for packaged goods. Some barcodes are reused by manufacturers or listed twice, so a good API says when a code was shared. |
| Amazon ASIN | Exact | One listing on one marketplace; variants (colors, sizes) often have their own ASIN. |
| Retailer product URL | Exact when known | Works when the API has seen that listing; tracking parameters should be stripped first. |
| Model number or MPN | Usually exact | Can be shared across colors, bundles or regional versions. |
| Product name | A best guess | Use keyword search, let a person pick, then look the product up by its identifier. |
UPC and barcode lookup APIs: how lookups work → Barcode formats, check digits, shared barcodes and batch lookups in detail.
“Real-time” can mean the price was fetched when you asked, or that it was fetched recently. What matters for a decision is that every price carries the time it was seen, so you can judge it yourself. A deal alert needs prices from the last few hours; enriching a catalog can live with prices that are weeks old.
In the ShopSavvy Data API every offer has a timestamp. You can schedule products for refreshes hourly, daily or weekly for retailers we can re-check through an official retailer API; other offers update as ShopSavvy sees them.
Real-time vs cached pricing data → The trade-offs of each, what to ask a provider, and code that filters offers by how recently they were seen.
History is what turns a price into an answer: whether today’s price is low for this product, what an item cost on the day it was lost, or how often a competitor moves. Ask how far back a vendor’s history goes, how dense it is for your products, and whether points are filtered for mismatched listings.
Price history APIs: what they are and how to use them → A real history request, what it costs, and how to compute a product’s normal selling price.
Vendors charge per request, per result, by monthly subscription with a call or credit allowance, or per record for bulk files. Per-result pricing is easier to predict when part of your list will not be found, because misses are free. ShopSavvy publishes its credit costs:
Worked example: 500 products checked at every retailer once a week (500 × 4 × 3 = 6,000 credits) plus one 30-day history pull for all of them (1,650 credits) is 7,650 credits a month, which fits the Professional plan ($199 a month for 10,000 credits). Plans start at $49 a month for 1,000 credits, with a 14-day trial on Starter.
Product data API cost calculator → Put in your own volumes and see the credits and the cheapest plan.
How product data APIs are priced → Tokens, requests, credits and records: what each pricing model charges for, with two worked examples.
Scraping a handful of retailers yourself is a reasonable start, and it is the right answer when you need a page or a field no API has. Each retailer adds a parser to maintain, blocking to work around, product matching across stores, and history to store. Past a few retailers, that upkeep is usually the larger cost.
Web scraping vs a product data API → What each path costs and when each one fits.
How to evaluate a product pricing data API → Seven due-diligence questions with ShopSavvy’s own answers and where to check them. A downloadable checklist is at /templates/product-data-api-evaluation-checklist.
A web API that takes a product identifier, such as a barcode, ASIN, product URL or model number, and returns structured data about that product: its details, current prices from retailers and, with some APIs, its price history.
It depends on the vendor and the volume. The ShopSavvy Data API starts at $49 a month for 1,000 credits, with a 14-day trial on Starter; a product lookup costs 1 credit per product found, current offers at every retailer 3 credits per product, and identifiers that match nothing cost nothing.
For many retailers, identifier-based matching and price history, an API is usually cheaper than building and maintaining scrapers. For one or two sites, or for data no API carries (such as stock at a specific physical store), scraping can be the better fit.
No API covers every store. ShopSavvy returns offers from tens of thousands of retailers, US-centric, and offers are returned in US dollars. Test coverage with your own product list before you commit.