Product, price and stock data from the retailers you sell on.
One API for Amazon, Walmart, Target and Best Buy: send a platform and its item ids, get one response shape back, and pay per item. Hand us a watchlist and get a signed webhook when a price or stock level moves. Failed lookups are refunded; credits never expire.
- No card required
- No subscription
- Live in US
Example: a POST /v1/products call for Amazon (Amazon US · 3 ASINs), answered with status 200 in 1.20s for 3 credits, returning product JSON.
What every account gets, from the first call
- Live: Amazon, Walmart, Target and Best Buy
- 5,000 free credits, no card
- Credits never expire
- Failed lookups are refunded
- One response shape on every retailer
- Signed webhooks on every change
4
Retailers live
Amazon, Walmart, Target and Best Buy · 3 more coming
4
Live marketplaces
25 more announced
10,000
Items per call
Amazon; 100–1,000 on the others
0.25 credit
Per item, from
Amazon's cheapest tier; 1 credit elsewhere · failures refunded
Platforms
Every retailer you sell on, one endpoint
Name the platform and marketplace, send its item ids, get the same response back. Live retailers are ready today; Google, eBay and AliExpress are on the way.
AmazonLive
from 0.25 credit / ASIN
Three tiers from a 0.25-credit pulse sweep to the full listing, delivery dates included from lite up, plus every offer on a listing.
- US (live)
- UK (coming soon)
- DE (coming soon)
- FR (coming soon)
- IT (coming soon)
- ES (coming soon)
- +9 more coming soon: CA, MX, JP, AU, IN, BR, NL, SE, PL
WalmartLive
1 credit / item id
Price and list price, stock, seller, fulfilment, shipping and identifiers, by item id.
- US (live)
TargetLive
1 credit / TCIN
Price and regular price, stock, shipping and store pickup, by TCIN.
- US (live)
Best BuyLive
1 credit / SKU
Price, regular price and savings, stock, brand, condition and category, by SKU.
- US (live)
- CA (coming soon)
eBayComing soon
Listing data by item id: price, shipping, condition, seller and auction state.
- US (coming soon)
- UK (coming soon)
- DE (coming soon)
- FR (coming soon)
- IT (coming soon)
- ES (coming soon)
- +2 more coming soon: CA, AU
One response shape
Different retailer. Same JSON.
Every platform answers with the same envelope and the same core fields: id, status, title, price with its currency, availability, and seller and fulfilment where the retailer publishes them. Write the parser once.
{
"platform": "amazon",
"marketplace": "us",
"results": [
{
"id": "B0009KNLV6",
"status": "ok",
"fetchedAt": "2026-10-16T14:02:11.482Z",
"title": "Stainless steel pour-over kettle, 1 L",
"price": {
"amount": 34.99,
"currency": "USD"
},
"availability": {
"inStock": true,
"message": "In stock"
},
"seller": {
"name": "Northline Goods"
},
"fulfillment": {
"byPlatform": true,
"name": "Amazon"
}
// + Amazon's own fields
}
],
"stats": { … }, "credits": 1
}{
"platform": "walmart",
"marketplace": "us",
"results": [
{
"id": "5129928603",
"status": "ok",
"fetchedAt": "2026-10-16T14:02:11.482Z",
"title": "Stainless steel pour-over kettle, 1 L",
"price": {
"amount": 34.99,
"currency": "USD"
},
"availability": {
"inStock": true,
"message": "In stock"
},
"seller": {
"name": "Northline Goods"
},
"fulfillment": {
"byPlatform": true,
"name": "Walmart"
}
// + Walmart's own fields
}
],
"stats": { … }, "credits": 1
}Trimmed to the shared fields; values are illustrative. Each result keeps what only its retailer has on top (Amazon also keeps its historical fields, such as asin and buybox). Statuses mean the same everywhere: ok and not_found are billed, partial and unavailable are refunded.
Watchlists
Track prices across retailers. Get webhooks on change.
Give us item ids, a platform, a cadence and a webhook URL. We check them on schedule, diff every tracked field, delist dead items and POST you a signed event for each change — the same event on every retailer. No scheduler, no diffing, no queue to run.
Any live retailer
One watchlist per platform and marketplace, all on the same API, the same events and the same balance.
Any cadence from 5 minutes
Every 5 minutes or once a day — up to every 7 days. We schedule, batch and retry.
Cheap sweep, detail on change
Each run checks every item at the platform’s sweep tier and re-fetches only what moved. One-tier platforms are simply fetched and diffed.
Dead items delisted
When the retailer says an item is gone, we tell you once and stop paying for it.
Signed webhooks
Every event carries an HMAC signature you verify with your webhook secret. Or pull changes any time.
Billed as the calls it runs
No watchlist fee. You pay the per-item credits each run spends, and every run shows them.
curl -X POST "https://api.scrapelyserp.com/v1/watchlists" -H "Authorization: Bearer $SCRAPELY_API_KEY" -H "Content-Type: application/json" -d '{
"name": "Kitchen catalogue",
"platform": "walmart",
"marketplace": "us",
"ids": ["5129928603", "5129936522", "5129944441"],
"every": "15m",
"webhook_url": "https://hooks.yourapp.com/scrapely"
}'// POST https://hooks.yourapp.com/scrapely
// Scrapely-Signature: t=1760623331,v1=5257a869e7…
{
"type": "watchlist.product.changed",
"data": {
"watchlist_name": "Kitchen catalogue",
"platform": "walmart", "marketplace": "us", "currency": "USD",
"changes": [{
"id": "5129936522",
"tier": "standard",
"changes": {
"price": { "before": 24.99, "after": 21.49 },
"inStock": { "before": false, "after": true }
},
"snapshot": { "price": 21.49, "inStock": true, … }
}]
}
}Deepest on Amazon
Sweep wide on pulse. Climb where it moved.
On Amazon, pick the detail you pay for: a pulse sweep of up to 10,000 ASINs a call for 0.25 credit each, then lite or full only for what changed or is new. Pulse reports the lowest new price, which matches the buy box about 92% of the time — act on lite data, not pulse.
- 01/v1/products · pulse
Pulse
0.25credit / ASIN
Every sweep, every ASIN
New-offer count and lowest new price, up to 10,000 ASINs a call. Did anything move?
- 02/v1/products · lite
Lite
1credit / ASIN
Only what pulse saw change
Title, brand, buy-box price and list price, stock, seller, FBA, rating and delivery dates. What exactly moved?
- 03/v1/products · full
Full
5credits / ASIN
Once per new listing
Lite plus description, images, attributes and other editions. Enough to build the listing.
- 04/v1/offers
Offers
3credits / ASIN
When you need the whole field
Every offer on the listing: seller and rating, price plus shipping, FBA, and which one holds the buy box. 1 credit when the listing has a single offer.
3 tiers, one call shape
Pulse 0.25 · Lite 1 · Full 5 credits per ASIN.
Every offer on a listing
/v1/offers: each seller, price plus shipping, FBA and the buy-box flag. 3 credits an ASIN, 1 credit when the listing has a single offer.
Delivery dates included
Lite and full carry the delivery promise under the buy box (standard and fastest, cost, order-by time, Prime) at no extra cost.
US live, 14 regions next
Announced: UK, Germany, France, Italy, Spain, Canada, Mexico, Japan, Australia, India, Brazil, Netherlands, Sweden, Poland.
Pay as you go
Pay per item, not per month
No recurring bill and no use-it-or-lose-it quota. Size a pack to your catalogue and refresh cadence on any retailer; your balance waits for you between runs.
- Buy credits once — they never expire
- Partial and unavailable items are refunded automatically
- Every retailer, tier and product runs on the same credits
- Bigger packs cost up to 63% less per credit
Pulse reports the lowest new price, which matches the buy box about 92% of the time; changes are confirmed on lite.
A month costs
$596.00
4 × Growth pack · 2.16M credits needed
- Item checks / month
- 7.2M
- Per 1,000 checks
- $0.07
- Starter$10
- Builder$49
- Growth$149
- Scale$399
- Volume$1,499
Platform
The whole scraping stack, one parameter at a time
Every feature is available on every credit. Turn things on per request; pay only for what that request used.
Rotating proxy pools
Datacenter, residential and mobile IPs across 64 countries. The router learns which pool works for each site and rotates on every block — you never manage a list.
JavaScript rendering
render=true loads the page in a real headless browser and waits for the network to settle.
CAPTCHA & bot walls
Challenges are detected and cleared automatically. Hard targets go to the ultra-premium pipeline.
Geotargeting
See the page a shopper in Munich or Osaka sees. One parameter, residential IPs in-country, localised currency and results.
Async jobs & batches
Queue 10,000 URLs in one call. We schedule against your concurrency and retry what fails.
Retail product data
Item ids in, one typed record per item out, in the same shape on every retailer: price, stock, seller and a status you can act on.
Signed webhooks
Results pushed to your endpoint, HMAC-signed with replay protection, retried with backoff.
Scraping API · anything else
Everything between you and the page, handled
For every site that is not on the platform list. Scraping at scale is mostly failure handling: Scrapely does the rotating, rendering and retrying, and shows you exactly what happened on every request.
- 01
Send a URL
One GET with your key and the page you want. Add render, premium or country_code only when a target needs them.
GET /v1/scrape?url=…
- 02
We get through
The router picks a proxy pool that is working for that site right now, fingerprints a real browser, retries blocks on fresh IPs and validates what comes back.
rotate · render · retry
- 03
You get clean data
HTML, Markdown, text or parsed JSON in the response. Only successful responses spend credits — the rest are refunded automatically.
200 OK · 10 credits
Your app
GET
Scrapely
route · retry
Target
any site
Authenticate
key ok · 5 of 20 slots
0 to 14 millisecondsRoute
pool: us residential
14 to 46 millisecondsAttempt 1
403 · bot wall
46 to 520 millisecondsRotate
new IP + fingerprint
520 to 566 millisecondsAttempt 2
200 · 184 KB
566 to 1062 millisecondsRender JS
headless · networkidle
1062 to 1288 millisecondsParse
autoparse → JSON
1288 to 1346 millisecondsDeliver
gzip · 9.2 KB
1346 to 1384 milliseconds
Total
1.38 s
Billed
10 credits
Attempt 1
free
For developers
Integrate in the time it takes to read this
Not every site is on the platform list. The Scraping API fetches any other page through rotating proxies and real browsers. Toggle a parameter and watch the request — and its price — change.
curl -G "https://api.scrapelyserp.com/v1/scrape" \
--data-urlencode "api_key=$SCRAPELY_API_KEY" \
--data-urlencode "url=https://shop.example.com/p/aeron-chair"Why credits
Built for how scraping actually happens
Crawls are bursty. Targets fail. Pricing should not punish either. Here is how Scrapely compares with the typical scraping API.
| Aspect | Scrapely | Typical scraping APIs |
|---|---|---|
| Billing | Credit packs, pay as you go | Recurring subscription tiers |
| Unused balance | Credits never expire | Resets at the end of each cycle |
| Failed requests | Always free — auto-refunded | Often counted against quota |
| Features | Every feature on every credit | Rendering & geo gated by tier |
| Concurrency | Grows with lifetime purchases | Locked to the tier you pay for |
| Getting started | 5,000 free credits, no card | 7-day trial, card up front |
| Overage | None — you only spend what you hold | Surprise overage invoices |
- Billing
- Scrapely: Credit packs, pay as you go
- Typical APIs: Recurring subscription tiers
- Unused balance
- Scrapely: Credits never expire
- Typical APIs: Resets at the end of each cycle
- Failed requests
- Scrapely: Always free — auto-refunded
- Typical APIs: Often counted against quota
- Features
- Scrapely: Every feature on every credit
- Typical APIs: Rendering & geo gated by tier
- Concurrency
- Scrapely: Grows with lifetime purchases
- Typical APIs: Locked to the tier you pay for
- Getting started
- Scrapely: 5,000 free credits, no card
- Typical APIs: 7-day trial, card up front
- Overage
- Scrapely: None — you only spend what you hold
- Typical APIs: Surprise overage invoices
Built for
The jobs product data is for
Five workloads the API is designed around, and the part of it each one runs on.
Repricing
Sweep your competitors' prices on a schedule and react only to what moved. A watchlist diffs every run and posts a signed event per change.
Runs onwatchlists · /v1/products
Arbitrage sourcing
Check the same products across retailers in one response shape, so price gaps line up field for field instead of parser by parser.
Runs on/v1/products on every live retailer
MAP monitoring
Watch the listings that carry your products. Every price change arrives as a signed event, so a drop below your floor is caught on the next run, not the next audit.
Runs onwatchlists · signed webhooks
Catalog enrichment
Fill in titles, images, prices, sellers and stock for item ids you already hold, on the tier that returns the fields you need and no more.
Runs on/v1/products tiers
Stock alerts
Know when an item goes out of stock, comes back, or is gone for good. Delisted items are reported once and then no longer billed.
Runs onwatchlists · delist events
Which retailers and regions can I use today?
Amazon (US), Walmart (US), Target (US) and Best Buy (US), all through POST /v1/products with "platform" and "marketplace" in the body. Announced next: Amazon UK, DE, FR, IT, ES, CA, MX, JP, AU, IN, BR, NL, SE and PL and Best Buy CA. Google, eBay and AliExpress are coming soon. Anything else goes through the Scraping API.
How do credits work per platform?
Per unique item that comes back ok or not_found, at the platform's rate — Amazon: 0.25 on pulse, 1 on lite, 5 on full; Walmart: 1 credit per item id; Target: 1 credit per TCIN; Best Buy: 1 credit per SKU. partial and unavailable items are refunded automatically, and one call is rounded up once, not per item. Every platform spends the same credits from the same balance. On Amazon, pulse reports the lowest new price, which matches the buy box about 92% of the time: re-fetch what moved on lite before you act on it.
Is the response really the same everywhere?
Yes. Every platform answers with the same envelope — platform, marketplace, results, stats, credits — and every result carries the same core fields: id, status, title, price with its currency, availability, and seller and fulfilment where the retailer publishes them. What only one retailer has sits under a field named after it, so your parser handles every platform with one code path.
Can watchlists track more than one retailer?
Yes. A watchlist follows items on one platform and marketplace; create one per catalogue on Amazon, Walmart, Target or Best Buy, each with its own cadence and webhook. Every change arrives as a signed event in the same format.
Why did an item come back not_found or unavailable?
not_found means the retailer itself says the product does not exist: delist it, do not retry. unavailable means we could not get an answer for that item this time; it is not evidence the item is gone, it is free, and you should retry it later.
Is there a subscription or a minimum commitment?
Neither. Scrapely is pay-as-you-go. There is no recurring charge, no seat fee and no tier that locks features. Optional auto top-up refills your balance when it runs low — and you can switch it off at any time.
What do I get for free?
5,000 credits when you create an account, no card required — enough for 5,000 ASINs on Amazon, or a mix across retailers. The Scraping API runs on the same credits.
Can I scrape sites that are not on the list?
Yes. The Scraping API fetches any URL with rotating proxies, headless rendering and CAPTCHA handling, from 1 credit a page, and accepts the familiar api_key, url, render and country_code parameters. Tell us which retailer you want next — requests decide what ships first.
Is web scraping legal?
Collecting publicly available data is lawful in many jurisdictions, but it depends on what you collect and how you use it. Our acceptable use policy forbids scraping behind logins without authorisation, personal data misuse and abusive request rates. Ask your counsel about your specific case.
Your first 5,000 credits
are on us
Create an account, copy your key, fetch your first products from any live retailer. No card, no subscription, no expiry date on what you buy later.
POST api.scrapelyserp.com/v1/products { "platform", "marketplace", "ids": […] }