Amazon Third-Party Seller Profile & Storefront Catalog
Look up an Amazon third-party seller's public business details, feedback history and ratings histogram, plus every product listed in their storefront, by seller ID or product URL.
Input schema
Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | PROFILE fetches only the seller profile page. PRODUCTS fetches only the seller's storefront catalog. BOTH fetches both for every resolved seller. |
sellerIds | array | optional | Amazon seller/merchant IDs (e.g. A294P4X9EWVXLJ). Accepts bare IDs or IDs embedded in a seller/storefront URL. |
productUrls | array | optional | Amazon product page URLs (e.g. https://www.amazon.com/dp/ASIN). The seller ID is auto-derived from each product's buy-box "sold by" seller link. |
Show all input fields
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | PROFILE fetches only the seller profile page. PRODUCTS fetches only the seller's storefront catalog. BOTH fetches both for every resolved seller. |
sellerIds | array | optional | Amazon seller/merchant IDs (e.g. A294P4X9EWVXLJ). Accepts bare IDs or IDs embedded in a seller/storefront URL. |
productUrls | array | optional | Amazon product page URLs (e.g. https://www.amazon.com/dp/ASIN). The seller ID is auto-derived from each product's buy-box "sold by" seller link. |
marketplace | string | optional | Amazon marketplace/domain to scrape sellers on. Overrides the domain inferred from productUrls when both are provided. |
maxProductPages | integer | optional | Maximum number of /s?me= storefront pages to fetch per seller (mode=PRODUCTS or BOTH). Each page holds up to ~16 products. |
includeBusinessDetails | boolean | optional | If true, includes the seller's publicly-displayed legal business name, business address, and customer-service phone number (data Amazon itself shows on the public seller profile page -- not customer-level personal data). |
sortBy | string | optional | Sort order for the seller's storefront catalog (mode=PRODUCTS or BOTH), matching Amazon's own storefront "Sort by" dropdown. Leave blank for Amazon's default (Featured). |
useResidentialProxy | boolean | optional | By default the actor uses datacenter (AUTO) proxies with a homepage-priming technique that reliably bypasses Amazon's cold-navigation block, escalating to residential proxies automatically only if repeated blocks occur. Enable this to force residential proxies (more reliable but more expensive) from the start. |
proxyCountry | string | optional | Proxy country for geo-targeting. Use AUTO to automatically select based on the Amazon marketplace/domain. |
Download the published input schema
View complete JSON
{
"description": "Scrape Amazon third-party seller profiles and storefront catalogs. Provide one or more seller IDs directly, and/or product URLs to auto-derive the seller ID from the buy-box seller link.",
"properties": {
"includeBusinessDetails": {
"default": true,
"description": "If true, includes the seller's publicly-displayed legal business name, business address, and customer-service phone number (data Amazon itself shows on the public seller profile page -- not customer-level personal data).",
"prefill": true,
"title": "Include Business Details",
"type": "boolean"
},
"marketplace": {
"default": "US",
"description": "Amazon marketplace/domain to scrape sellers on. Overrides the domain inferred from productUrls when both are provided.",
"editor": "select",
"enum": [
"US",
"CA",
"MX",
"BR",
"IE",
"ES",
"GB",
"FR",
"BE",
"NL",
"DE",
"IT",
"SE",
"ZA",
"PL",
"EG",
"TR",
"SA",
"AE",
"IN",
"SG",
"AU",
"JP"
],
"enumTitles": [
"United States (amazon.com)",
"Canada (amazon.ca)",
"Mexico (amazon.com.mx)",
"Brazil (amazon.com.br)",
"Ireland (amazon.ie)",
"Spain (amazon.es)",
"United Kingdom (amazon.co.uk)",
"France (amazon.fr)",
"Belgium (amazon.com.be)",
"Netherlands (amazon.nl)",
"Germany (amazon.de)",
"Italy (amazon.it)",
"Sweden (amazon.se)",
"South Africa (amazon.co.za)",
"Poland (amazon.pl)",
"Egypt (amazon.eg)",
"Turkey (amazon.com.tr)",
"Saudi Arabia (amazon.sa)",
"United Arab Emirates (amazon.ae)",
"India (amazon.in)",
"Singapore (amazon.sg)",
"Australia (amazon.com.au)",
"Japan (amazon.co.jp)"
],
"prefill": "US",
"title": "Marketplace",
"type": "string"
},
"maxProductPages": {
"default": 3,
"description": "Maximum number of /s?me= storefront pages to fetch per seller (mode=PRODUCTS or BOTH). Each page holds up to ~16 products.",
"maximum": 20,
"minimum": 1,
"prefill": 1,
"title": "Max Storefront Pages Per Seller",
"type": "integer"
},
"mode": {
"default": "BOTH",
"description": "PROFILE fetches only the seller profile page. PRODUCTS fetches only the seller's storefront catalog. BOTH fetches both for every resolved seller.",
"editor": "select",
"enum": [
"PROFILE",
"PRODUCTS",
"BOTH"
],
"enumTitles": [
"Seller profile only",
"Seller storefront products only",
"Both profile and products"
],
"prefill": "BOTH",
"title": "Mode",
"type": "string"
},
"productUrls": {
"default": [],
"description": "Amazon product page URLs (e.g. https://www.amazon.com/dp/ASIN). The seller ID is auto-derived from each product's buy-box \"sold by\" seller link.",
"editor": "stringList",
"example": [
"https://www.amazon.com/dp/B0BTYCRJSS"
],
"items": {
"type": "string"
},
"prefill": [],
"title": "Product URLs",
"type": "array"
},
"proxyCountry": {
"default": "AUTO",
"description": "Proxy country for geo-targeting. Use AUTO to automatically select based on the Amazon marketplace/domain.",
"editor": "select",
"enum": [
"AUTO",
"US",
"CA",
"MX",
"BR",
"IE",
"ES",
"GB",
"FR",
"BE",
"NL",
"DE",
"IT",
"SE",
"ZA",
"PL",
"EG",
"TR",
"SA",
"AE",
"IN",
"SG",
"AU",
"JP"
],
"enumTitles": [
"Auto (based on marketplace)",
"United States",
"Canada",
"Mexico",
"Brazil",
"Ireland",
"Spain",
"United Kingdom",
"France",
"Belgium",
"Netherlands",
"Germany",
"Italy",
"Sweden",
"South Africa",
"Poland",
"Egypt",
"Turkey",
"Saudi Arabia",
"United Arab Emirates",
"India",
"Singapore",
"Australia",
"Japan"
],
"prefill": "AUTO",
"title": "Proxy Country",
"type": "string"
},
"sellerIds": {
"default": [],
"description": "Amazon seller/merchant IDs (e.g. A294P4X9EWVXLJ). Accepts bare IDs or IDs embedded in a seller/storefront URL.",
"editor": "stringList",
"example": [
"A294P4X9EWVXLJ"
],
"items": {
"type": "string"
},
"prefill": [
"A294P4X9EWVXLJ"
],
"title": "Seller IDs",
"type": "array"
},
"sortBy": {
"default": "",
"description": "Sort order for the seller's storefront catalog (mode=PRODUCTS or BOTH), matching Amazon's own storefront \"Sort by\" dropdown. Leave blank for Amazon's default (Featured).",
"editor": "select",
"enum": [
"",
"relevanceblender",
"price-asc-rank",
"price-desc-rank",
"review-rank",
"date-desc-rank",
"exact-aware-popularity-rank"
],
"enumTitles": [
"Default (Featured)",
"Featured",
"Price: Low to High",
"Price: High to Low",
"Avg. Customer Review",
"Newest Arrivals",
"Best Sellers"
],
"prefill": "",
"title": "Storefront Sort Order",
"type": "string"
},
"useResidentialProxy": {
"default": false,
"description": "By default the actor uses datacenter (AUTO) proxies with a homepage-priming technique that reliably bypasses Amazon's cold-navigation block, escalating to residential proxies automatically only if repeated blocks occur. Enable this to force residential proxies (more reliable but more expensive) from the start.",
"prefill": false,
"title": "Use Residential Proxy",
"type": "boolean"
}
},
"required": [
"mode"
],
"schemaVersion": 1,
"title": "Amazon Seller & Shop Scraper Input",
"type": "object"
}
Output schema
Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.
| Field | Type | Required | Description |
|---|---|---|---|
records | string | optional | Dataset containing all scraped seller profile and seller-storefront product records. |
Download the published output schema
View complete JSON
{
"actorOutputSchemaVersion": 1,
"description": "Seller profile records (business name/address/phone, ratings, feedback windows), seller storefront product records, and one storefront-facets record per seller (refinement facets + available sort options) from Amazon.",
"properties": {
"records": {
"description": "Dataset containing all scraped seller profile and seller-storefront product records.",
"template": "{{links.apiDefaultDatasetUrl}}/items",
"title": "Seller & product records",
"type": "string"
}
},
"title": "Amazon Third-Party Seller Profile & Storefront Catalog Output"
}
Dataset schema
Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.
Download the published dataset schema
View complete JSON
{
"actorSpecification": 1,
"views": {
"overview": {
"display": {
"component": "table",
"properties": {
"positivePercent12m": {
"format": "number",
"label": "Positive % (12mo)"
},
"price": {
"format": "object",
"label": "Price"
},
"recordType": {
"format": "text",
"label": "Record Type"
},
"scrapedAt": {
"format": "date",
"label": "Scraped At"
},
"sellerId": {
"format": "text",
"label": "Seller ID"
},
"sellerName": {
"format": "text",
"label": "Seller Name"
},
"starRating": {
"format": "number",
"label": "Star Rating"
},
"title": {
"format": "text",
"label": "Product Title"
}
}
},
"title": "Sellers & Products",
"transformation": {
"fields": [
"recordType",
"sellerId",
"sellerName",
"title",
"price",
"starRating",
"positivePercent12m",
"scrapedAt"
]
}
}
}
}
Key-value schema
Published key-value store definitions, when provided by this build.
This definition is not present in the default published build. See the published README for available documentation.
Published README
Read the full published documentation
Amazon Third-Party Seller Profile & Storefront Catalog
Every third-party seller on Amazon has a public profile page and a storefront of their own listings. This actor turns both into structured records — the seller's business identity, feedback history and ratings histogram from the profile, and every product currently listed in their storefront catalog. No login or cookies required.
What this actor does
- Three modes:
PROFILE(seller profile only),PRODUCTS(storefront catalog only),BOTH(default) - Two input paths: supply seller IDs directly, or supply product URLs and the actor auto-derives the seller ID from each product's buy-box "sold by" link
- Seller feedback windows: 30-day, 90-day, 12-month, and lifetime rating + ratings-count, whichever windows Amazon actually shows for that seller
- Feedback histogram: percentage breakdown across 5/4/3/2/1 stars
- Public business data: legal business name, business address, and
customer-service phone number — data Amazon itself displays publicly on the
seller profile page (toggle off with
includeBusinessDetails) - Storefront catalog: reuses the standard Amazon search-result card schema (title, price, rating, image, badges) for every product in the seller's shop
- 23 Amazon marketplaces supported (all browser-verified)
- Empty fields are omitted — no null placeholders, no fabricated data
Output: seller profile record (recordType: "sellerProfile")
sellerId,sellerName,profileUrl,storefrontUrlstarRating— overall star rating shown in the page headerpositivePercent12m,ratingsCount12m— 12-month positive-feedback percent and count (when shown)positivePercentWindow,positivePercent,positivePercentRatingsCount— the exact window Amazon's own page header currently displays (usually 12 months, but not guaranteed)feedbackWindows[]—{window, starRating, ratingsCount}for each of 30 days / 90 days / 12 months / lifetime that Amazon actually shows data forfeedbackHistogram—{"5": {percent}, "4": {percent}, ...}aboutText— the seller's "About" descriptionphone— customer-service phone number (public,includeBusinessDetails=true)businessName,businessAddress— public legal business identity (includeBusinessDetails=true). For the common 5-line Western format,businessAddressis{street, city, state, zip, country}; for addresses that don't fit that exact 5-line shape (common among non-Western/international sellers),businessAddressis instead{addressLines: [...]}— the real, ordered address lines exactly as Amazon renders them, never force-fit into the wrong fieldreturnRefundPolicyText,shippingPolicyText,privacyPolicyText— the seller's own return/refund, shipping, and privacy-notice text, when Amazon's page renders onescrapedAt
Output: seller product record (recordType: "sellerProduct")
asin,sellerId,title,urlprice {value, currency, display},listPricestars,reviewsCountthumbnailImageprime,sponsored,resultType(ORGANIC/SPONSORED),badgeboughtInPastMonthposition {page, positionOnPage, globalPosition}scrapedAt
Output: storefront facets record (recordType: "storefrontFacets")
One record per seller (mode PRODUCTS/BOTH), built from the storefront's own
refinement rail and sort dropdown — lets you discover what departments/filters
and sort orders exist for a seller's catalog before deciding what to request.
sellerId,storefrontUrlfacets[]—{groupName, label, url, selected, refinementParameter?}from the storefront's#s-refinementsrail (Department, Delivery Day, Free Shipping, etc.)sortOptions[]—{value, label, selected}from the storefront's own "Sort by" dropdown —valueis the exact string thesortByinput acceptspagesRequested,pagesFetched— how many storefront pages were actually fetched vs.maxProductPagesrequested. Usually equal;pagesFetchedcan be lower either because the storefront's own last page was reached naturally (fewer sellers have hundreds of pages of stock) or, rarely, because a persistent anti-bot block stopped the fetch partway through (in that case apagesStoppedReason: "BLOCKED"field is also present, so a short run is never silently indistinguishable from a genuinely small storefront)scrapedAt
Output: error/terminal record (recordType: "sellerError")
Emitted instead of a normal record when a seller/page could not be resolved (not found, blocked, CAPTCHA, etc.) — the actor never silently returns zero items for a requested seller without explaining why.
sellerId,pageClassification(e.g.NOT_FOUND,CAPTCHA,DOG_PAGE_503),scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode |
string | BOTH |
PROFILE / PRODUCTS / BOTH |
sellerIds |
array | – | Seller/merchant IDs to look up directly |
productUrls |
array | – | Product URLs to derive seller IDs from (buy-box seller link) |
marketplace |
string | US |
Amazon marketplace/domain |
maxProductPages |
int | 3 |
Max storefront pages per seller (mode=PRODUCTS/BOTH), ~16 products/page |
includeBusinessDetails |
bool | true |
Include public business name/address/phone |
sortBy |
string | (default/Featured) | Storefront sort order (mode=PRODUCTS/BOTH) -- matches Amazon's own "Sort by" dropdown values |
useResidentialProxy |
bool | false |
Force residential proxy from the start |
proxyCountry |
string | AUTO |
Proxy geo-targeting country |
At least one of sellerIds or productUrls is required.
Example: look up two sellers directly
{
"mode": "BOTH",
"sellerIds": ["A294P4X9EWVXLJ", "A35BKAA6VXTYCT"],
"maxProductPages": 2
}
Example: derive the seller from a product page
{
"mode": "PROFILE",
"productUrls": ["https://www.amazon.com/dp/B0BTYCRJSS"]
}
Example: storefront catalog only, UK marketplace
{
"mode": "PRODUCTS",
"sellerIds": ["A294P4X9EWVXLJ"],
"marketplace": "GB",
"maxProductPages": 5
}
Use cases
- Lead generation — build a list of active third-party sellers with public business name/address/phone for outreach
- Competitor research — monitor a competing seller's full storefront catalog and pricing
- Seller due-diligence — check a seller's rating history across multiple feedback windows before doing business with them
- Marketplace research — compare seller reputations (histogram, positive %) across a category
- Supply-chain verification — confirm a seller's legal business identity before sourcing
FAQ
Is this affiliated with Amazon? No. This is an independent third-party actor that scrapes Amazon's own public seller profile and storefront pages — no API keys, cookies, or login required.
Is the business name/address/phone customer personal data?
No. This is the seller's own public business identity that Amazon displays on every
seller's public profile page (/sp?seller=...), distinct from any Amazon customer's
personal/GDPR-sensitive data. You can disable it with includeBusinessDetails: false.
Why do some sellers have fewer feedback windows than others? Amazon only shows a feedback window (30 days / 90 days / 12 months / lifetime) when the seller has ratings data for that window. A newer seller may only show 90-day and lifetime, for example — the actor reports exactly what Amazon displays, never a fabricated shape.
Does this include individual written feedback comments (per-buyer text/author/date)?
No. Amazon's public seller profile page (/sp?seller=...) only ever renders the aggregate
feedback data this actor extracts — star rating, positive-percent, and the 5/4/3/2/1-star
histogram per time window. It does not render individual buyer feedback comments/text/author/date
anywhere on that page (verified live), so the actor doesn't fabricate a per-comment feedback list.
Why is a seller record sometimes missing instead of empty?
If a seller ID can't be resolved (not found, blocked, CAPTCHA), the actor emits an explicit
error/terminal record (recordType: "sellerError") with a pageClassification explaining why,
rather than silently returning nothing.
How many products does the storefront catalog return?
Up to maxProductPages × ~16 products per seller — exactly what Amazon's own storefront
pagination currently exposes for that seller, not a fixed/guaranteed count.
Does this work on every Amazon marketplace?
Yes — all 23 supported marketplaces work end-to-end, including ones that show an
interactive anti-bot challenge on the seller/storefront pages (it resolves automatically
after the actor's normal page-load wait). Non-US marketplaces can occasionally see
proxy-routing timeouts; if a run fails on a non-US marketplace, retry it and/or enable
useResidentialProxy: true.
Why does profileUrl/storefrontUrl return an error in a plain script check?
Amazon blocks non-browser requests to /sp?seller=... and /s?me=... with a 503, even
though the exact same URL loads fine in a real browser (or via this actor — verified live).
productUrl (/dp/ASIN) and media/thumbnail URLs are not behind this same block and
return 200 from a plain client.
Is sortBy guaranteed across every storefront page?
Amazon's own storefront reliably honors a non-default sortBy on page 1 of the
catalog (verified live: price-asc-rank/price-desc-rank correctly order page 1's
results). For maxProductPages > 1, the actor carries the sort session forward using
Amazon's own "next page" link and query-id where available, but Amazon's storefront
backend does not guarantee the same strict order past page 1 for every sort value —
treat page 1 as the authoritative sorted sample if you need a strict global order.
Python quickstart
Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.
Source build C2rTUjtkCNXiG6UHW. Documentation is regenerated from the default published build; private drafts are not included.