The Problem
Amazon reveals a lot in its search and product pages, but only if you can parse it reliably. Seller identity on the Buy Box changes throughout the day, sponsored placements shift based on bids, and the same ASIN can look different to different shoppers depending on geography. Sellers running repricing tools or brand-protection workflows need to know, minute by minute, who is winning the Buy Box, who is listing against them, and which sponsored slots are hijacking their brand terms. Manual refresh cycles do not scale past a handful of ASINs.
The Scavio Solution
Scavio exposes Amazon search and product results with seller identity, Buy Box winner, sponsored flags, and pricing as structured fields. You can poll hourly or minute-by-minute, diff the results, and trigger alerts when a new seller joins an ASIN, when the Buy Box flips, or when a competitor lands a sponsored slot on your brand term. The response is stable enough to feed directly into a repricing engine or a brand-protection dashboard. No browser automation, no captcha loop, no session pinning required.
Before
Before Scavio, brand teams checked ASINs by hand or ran Playwright jobs that broke every time Amazon shipped a layout change. Buy Box monitoring was weekly at best.
After
After Scavio, Buy Box and seller data flow into dashboards at the cadence the business actually needs. Alerts fire when something changes, not days later when someone notices.
Who It Is For
Amazon brand managers, repricing tool builders, and brand-protection teams. If you sell on Amazon at scale and your Buy Box losses show up in a weekly report instead of an alert, this closes that loop.
Key Benefits
- Buy Box winner, seller ID, and price as first-class fields
- Sponsored versus organic flag on every result
- ASIN-level product details including variations and ratings
- Stable response shape for building repricing automations
- Marketplace coverage for US, UK, DE, FR, IT, ES, JP, CA and more
Python Example
import requests, time
API_KEY = "your_scavio_api_key"
def watch_buy_box(asin: str, interval: int = 60):
last = None
while True:
r = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "amazon", "query": asin, "type": "product"},
timeout=15,
)
product = r.json().get("product", {})
winner = product.get("buy_box", {}).get("seller")
if winner != last:
print(f"Buy Box changed: {last} -> {winner}")
last = winner
time.sleep(interval)JavaScript Example
const API_KEY = "your_scavio_api_key";
async function watchBuyBox(asin, interval = 60_000) {
let last = null;
while (true) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: {
"x-api-key": API_KEY,
"content-type": "application/json",
},
body: JSON.stringify({ platform: "amazon", query: asin, type: "product" }),
});
const data = await r.json();
const winner = data.product?.buy_box?.seller;
if (winner !== last) {
console.log(`Buy Box changed: ${last} -> ${winner}`);
last = winner;
}
await new Promise((res) => setTimeout(res, interval));
}
}Platforms Used
Amazon
Product search with prices, ratings, and reviews