Amazon Offers & Sellers Scraper: Hijacker & Buy Box Alerts
Pricing
from $24.00 / 1,000 asin checks
Amazon Offers & Sellers Scraper: Hijacker & Buy Box Alerts
Find hijackers and unauthorized sellers on your Amazon listings, e.g. a brand checking its ASINs daily or an agency auditing a client's catalog. About $0.03 per ASIN, no login. Verdict first, then the Buy Box winner and every offer: seller, ID, price, shipping, FBA/FBM, rating, authorized flag.
Pricing
from $24.00 / 1,000 asin checks
Rating
0.0
(0)
Developer
fortbrand
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Categories
Share
For Amazon brand owners, brand-protection agencies and authorized resellers who need to know who else is selling their products: hijackers, unauthorized sellers and MAP breakers, ASIN by ASIN.
About $0.03 per ASIN. Checking 20 ASINs costs about $0.60. No login, no Amazon seller account, no API key.
Give it your ASINs and your brand name (or your seller IDs). For each ASIN you get one row that starts with a plain-English verdict, for example:
3 unauthorized sellers on B0XXXXXXXX, the cheapest 12% under your price ($17.59 vs $19.99), Buy Box held by GoodDeals (unauthorized). 1 new seller since the last run: ShopZ.
Then every offer on the listing: seller name, seller ID, price, shipping, condition, FBA or FBM, Buy Box winner, seller rating and rating count, an authorized yes/no flag and counterfeit-risk signs. Schedule it daily and it becomes a hijacker alert feed: each run reports new sellers, sellers that left and Buy Box changes since the run before.
Not affiliated with, endorsed or sponsored by Amazon. It reads the public offer list that any shopper sees under "Other sellers on Amazon".
What you get
| Field | What it tells you |
|---|---|
verdict | One sentence: how many unauthorized sellers, how far under your price the cheapest is, who holds the Buy Box, what changed |
status | unauthorized sellers, clean, checked (no authorized list given), no offers, not found |
alert | true when there is an unauthorized seller, a new seller, a lost Buy Box, an offer under your MAP or a high counterfeit risk |
buyBoxSeller, buyBoxSellerId, buyBoxPrice | Who wins the Buy Box (the featured offer) and at what price |
buyBoxAuthorized, buyBoxSuppressed | Whether the Buy Box winner is yours, and whether Amazon shows no featured offer at all |
unauthorizedSellerCount, unauthorizedSellers | Count and list: name, seller ID and price |
lowestUnauthorizedPrice, referencePrice | The cheapest unauthorized offer and the price it is compared with (your MAP, your own offer or the Buy Box) |
newSellersSinceLastRun, sellersGoneSinceLastRun, buyBoxChangedSinceLastRun | Changes since the previous run with the same history storage |
belowMapSellerCount | Sellers under the MAP price you gave |
counterfeitRiskHigh, counterfeitRiskMedium | Offers with strong or some counterfeit-risk signs |
offers[] | Every offer: sellerName, sellerId, authorized, isBuyBox, price, shipping, totalPrice, priceGapPct, priceHidden, belowMap, condition, fulfillment (FBA, FBM or Amazon), shipsFrom, sellerRating, sellerRatingsCount, sellerPositivePct, newSellerBadge, newSinceLastRun, firstSeen, counterfeitRisk, riskReasons, deliveryEstimate, sellerUrl |
productTitle, productRating, productRatingsCount, image, productUrl | The listing itself |
Every run also saves:
- REPORT.html: one page per run with the verdicts and a colour-coded offer table per ASIN (authorized, unauthorized, risk), ready to send to a client.
- OFFERS.csv: one line per offer across all ASINs, for Excel or Google Sheets.
- SUMMARY: what each ASIN returned, what was charged and any skipped inputs.
Use cases
- Hijacker alerts. A brand checks its 50 hero ASINs every morning and gets told the day a new seller jumps on a listing.
- Unauthorized reseller audits. An agency runs a client's whole catalog once and hands over the list of sellers who are not on the approved list, with seller IDs ready for a takedown or a test buy.
- MAP enforcement. Give your MAP price and see every offer under it, including sellers that hide their price until checkout.
- Buy Box monitoring. Know when the Buy Box leaves your store, who took it and at what price, or when Amazon suppresses it.
- Counterfeit triage. New sellers, sellers far under your price and sellers with few or poor ratings are flagged first, so you test-buy from the right ones.
How to use it
- Add your ASINs. Paste ASINs (B0D5CLSMFB) or product links (https://www.amazon.com/dp/B0D5CLSMFB) into ASINs or Amazon product links.
- Say who is authorized. Type your brand in Your brand name (Anker matches AnkerDirect and Anker Official), or list seller IDs or exact store names in Your authorized sellers. Amazon itself counts as authorized unless you switch that off.
- Run it, then schedule it. Read the verdicts in the Output tab or open REPORT.html. To get daily alerts, create a schedule (Saved tasks > Schedule) and keep Track changes between runs on.
Input
| Field | Example | Notes |
|---|---|---|
asins | ["B0D5CLSMFB", "https://www.amazon.co.uk/dp/B07C5R51Q9"] | ASINs or product links; links from other Amazon stores are checked on that store |
myBrand | "Anker" | Sellers whose store name contains it count as authorized; several brands separated by commas |
mySellerIds | ["A294P4X9EWVXLJ", "My Reseller LLC"] | Seller IDs (the seller= part of a store link) or exact store names |
marketplace | "US" | US, UK, DE, FR, IT, ES, CA or AU, for plain ASINs |
mapPrice | 24.99 | Optional MAP for every ASIN |
mapPrices | {"B0D5CLSMFB": 21.99} | Optional MAP per ASIN |
condition | "new" | new (default, where hijackers sell) or all (used and renewed too) |
trackChanges | true | Keep a seller history so the next run reports what changed |
historyStoreName | "amazon-offers-history" | Use one name per brand or client |
maxOffersPerAsin | 100 | Most listings have under 30 offers |
amazonIsAuthorized | true | Treat offers sold by Amazon as authorized |
With neither a brand nor seller IDs, the run still lists every seller, the Buy Box and the counterfeit-risk signs, but cannot say who is unauthorized. Invalid entries become free note rows; they never fail the run.
Output example
A real row from 13 October 2026 (prefilled input, brand "Anker"; the reseller's name and ID are replaced here):
{"verdict": "1 unauthorized seller on B0D5CLSMFB, the cheapest at $44.99 (not under your price), Buy Box held by AnkerDirect at $20.89.","status": "unauthorized sellers","alert": true,"asin": "B0D5CLSMFB","marketplace": "US","buyBoxSeller": "AnkerDirect","buyBoxSellerId": "A294P4X9EWVXLJ","buyBoxPrice": 20.89,"buyBoxAuthorized": true,"buyBoxFulfillment": "FBA","sellerCount": 2,"offerCount": 3,"unauthorizedSellerCount": 1,"unauthorizedSellers": ["Reseller X (A1XXXXXXXXXXXX) $44.99"],"referencePrice": 20.89,"referencePriceType": "your price","lowestUnauthorizedPrice": 44.99,"currency": "USD","newSellersSinceLastRun": [],"offers": [{"sellerName": "Reseller X","sellerId": "A1XXXXXXXXXXXX","authorized": false,"isBuyBox": false,"price": 44.99,"shipping": 0,"condition": "New","fulfillment": "FBM","sellerRating": 4.5,"sellerRatingsCount": 102,"sellerPositivePct": 90,"counterfeitRisk": "none","riskReasons": []}]}
How "unauthorized" is decided
An offer is authorized when its seller ID or exact store name is in mySellerIds, when its store name contains your brand (myBrand), or when Amazon itself sells it (Amazon.com, Amazon EU, Amazon Resale) and amazonIsAuthorized is on. Every other seller is unauthorized. The verdict compares the cheapest unauthorized offer with, in this order: your MAP, your own lowest offer, the Buy Box price, the median price.
Counterfeit-risk signs
Each offer that is not yours gets counterfeitRisk (high, medium, low or none) and the reasons in plain words:
- Amazon labels the seller "New Seller" or "Just launched", or it has very few ratings
- Positive feedback under 80%
- Price 5%, 15% or 30% under the reference price
- Price hidden until the item is in the cart (usually a price under MAP)
- Ships from outside the marketplace's country
- Appeared since the last run
These are signs, not proof. Use them to choose which sellers to test-buy from or report.
Pricing
Pay per ASIN checked: $0.03 per ASIN ($0.0285 Bronze, $0.027 Silver, $0.024 Gold and up), plus Apify's tiny start fee. The price is the same whether a listing has 2 offers or 200.
Free: ASINs that are not found, listings with no offers, invalid inputs, duplicates and checks Amazon did not answer. You never pay for an empty result.
| Job | ASIN checks | Cost |
|---|---|---|
| The prefilled example | 2 | $0.06 |
| One brand's top products | 20 | $0.60 |
| A client catalog audit | 500 | $15 |
| 50 ASINs every day for a month | 1,500 | $45 |
Set a maximum cost per run in the run options and the Actor stops cleanly when it is reached: you get every row you paid for and nothing you did not.
Speed and reliability (our tests, 13 October 2026)
- 300 US ASINs in one run: 260 seconds, every ASIN answered (294 with offers, 6 with none, both correct).
- 100 US ASINs: 88 seconds. 2 ASINs (the prefill): about 6 seconds.
- 30 UK ASINs in 26 seconds, 30 German ASINs in 24 seconds, 20 each for France, Italy, Spain, Canada and Australia in 9 to 42 seconds.
- More than 50 test runs, every one succeeded. When Amazon refuses a request the Actor retries it from a new address, so you get an answer instead of a gap.
- 10 ASINs were checked by hand against the offer panel in a browser set to the same US location: every Buy Box winner, price and seller matched.
Use with AI agents (MCP)
Connect Claude, Cursor or any MCP client to Apify's MCP server at https://mcp.apify.com and ask, for example:
Find unauthorized sellers on my Amazon ASINs B0D5CLSMFB and B0CZ9M6X8Q. My brand is Anker.
The agent searches the Store (for example "Amazon offers" or "amazon hijacker"), finds this Actor, and runs it with:
{ "asins": ["B0D5CLSMFB", "B0CZ9M6X8Q"], "myBrand": "Anker" }
The verdict field is written for an agent to quote back directly. urls, startUrls and queries are accepted as aliases of asins.
API
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("vant47/amazon-offers-hijackers").call(run_input={"asins": ["B0D5CLSMFB", "B0CZ9M6X8Q"],"myBrand": "Anker",})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["verdict"])
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('vant47/amazon-offers-hijackers').call({asins: ['B0D5CLSMFB', 'B0CZ9M6X8Q'],myBrand: 'Anker',});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((row) => console.log(row.verdict));
curl:
curl -X POST "https://api.apify.com/v2/acts/vant47~amazon-offers-hijackers/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"asins": ["B0D5CLSMFB"], "myBrand": "Anker"}'
Integrations
- Schedules: run daily or hourly from Apify's scheduler; the history storage turns each run into a change report.
- Alerts: send rows where
alertis true to Slack, email or a webhook through Make, Zapier, n8n or Apify's own integrations. - Sheets: export OFFERS.csv or the dataset to Google Sheets after every run.
Marketplaces
amazon.com (US), amazon.co.uk (UK), amazon.de (DE), amazon.fr (FR), amazon.it (IT), amazon.es (ES), amazon.ca (CA) and amazon.com.au (AU). Each store is read from an address in its own country, so you see the offers a local shopper sees. Prices are in the store's currency.
Limits
- It reads what a signed-out shopper sees at one delivery location per country. A few offers that only ship to some regions can be missing; Business-only prices are not shown.
maxOffersPerAsin(default 100) caps very crowded listings; books and collectibles can have hundreds of offers.- Seller business names and addresses from seller profile pages are not collected.
- Counterfeit-risk signs are hints from public data, not a judgement about any seller.
- Amazon changes its pages from time to time. If a field ever comes back empty, report it in the Issues tab.
FAQ
Do I need an Amazon seller account or Brand Registry? No. It reads the public offer list.
How do I find my seller ID? Open your storefront on Amazon; the link contains seller=A.... Copy that part into mySellerIds.
What is a hijacker? A seller who joins your listing and sells the same ASIN, often cheaper, sometimes with fakes. Here every seller that is not you, your approved resellers or Amazon is reported as unauthorized.
Why does the verdict say "Buy Box suppressed"? Amazon shows no featured offer for the listing, which usually means a pricing or listing problem worth fixing fast.
Does it work for used items? Set condition to all. Used sellers are listed but are not given counterfeit-risk signs.
Will the first run show "new sellers"? No. The first run records a baseline; changes are reported from the second run on.
How do I keep two clients apart? Give each its own historyStoreName.
Related searches
Amazon offers scraper, Amazon hijacker alerts, Amazon unauthorized sellers, Amazon seller monitoring, Amazon Buy Box monitor, Amazon MAP violations, Amazon brand protection, Amazon offer listing, Amazon sellers per ASIN.