A key, a curl command, and live prices from every retailer carrying the product. About five minutes.
Stuart Miles Posted
This is the short version. A key, one request, live prices from every retailer carrying the product. It takes about five minutes and you don’t need to talk to anybody.
What you need
A Squirrel account and an access token. The token is on the API info page once you’re logged in — it goes in the Authorization header on every request.
Your first call
Search by product code. This one is an ASIN, but UPC, EAN and SKU all work in the same field:
curl --location --request POST 'https://api.getsquirrel.co/api/v2/products/search' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --form 'code="B07RN7QF57"' That’s it. No SDK, no OAuth dance, no signing keys.
What comes back
A JSON object with the product, the current price, the RRP, an affiliate link ready to use, the retailer, and every other offer for the same product across the retailers you’re connected to.
{ "execution_time_ms": 6, "monthly_quota": 999999, "current_usage": 103, "error": false, "data": { "B07RN7QF57": [ { "name": "Product name", "squirrel_id": 2707911, "price": 89, "rrp": 89.99, "offer_url": "...", "retailer": { }, "all_offers": [ ], "product_codes": { } } ] } } Two fields worth noticing straight away. offer_url is a commission-ready affiliate link, so there’s no separate step to monetise it. And all_offers is the whole point — every retailer carrying that product, not just the one you asked about.
Your quota and current usage come back on every response, so you never have to go and look them up.
The other ways to search
- code — ASIN, UPC, EAN or SKU. Up to ten at once, separated by a pipe.
- urls — paste a retailer product URL and get the same data back. Useful when you have links but no identifiers.
- squirrel_id — our internal product ID, if you’ve stored it from a previous call.
- Free text — a different endpoint, /terms/search, for when you only have a product name.
Optional filters on all of them: country to restrict by market, show_with_offers_only to drop products nobody is currently stocking, and cache_ttl to control freshness per request.
Limits worth knowing before you build
- One request per second. Go over and you get a 429.
- Ten product codes per request — batch them rather than looping.
- A monthly request quota, reported back on every call.
- Pricing data refreshes every two to four hours, so cache accordingly rather than polling.
If you’re generating pages at build time, the batching limit matters more than the rate limit. Ten codes per call and one call per second is 36,000 products an hour, which is more than most sites need.
What people actually build with it
Three patterns, in rough order of how often we see them.
A price block on an existing article. You have a product mentioned, you want the current price and a working affiliate link under it. One call at render, cached for a couple of hours.
A comparison page. One product, every retailer, sorted by price. That’s all_offers and almost no other code.
A whole catalogue. Feed the codes in, build pages out. This is where the batching limit and the CSV endpoints earn their keep.
Why this route exists at all
Because the obvious one closed. Amazon’s Product Advertising API now requires ten qualifying referred sales in the trailing thirty days before it will grant access — which is a deadlock if you’re starting from zero. Skimlinks declines sites under ten articles. Impact starts around $500 a month.
A product data API that isn’t conditional on sales you haven’t made yet is a fairly boring thing to want. It just turns out to be scarce.
Next
The full API reference covers webhooks, price and stock alerts, click and impression stats, transactional data and bulk CSV exports.
If you’re wiring this into a site you’ve just built, the monetisation side is worth reading too — the API gives you the data, but you still need somewhere for the commission to land.
Common questions
How do I get a Squirrel API key?
Log in to your Squirrel account and open the API info page. The access token there goes in the Authorization header as a Bearer token.
Can I search by product URL instead of a code?
Yes. The urls parameter takes retailer product URLs and returns the same data as a code search.
What is the Squirrel API rate limit?
One request per second, with up to ten product codes per request. Exceeding the rate returns HTTP 429.
How fresh is the pricing data?
Product and pricing data refreshes every two to four hours. Cache rather than polling.
Do I need an Amazon Associates account to use it?
No. That is the point of it - the API is not conditional on Amazon approval or on any prior sales history.