ShopSavvy Data API

ShopSavvy Data API is a REST API that turns a barcode, ASIN, product URL, model number or MPN into the product record, current prices from tens of thousands of retailers, and price history back to 2011, dense from 2019. Build price comparison, catalog enrichment, valuation or monitoring on it without writing a scraper for each store.

Request
curl 'https://api.shopsavvy.com/v1/products/offers?ids=027242930698' \
  -H 'Authorization: Bearer YOUR_API_KEY'

→ the product and every current offer, each with the time we last saw it. The receipt shows the lowest 5 new, in-stock prices from trusted retailers in that answer, read live from our database.

Plans from $49/month · 14-day trial on the Starter plan · cancel anytime

GET /v1/products/offers

Sony WH-1000XM6 Headphones

UPC/EAN 027242930698

Current offers for Sony WH-1000XM6 Headphones, lowest price first, with when each price was last seen
Retailer and when the price was last seenPrice
BrandsMart USAseen · lowest$179.00
Walmart · marketplace sellerseen $326.00
VIP Outletseen $343.00
TechForLessseen $387.97
Amazon · marketplace sellerseen $398.00
Live data, not an illustration: the 5 lowest new, in-stock prices among 16 trusted retailers seen in the last 72 hours, read from our offer database Nov 1, 07:40 UTC. Every offer for this product

Measured against the ShopSavvy production database, as of Oct 11, 2026.

Why not scrape it yourself?

One call takes the identifier you already have and returns the product, its offers from tens of thousands of retailers with the time each price was seen, and price history back to 2011, dense from 2019. Here is what teams use instead, and where it runs out.

  • A scraper per retailer

    One parser per store to write, host and fix whenever that store changes its pages or starts blocking you, and still no history from before you started.

  • An Amazon-only API

    Deep on one marketplace, silent on every other store where the same product sells for a different price.

    ShopSavvy vs Keepa API →
  • A barcode database

    Turns a UPC into a title and an image, with no current prices and no price history.

    ShopSavvy vs Barcode Lookup →
  • Checking prices by hand

    Fine for ten products. It does not scale to a catalog, and a spreadsheet has no timestamps to show when a price was true.

What data does the Data API return?

Missing something you need? Email business@shopsavvy.com with the use case.

  • Product records

    Title, brand, category, images, model, MPN and every retailer identifier we know for the product. Look it up by barcode (UPC, EAN, ISBN, GTIN), ASIN, product URL from any retailer, model number or MPN.

  • Current offers

    Every offer we have for the product across tens of thousands of retailers: retailer, price, condition, availability, marketplace seller, link, and when the price was last seen. Ask for all retailers or one.

  • Price and availability history

    Dated price and stock observations for any window of up to 366 days, from an archive with price history back to 2011, dense from 2019.

  • Scheduled refreshes and webhooks

    Schedule products for hourly, daily or weekly refreshes (the refreshes are free), and get webhook events for price drops, availability changes and completed refresh runs.

  • Keyword search

    Find products by name or description when you have no identifier, then look up their offers.

  • Batch lookups

    Up to 100 identifiers per request. Up to 20 return immediately; larger batches return a batch ID you poll for free.

  • Deals feed

    Current deals with an expert grade (A+ to F), community votes and comments, filterable by category, retailer and price.

  • TLDR product reviews

    Pros, cons, a bottom-line verdict and 0-1 scores, summarized from professional and customer reviews.

  • CSV or JSON

    Every endpoint returns JSON. Product details and offers can also come back as flattened CSV, ready for a spreadsheet or warehouse load.

  • Usage reporting

    Check credits used, credits remaining and your share of the monthly allowance from code.

How do I call it?

One authenticated GET per question. These are real calls; the responses are trimmed for length, not edited.

Look up a product by barcode

Send a UPC, EAN, ISBN, ASIN, product URL, model number or MPN in `ids` (up to 100, comma-separated). The response says how the identifier was matched.

Endpoint reference →

Request
curl 'https://api.shopsavvy.com/v1/products?ids=611247373064' \
  -H 'Authorization: Bearer YOUR_API_KEY'
Response (trimmed)
{
  "success": true,
  "data": [
    {
      "title": "Keurig K-Mini Single Serve K-Cup Pod Coffee Maker, 6 to 12oz Brew size, ...",
      "title_short": "Keurig K-Mini Coffee Maker",
      "brand": "Keurig",
      "category": "Home & Kitchen > Kitchen & Dining > Coffee, Tea & Espresso > Coffee Makers > Single-Serve Brewers",
      "barcode": "611247373064",
      "amazon": "B07GV2S1GS",
      "model": "K-Mini",
      "mpn": "K-MINI",
      "shopsavvy": "products/3ONn300xybP3y66ibqc1",
      "identifiers": { "amazon": "B07GV2S1GS", "bestbuy": "6358476", "target": "A-53788870", "walmart": "389238886" },
      "match": { "identifier": "611247373064", "by": "barcode", "candidates": 1 }
    }
  ],
  "meta": { "credits_used": 1, "rate_limit_remaining": 903 }
}

Get every retailer’s current price

One call returns the product plus its offers: retailer, price, currency, condition, availability, marketplace seller and the time each offer was last seen. Add `&retailer=bestbuy.com` for one store.

Endpoint reference →

Request
curl 'https://api.shopsavvy.com/v1/products/offers?ids=B09XS7JWHH' \
  -H 'Authorization: Bearer YOUR_API_KEY'
Response (trimmed)
{
  "success": true,
  "data": [
    {
      "title_short": "Sony WH-1000XM5 Headphones",
      "brand": "Sony",
      "amazon": "B09XS7JWHH",
      "match": { "identifier": "B09XS7JWHH", "by": "asin", "candidates": 4 },
      "offers": [
        {
          "retailer": "Target",
          "price": 299.99,
          "currency": "USD",
          "condition": "new",
          "availability": "in",
          "seller": null,
          "is_marketplace": false,
          "URL": "https://www.target.com/p/sony-wh-1000xm5-bluetooth-wireless-noise-canceling-headphones-black/-/A-86314264",
          "timestamp": "2026-09-27T11:30:57.123Z"
        },
        {
          "retailer": "Amazon",
          "price": 189.99,
          "currency": "USD",
          "condition": "used",
          "availability": "out",
          "seller": "onlineshopping22",
          "is_marketplace": true,
          "URL": "https://www.amazon.com/dp/B09XS7JWHH",
          "timestamp": "2026-10-11T08:01:26.562Z"
        }
      ]
    }
  ],
  "meta": { "credits_used": 3, "rate_limit_remaining": 900 }
}

Pull price history for a date range

Each offer gains a `history` array of dated price and availability observations between `start` and `end` (at most 366 days).

Endpoint reference →

Request
curl 'https://api.shopsavvy.com/v1/products/offers/history?ids=B09XS7JWHH&start=2026-09-12&end=2026-10-11' \
  -H 'Authorization: Bearer YOUR_API_KEY'
Response (trimmed)
{
  "success": true,
  "data": [
    {
      "title_short": "Sony WH-1000XM5 Headphones",
      "offers": [
        {
          "retailer": "Amazon",
          "price": 189.99,
          "currency": "USD",
          "condition": "used",
          "availability": "out",
          "timestamp": "2026-10-11T08:01:26.562Z",
          "history": [
            { "price": 183.99, "currency": "USD", "availability": "out", "timestamp": "2026-10-03T08:02:20.180Z" },
            { "price": 192.99, "currency": "USD", "availability": "out", "timestamp": "2026-09-30T08:02:01.922Z" },
            { "price": 180, "currency": "USD", "availability": "out", "timestamp": "2026-09-17T08:03:43.350Z" }
          ]
        }
      ]
    }
  ],
  "meta": { "credits_used": 33, "rate_limit_remaining": 899 }
}

SDKs wrap the same calls in Python, TypeScript, Go, Rust, Java, Kotlin, Swift, PHP, Ruby and C#. See the SDKs →

Can an AI assistant use it?

Yes. The open-source ShopSavvy MCP server gives Claude, ChatGPT, Cursor and other MCP clients 15 MCP tools for product lookup, prices, price history and deals.

  • Connect by URL, no key needed. It is free without a key (10 tool calls a minute, 100 an hour); an API key raises it to 100 a minute, and tool calls then use plan credits.
  • Open source. MIT licensed on GitHub, also runnable locally with npx.
Claude Code
claude mcp add --transport http shopsavvy https://api.shopsavvy.com/mcp
Any client that takes a server URL
https://api.shopsavvy.com/mcp

Works with your favorite tools

Official SDKs and integrations for AI agents, workflow automation, e-commerce platforms, developer tools, and more.

Python SDKPython
PythonTypeScriptSwiftKotlinGoRustRubyPHPJavaC#
View all 76 integrations →

Is the Data API a fit?

Built for

  • Price-comparison, deal and grocery-basket apps that identify products by barcode or ASIN and need prices from many retailers. Price-comparison apps →
  • Catalog, POS and analytics tools that enrich product records with identifiers, images and current prices. POS & catalog →
  • Insurance and resale teams valuing items at today’s retail price, with history to back the number. Insurance & claims →
  • Shopping assistants and agents that need live prices behind a REST call or an MCP server. Shopping assistants →

Not a fit if

  • You need Amazon sales rank or detailed seller analytics. The Data API does not track them. ShopSavvy vs Keepa API →
  • You need prices in currencies other than US dollars. Offers are returned in USD.
  • You need refreshes more often than hourly. Scheduled refreshes run hourly, daily or weekly.
  • You need shelf stock at a specific physical store. Offers are online listings, each with a URL.
  • You need a free tier. Plans start at $49 a month, with a 14-day trial on Starter.
  • You want a dashboard instead of writing code. ShopSavvy for Business →
  • You want whole catalog or price-history files rather than per-call lookups. Data Licensing →

How much does the Data API cost?

Monthly plans priced in credits. You are only charged for results the API returns: identifiers that match nothing and products with no offers cost 0 credits. Once subscribed, create an API key in the dashboard and follow the documentation.

Starter

For a first integration or a small catalog.

$49/month

1,000 credits a month

$0.049 per credit · about 333 all-retailer price checks or 1,000 product lookups a month

  • 14-day free trial
  • 1,000 API credits per month
  • All API endpoints included
  • JSON and CSV responses
  • Usage analytics dashboard
  • Email support, first response within one business day
Recommended for production

Professional

For an app or service with steady daily traffic.

$199/month

10,000 credits a month

$0.0199 per credit · about 3,333 all-retailer price checks or 10,000 product lookups a month

  • 10,000 API credits per month
  • All API endpoints included
  • JSON and CSV responses
  • Usage analytics dashboard
  • Email support, first response within one business day

Scale

For high-volume lookups and large scheduled catalogs.

$499/month

50,000 credits a month

$0.00998 per credit · about 16,666 all-retailer price checks or 50,000 product lookups a month

  • 50,000 API credits per month
  • All API endpoints included
  • JSON and CSV responses
  • Usage analytics dashboard
  • Email support, first response within one business day

14-day trial on Starter · Cancel anytime from your dashboard · Upgrade any time, prorated · JSON or CSV · First response from support within one business day

Plans are billed in US dollars, and offers are returned in US dollars. Cancel and you keep access to the end of the period you paid for. Payments are non-refundable except where the law requires. Plans are governed by the ShopSavvy B2B Terms.

Enterprise

For teams that need more than 50,000 credits a month or contract terms. Priced by quote; contact sales.

  • Custom credit limits
  • Volume discounts
  • Custom contract terms
  • Email support, first response within one business day
Ask for a custom quote

Need something other than per-call lookups?

  • Data Licensing: whole catalog and price-history files under an annual license.
  • ShopSavvy for Business: competitor price monitoring in a dashboard, no code.
  • Search API: keyword product search with prices from every matched retailer, priced by quote.
  • MCP server: give an assistant product and price lookups, free without a key.

Ask for a custom Data API quote

Only your email is required. Tell us your monthly volume and what you are building, and the first reply can include a price.

A person on our team replies from business@shopsavvy.com, usually within one business day. Prefer email? Write to business@shopsavvy.com.

Rather write an email? business@shopsavvy.com

How do credits work?

You are only charged for results the API returns: identifiers that match nothing and products with no offers cost 0 credits. Usage, unscheduling, batch polling and webhook calls are free. The same table is in the documentation.

RequestCost
Retrieving Product DetailsGET /v1/products1 credit per product found
Searching Products by KeywordGET /v1/products/search1 credit per product returned
Current Offers (All Retailers)GET /v1/products/offers3 credits per product
Current Offers (Single Retailer)GET /v1/products/offers?retailer=2 credits per product
Price HistoryGET /v1/products/offers/historyOffer cost per product + 1 credit per day of the window (the per-day component is charged once per request, not per product) — charged only when offers are found
Schedule Product MonitoringPUT /v1/products/scheduled1 credit per product (refreshes are not charged)
Browse DealsGET /v1/deals1 credit per 10 deals returned
TLDR Product ReviewGET /v1/products/reviews1 credit per product (0 when no review exists)
Batch Product LookupPOST /v1/products/batch1 credit per product found (+ 3 per product that has offers when including offers, + 1 per product that has a review when including reviews)

Example: price history for 1 product over 30 days costs 3 + 30 = 33 credits; the same window for 10 products in one request costs 30 + 30 = 60. Every request also counts toward 1,000 requests per rolling hour per account.

How many credits do I need?

Enter your own monthly workload. The starting numbers are only a default. The estimate assumes every product has offers; misses cost 0, so real usage is the same or lower.

Offers from
Price checks (all retailers)100 products × 4 checks × 3 credits1,200
Product lookups50 lookups × 1 credit50
Credits a month1,250

Cheapest plan that covers it: Professional ($199/month, 10,000 credits).

Not a developer? Use ShopSavvy from Claude, ChatGPT or another assistant, no code needed →

Is it cheaper than building scrapers?

Put in your own numbers. The starting values are placeholders to replace, not industry figures.

BuildData API
Up front$12,000$0
Each month$3,150$499
First year$49,800$5,988

The Data API side is the Scale plan: 45,000 credits a month for all-retailer price checks. Building costs $43,812 more in the first year, for 5 retailers instead of every retailer we cover.

Build = retailers × build hours × rate up front, plus retailers × upkeep hours × rate + infrastructure each month. Data API = the cheapest plan covering products × checks × 3 credits. Excludes your team’s time to integrate either option.

Questions about plans, credits and data

How much does the ShopSavvy Data API cost?

Plans are Starter $49 a month for 1,000 credits, Professional $199 a month for 10,000 credits, Scale $499 a month for 50,000 credits, billed monthly in US dollars. Above 50,000 credits a month, Enterprise plans are priced by quote. A credit costs less on bigger plans, and you are only charged for data the API returns. Compare plans →

What is a credit, and what uses them?

A credit is the unit every request is priced in. A product lookup costs 1 credit per product found, current offers from every retailer cost 3 per product with offers (2 for one retailer), and price history adds 1 credit per day of the window, once per request. Identifiers that match nothing cost 0. See the full credit table →

What happens when I run out of credits?

Requests that would go past your monthly allowance are refused with HTTP 429 and the error code ERR_CREDITS_EXHAUSTED, and nothing is charged for them. There are no overage fees. Requests that cost 0 credits still work, responses carry an X-Credits-Warning header once you pass 75% of the month, and you can upgrade at any time from the billing page. Open billing →

When do credits reset, and do unused credits roll over?

Credits reset on the 1st of each calendar month, whatever day you subscribed. Unused plan credits do not roll over. Bonus credits earned through the referral program are the exception: they top up your allowance and carry over until you use them. Check usage with GET /v1/usage →

How does the 14-day trial work?

The Starter plan includes a 14-day trial; the other plans start billing when you subscribe. Checkout asks for a card and shows the date the trial ends; the billing page shows it too. If you cancel from the billing page before it ends you are not charged anything. Start the Starter trial →

Can I change or cancel my plan?

You can upgrade or cancel yourself at any time. Upgrades happen on the billing page: you pay the prorated difference immediately and the larger allowance applies to your next call. Downgrades go through support@shopsavvy.com. Cancelling is self-serve too; access continues to the end of the period you paid for and nothing further is charged. Open billing →

How fresh are the prices?

Every offer carries the time ShopSavvy last saw that price, so you can decide what is fresh enough for your use. 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. The archive holds price history back to 2011, dense from 2019. Scheduling docs →

Which retailers and countries does it cover?

Offers come from tens of thousands of retailers, and offers are returned in US dollars. Not every retailer carries every product, and the offers response lists exactly which retailers have a price for the product you asked about. The catalog holds 30M+ products. See a real offers response →

What are the rate limits?

Each account can make 1,000 requests per rolling hour, across all of its API keys. The limit is separate from credits: a request that costs 0 credits still counts. Put up to 100 identifiers in one call, or use the batch endpoint, to fetch many products without using up requests. Rate limit docs →

Which identifiers and response formats are supported?

Look products up by barcode (UPC, EAN, ISBN, GTIN), Amazon ASIN, product URL from any retailer, model number, MPN or ShopSavvy product ID. Every endpoint returns JSON; product details and offers can also be returned as flattened CSV for spreadsheets and data tools. Product lookup docs →

When should I talk to you about an Enterprise plan?

When you need more than 50,000 credits a month or custom contract terms. If you need whole catalog files rather than per-call lookups, Data Licensing is the better fit. Email business@shopsavvy.com →

Can I get a refund?

Data API payments are non-refundable, except where the law requires a refund. Cancel anytime from the billing page and you keep your credits until the end of the period you paid for, with no further charges. The 14-day Starter trial is free, and cancelling during it costs nothing. ShopSavvy B2B Terms →

How fast does support respond?

Every plan gets a first response from the team within one business day, Monday to Friday, US time. Email support@shopsavvy.com from your account email with the request you were making and what you saw, and we reply from there. No plan has a separate priority queue. Email support@shopsavvy.com →

What does my team need to know?

The short version for each person who signs off.

For engineering

  • REST over HTTPS with a Bearer API key; the first call is one GET (see the examples on this page).
  • Open-source SDKs in 10 languages (Python, TypeScript, Go, Rust, Java, Kotlin, Swift, PHP, Ruby, C#).
  • 1,000 requests per rolling hour per account; up to 100 identifiers per call; JSON or CSV.
  • Webhooks for price drops, availability changes and completed refreshes; a public OpenAPI spec.

For finance

  • Public monthly plans ($49, $199, $499) in US dollars, plus Enterprise by quote above 50,000 credits.
  • No long-term commitment on self-serve plans. 14-day trial on the Starter plan; cancelling during the trial is never charged.
  • No overage fees: requests past the monthly allowance are refused, not billed.
  • Cancel from the billing page at any time; access runs to the end of the paid period.

For security and legal

  • The data is products, prices and availability. It contains no personal data about shoppers.
  • API keys belong to your account and can be revoked or regenerated from the dashboard at any time.
  • Usage is governed by the ShopSavvy B2B Terms (shopsavvy.com/terms/api) and the Privacy Policy. Custom contract terms are available on Enterprise plans.

How do teams in my industry use it?

Start the 14-day Starter trial

Cancel from your dashboard before the trial ends and you pay nothing.

How we compare

Side-by-side, dated comparisons that say where the other product is the better choice.

The data behind our research: We checked 270 products on Google's two shopping screens. 80 had two different prices. (all studies)

All comparisons · Pricing for every product · Security