# Price Comparison API for Apps & Deal Sites

> The price data behind your comparison app

*Source: https://shopsavvy.com/data/for-price-comparison-apps*

The ShopSavvy Data API gives price-comparison, deal and grocery-basket apps one call from a barcode, ASIN or product URL to current offers across tens of thousands of retailers, each with its retailer, link, condition, availability and the time it was last seen. Deal checks draw on price history back to 2011, dense from 2019.

Scan a barcode, paste a link or type a model number, and get every current offer for that product across tens of thousands of retailers, sorted by price, with the history to tell a real deal from a fake one.

- [Start the 14-day Starter trial](https://shopsavvy.com/data?checkout=starter#pricing): $49/mo for 1,000 credits after the trial; card required, cancel before it ends and pay nothing.
- [Read the docs](https://shopsavvy.com/data/documentation)

## What can you build with it?

- **Scan and compare.** A shopper scans a barcode in the aisle or pastes a product link, and your app shows every online offer for that exact product, cheapest first, with a link to each retailer.
- **Real-deal checks.** Compare today’s price with what the product has sold for over recent weeks or months, so your app can flag a genuine drop and skip a "sale" that is the normal selling price.
- **Grocery and household baskets.** Price everyday items by UPC across supermarket chains, delivery services and mass retailers that list them online, then total a basket per retailer.

## How does it work?

1. **Identify the scan.** Send the barcode, ASIN, model number or product URL to GET /v1/products?ids= (up to 100 per call). The match object says which field matched and how many candidates shared it; identifiers that match nothing cost 0 credits.
2. **Show the offers.** Call GET /v1/products/offers for the same identifier. Each offer has retailer, price, condition, availability, URL and the time it was last seen; drop used and out-of-stock offers if your app compares new retail only.
3. **Judge the deal.** Call GET /v1/products/offers/history with a start and end date (up to 366 days) for the products your users watch, and compare today’s lowest offer with the range.

## Which response fields will you use?

| Field | Use |
|-------|-----|
| `offers[].price, currency, retailer, URL` | the comparison list and where to buy |
| `offers[].timestamp` | show how recently each price was seen |
| `offers[].availability, condition` | keep in-stock, new-condition offers |
| `offers[].history[]` | the normal selling price behind a deal badge |
| `title_short, brand, images[]` | the product card after a scan |
| `match.by, match.candidates` | ask the shopper to confirm when a barcode is shared |

## Which identifiers match best?

The barcode on the package (UPC or EAN) is the natural key for a scanning app and matches most precisely. Links pasted from a retailer page and ASINs also work. When a shopper types a name instead, search by keyword first and then look up the product they pick by its identifier.

## How fresh is the data?

Every offer carries a timestamp of when ShopSavvy last saw that price. Products you schedule are refreshed hourly, daily or weekly for retailers we can re-check through an official retailer API; other offers update as ShopSavvy sees them.

## What would it cost?

An example workload, not a customer: 800 scanned barcodes a month priced across every retailer, plus a 30-day price history for 50 of them.

- Price checks (all retailers): 800 products × 1 check × 3 credits = 2,400 credits
- Price history: 50 requests × (3 + 30 days) = 1,650 credits
- **Total: 4,050 credits a month**

That fits Professional at $199/month (10,000 credits). Misses cost 0, so real usage is the same or lower. Estimate your own: https://shopsavvy.com/data#estimator

## When is it not the right fit?

- You need prices in currencies other than US dollars: offers are returned in US dollars.
- You need the shelf price or stock count at one physical store or ZIP code. Offers are online listings, each with a URL.
- You need retailers outside the US. Coverage is US-centric, so a basket in another country will come back thin.

## Which tools does it plug into?

[Swift SDK](https://shopsavvy.com/integrations/sdk-swift), [Kotlin SDK](https://shopsavvy.com/integrations/sdk-kotlin), [TypeScript SDK](https://shopsavvy.com/integrations/sdk-typescript), [React Native](https://shopsavvy.com/integrations/react-native), [Flutter](https://shopsavvy.com/integrations/flutter), [SwiftUI](https://shopsavvy.com/integrations/swiftui), and [all 76 integrations](https://shopsavvy.com/integrations).

## FAQ

**Do you cover grocery and household items?** Yes. Packaged groceries and household goods are looked up by UPC like any other product, and their offers come from supermarket chains, grocery delivery services, drugstores and mass retailers that list them online. Prices tied to one physical store or ZIP code are not in the API.

**Which countries and currencies do you cover?** Coverage is US-centric and offers are returned in US dollars. If your app needs another country’s retailers, or prices in CAD, GBP or EUR, the Data API is not a fit today.

**How do we tell a real deal from a fake one?** Pull the product’s price history for the last 30 to 90 days and compare today’s lowest offer with that range. The archive holds price history back to 2011, dense from 2019, and every offer carries the time it was seen.

**Can shoppers search by name instead of scanning?** Yes. GET /v1/products/search takes free text and returns matching products at 1 credit per product returned. Follow up with the offers endpoint using the barcode or ASIN of the product the shopper picks.

**What would this cost us?** It depends on volume, and you only pay for results returned. For example, 800 scanned barcodes a month priced across every retailer, plus a 30-day price history for 50 of them. That is 800 products × 1 check × 3 credits = 2,400; 50 requests × (3 + 30 days) = 1,650: 4,050 credits a month, which fits the Professional plan ($199 a month, 10,000 credits).

**Is there a trial?** Yes. Starter ($49 a month for 1,000 credits) starts with a 14-day trial; the larger plans bill from the first day. Checkout asks for a card and shows the date the trial ends, and cancelling before it ends costs nothing.

## Related

- [Shopping assistants](https://shopsavvy.com/data/for-shopping-assistants)
- [POS & catalog](https://shopsavvy.com/data/for-pos)
- [ShopSavvy vs Barcode Lookup](https://shopsavvy.com/compare/shopsavvy-data-api-vs-barcode-lookup)
- [Product data APIs compared](https://shopsavvy.com/compare/product-data-apis)
- [Data API overview](https://shopsavvy.com/data)
- [Plans and credit costs](https://shopsavvy.com/data#pricing)
- [Documentation](https://shopsavvy.com/data/documentation)
- [How to evaluate a pricing data API](https://shopsavvy.com/data/evaluate)
