Amazon Sellers Scraper — Profile + Live Listings, Flat Fee
Pricing
from $1.50 / 1,000 seller records
Amazon Sellers Scraper — Profile + Live Listings, Flat Fee
Amazon seller by ID, storefront or URL — name, feedback 30 days to lifetime, business details, a full product row with specs for up to 300 live listings (100 default). From $1.50 per 1,000 seller records, one flat fee, no add-on events: the profile is one, each listing one more. Misses uncharged.
Pricing
from $1.50 / 1,000 seller records
Rating
0.0
(0)
Developer
Steadyfetch Team
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
An Amazon seller scraper: paste a seller ID or a storefront link and get that seller's profile plus their live listings — from $1.50 per 1,000 seller records. One flat fee per record. Feedback history, registered business details, and a full product row for up to 300 of their live listings (100 by default). There is no second event to pay for, and sellers we could not deliver are never charged.
Using an AI agent? Pin this actor in Apify's MCP server with one link: https://mcp.apify.com?tools=steadyfetch/amazon-seller-scraper
- Actor id:
steadyfetch/amazon-seller-scraper - Input:
{ "sellers": ["A124O05NL4Z2HN"] }— the one field you have to set. - Cap the bill: set
maxTotalChargeUsdon the run (a run option, not Actor input), e.g.0.50— the run stops when it reaches it. - Price: from $1.50 per 1,000 seller records on Gold and above, $6.00 per 1,000 on the Apify Free plan — one priced event,
Seller record, and nothing else. A seller profile and one of that seller's listings cost exactly the same flat fee, so one seller with listings on is 1 profile record plus up tomaxListingsPerSellerlisting records. No start fee, and a seller we could not deliver is never charged. Full ladder below. - How often it changes: feedback counts and the rating windows move weekly, and a storefront's live listings turn over steadily — items go out of stock, prices move, new ASINs appear — so a weekly run on a seller you are tracking is the shape that fits, and a daily one on a fast-moving storefront. Every run fetches fresh, at the same flat fee per record.
Give it A124O05NL4Z2HN, or the storefront link, or the profile link, or even a product link whose seller you want. Get finished records back.
Just want to see it work? Click Start with nothing set and the run looks up one real seller (A124O05NL4Z2HN on amazon.com): the profile plus up to 5 listings, charged like any run at your plan's per-record price. Set only settings — a different Marketplace, listings off, a limit — and leave Sellers empty, and that same sample runs under your settings, on a real seller of the store you picked. Put your own seller IDs or links in Sellers for your own run.

Unofficial. This actor is not affiliated with, endorsed by, or sponsored by Amazon. "Amazon" and all related marks are trademarks of Amazon.com, Inc. or its affiliates. It reads only the public seller pages an ordinary browser sees. It never signs in and never touches an account.
Output

Two record types in one dataset, told apart by recordType. Every column exists on every row and is null where it does not apply, so the whole run exports to one CSV.
A profile record:
{"recordType": "profile","sellerId": "A124O05NL4Z2HN","sellerName": "decorUhome","marketplace": "amazon.com","storefrontUrl": "https://www.amazon.com/s?ie=UTF8&marketplaceID=ATVPDKIKX0DER&me=A124O05NL4Z2HN","sellerRating": 4.9,"sellerRatingCount": 4396,"positivePercent12m": 100,"feedback30d": { "rating": 4.8, "count": 114 },"feedback90d": { "rating": 4.9, "count": 299 },"feedback12m": { "rating": 4.9, "count": 1233 },"feedbackLifetime": { "rating": 4.9, "count": 4396 },"businessName": "…","businessType": null,"businessAddress": "…, CN","country": "CN","vatNumber": null,"tradeRegisterNumber": null,"about": "decorUhome is committed to providing …","listingCount": 302,"charged": true,"status": "ok"}
A listing record carries the same full product row Amazon Product Scraper returns — asin, title, brand, price, currency, listPrice, inStock, availability, buyBoxSeller, buyBoxSellerId, fulfilledByAmazon, soldByAmazon, buyBoxNote, rating, reviewCount, boughtInPastMonth, images, features, variants, categoryPath, bestSellersRank, specs — plus listingRank, listingPage and the seller it belongs to.
sellerRating and sellerRatingCount are the seller's stars; rating and reviewCount on a listing row are the product's. One column never means two things.
Fields Amazon does not always publish
businessName, businessAddress and country are on most third-party profiles. vatNumber, tradeRegisterNumber, businessType, about and returnPolicy are genuinely sparse — many sellers simply do not publish them, and EU sellers publish more than US ones. Those columns come back null when the seller left them blank. That is data, not a failure, and it is stated here rather than sold as a promise.
listingCount is Amazon's own total for the storefront, so you can see when your maxListingsPerSeller truncated the answer. It is null when listings are turned off.
Seller phone numbers and email addresses appear on some EU profiles. This actor does not return them and has no column for them.
The last row of every run is a summary carrying requested, profiles, listings, sellerMisses, listingMisses, chargedRows and unchargedRows — so the invoice reconciles from the dataset itself, without opening the billing tab.
Browse the full live example dataset → — one real run of the current code, unedited: the Electronics Expo (Authorized Dealer) profile record, one of its live listings with the Sold-by cluster populated, and the run's own cap_reached summary row last. Two records delivered, two charged.
For AI agents & LLMs — copy this block
Actor: steadyfetch/amazon-seller-scraperInput: { "sellers": ["A124O05NL4Z2HN"], "maxListingsPerSeller": 20 }Output: one row per record; recordType is "profile" or "listing"; charged rows havestatus "ok" and charged true.Pricing: one priced event ("seller-record"), all-inclusive, no start fee, no add-ons.A profile and a listing cost the same flat fee.Misses: amazon_retail / no_listings / not_found / not_a_product / blocked /parse_failed / source_unavailable ship as rows with charged:false.Notes: omit an optional field or send it as null — both mean "use the default", the"marketplace" dropdown included. A store it does not offer is not silentlyswapped for amazon.com: the run returns one uncharged row naming the storesthat work. "sellers" is the one field that must carry a real value.Limits are hard limits.
Works over the Apify API, MCP, n8n and Make. A bare Start with nothing set runs the one-seller sample described at the top of this page, charged like any run, so you can see the exact output shape before wiring your own list — and setting only settings, with no sellers, runs that sample under them, with one uncharged row naming what you set.
MCP: pinned with the one link at the top of this page — or ask Apify's MCP server for "amazon seller".
What one record costs
One priced event, Seller record, and nothing else. No start fee, no per-seller fee, no per-field fee, no "detail" upcharge. A seller profile and one of that seller's listings cost exactly the same flat fee. The store header reads from $1.50/1,000 seller records.
| Your Apify plan | Price per seller record | Per 1,000 seller records |
|---|---|---|
| Apify Free plan | $0.006 | $6.00 |
| Bronze | $0.0035 | $3.50 |
| Silver | $0.0022 | $2.20 |
| Gold, Platinum, Diamond | $0.0015 | $1.50 |
The header shows the Gold price. The whole ladder is printed here because an actor whose promise is billing honesty cannot have an undisclosed tier ladder.
Work out a run before you start it. One seller with listings on = 1 profile record + up to maxListingsPerSeller listing records. Five sellers at the default 100 listings each is at most 505 records. Set Max records (whole run) if you want a hard ceiling, or turn listings off to pay for profiles only.
What can fail, and what a failure costs you: nothing. The two misses you will actually see are amazon_retail (the id has no seller profile on that marketplace — Amazon's own retail accounts, or a real seller not registered in that country's store) and no_listings (a real seller with nothing live on their storefront right now). Both ship as real rows carrying charged: false, as do not_found, blocked, parse_failed, source_unavailable and invalid_input. A row is charged only if it is a record.
What you give it
| Input | Example |
|---|---|
sellers (one per line) | A124O05NL4Z2HN, https://www.amazon.com/s?me=A124O05NL4Z2HN, https://www.amazon.co.uk/sp?seller=…, or a /dp/ product link |
marketplace | amazon.com (default), amazon.co.uk, amazon.de — applies to bare IDs only; a link always uses its own store |
includeListings | true (default); false returns one profile record per seller and makes no storefront request |
maxListingsPerSeller | 100 (default), max 300 |
A product link is resolved to its Buy Box seller. That costs one extra lookup, and that lookup is never charged on its own — if the Buy Box turns out to be Amazon itself, you get a guidance row and pay nothing.
Marketplaces: amazon.com, amazon.co.uk, amazon.de. Only three because only three are tested end to end; other Amazon domains are refused with a clear message rather than half-working. Amazon runs a separate seller directory per country, so a seller registered in one store can legitimately be absent from another.
Every way a seller can fail to be a record
status | What happened | Charged? | Worth re-running? |
|---|---|---|---|
ok | A complete record | yes | — |
amazon_retail | No seller profile at that ID on that marketplace: either one of Amazon's own retail accounts (what the Buy Box shows when Amazon is the seller) or a real seller not registered in that country's store — the row suggests re-running with the seller's own marketplace | no | not there |
no_listings | The seller has a profile but nothing live on their storefront right now. The profile row is the whole answer | no | no |
not_a_product | A listing on that storefront is one of Amazon's own subscription plans, not a product — no price, no seller, no reviews of its own | no | no |
not_found | No seller page at that ID on that marketplace — wrong ID, or the account is closed there | no | no |
blocked | Amazon asked us to prove we are not a robot, on every route we tried | no | yes |
parse_failed | Amazon served a page in a layout we do not recognise. That one is on us | no | no |
source_unavailable | Amazon dropped or throttled the request | no | yes |
invalid_input | A line was blank, not an Amazon link, or an Amazon link with no ID in it — the row says which | no | no |
cap_reached / stopped_at_limit | A limit you set stopped the run; earlier rows were delivered normally | no | see resumeCursor |
sample_note | You set settings but no sellers, so the sample ran under them — the row names what you set | no | — |
input_note | A limit you set was outside what this actor can do in one run, so the run continued at the nearest value it can — the row names your ask and the ceiling | no | — |
Limits are exact
Asking for more than the ceiling is not an error. Max listings per seller goes up to 300, Max records (whole run) up to 20,000, and Max run seconds runs from 60 to 21,600 — ask outside any of them and the run continues at the nearest value it can, with one uncharged input_note row naming what you asked for and what bound. It is never refused and the run never fails to start.
Max listings per seller, Max records (whole run), Max run seconds and the run's own maximum total charge all stop the run cleanly: it still finishes as SUCCEEDED, the summary row names the one setting that stopped it, and resumeCursor lists the sellers still to do.
FAQ
Where do I find a seller ID? On any product page, the "Sold by" link in the Buy Box points at /sp?seller=… — that value is the ID. Or paste the product link itself and let this actor resolve it.
Why did my seller ID return amazon_retail? Because that marketplace has no seller profile at that ID. Usually the Buy Box seller is Amazon itself — Amazon's own retail accounts have no storefront to scrape. It is also what a real seller ID returns on a marketplace the seller is not registered in: re-run with the marketplace the seller actually trades on. Nothing was charged either way.
Can I scrape an Amazon seller without an API key? Yes — that is what this is. No Amazon account, no SP-API keys, no seller credentials.
Does it get every listing a seller has? Up to maxListingsPerSeller, in the seller's own storefront order, paging as needed. listingCount tells you the seller's true total.
What does it cost per 1,000 seller records? From $1.50/1,000 on Gold and above; see the ladder above. Nothing else is billable.
Why is a price null, or in a currency I did not expect? Amazon did not print one, or served the page from an unexpected region — priceNote says which. The delivery location is pinned to the marketplace's own country to keep this rare.
Honesty contract
Amazon changes its pages often. When a seller can't be looked up, or a listing can't be fetched or parsed, we return it with an honest status and never charge for it.
This actor may fail when the platform changes things — failed items are never charged.
If a field ever comes back empty that should not be, open an issue with the seller ID and it gets fixed.
Steadyfetch Amazon suite
One actor per entry point, the same product row underneath. All-inclusive pay per event, no start fee, charged only on delivery.
| What you paste | Actor |
|---|---|
| ASINs or product URLs | Amazon ASIN Scraper — Full Product Row per ASIN, Flat Fee |
| Search keywords | Amazon Search Results Scraper — Full Product Row, Flat Fee |
| A Best Sellers category | Amazon Best Sellers Scraper — Top 60 Ranks, Full Product Row |
| A seller ID or storefront | this actor |
The rest of the steadyfetch shelf — same contract everywhere: all-inclusive pay per event, no start fee, charged only on delivery.
| Family | Actors |
|---|---|
| Ad creative intelligence | Facebook · Google Ads video · TikTok · LinkedIn · Google Ads text & OCR |
| Trends & keywords | Google Trends · Trends Now · Breakout keywords · Autocomplete keywords · Keyword volume & CPC · Social trends |
| YouTube transcripts | YouTube videos · YouTube channels |
| Reel transcripts · Profile posts | |
| Jobs | Indeed · Career sites by domain · Glassdoor · Multi-board · Google Jobs |
| Amazon | Products · Search · Bestsellers · Sellers |
| Any media file | Speech to Text · any link or file |
Feedback & support
Found an issue? Open it on the Issues tab — we usually reply within a couple of hours, always within a day. Include the seller ID you used. Fields that come back empty when they should not are treated as bugs, not as expected behaviour. If it earned its keep, a rating helps other buyers find it, and saving the actor keeps it one click away.