Amazon Brand Storefront Scraper
Pricing
Pay per event
Amazon Brand Storefront Scraper
Extract public Amazon Brand Store navigation, merchandising modules, creative image URLs, target links, and linked product ASINs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
Extract public Amazon Brand Store pages into structured navigation, merchandising-module, creative-asset, link, and ASIN data.
Provide explicit amazon.com/stores/page/<UUID> URLs, take a one-page snapshot, or follow a bounded set of same-store navigation links. The Actor uses lightweight server-rendered HTML rather than a browser, so scheduled competitor snapshots stay fast and economical.
What does Amazon Brand Storefront Scraper do?
Amazon Brand Storefront Scraper turns each meaningful Store widget into a typed dataset record.
It extracts:
- Store ID, page ID, brand name, and page title;
- the Store navigation and current-page marker;
- Amazon module type and module identifier;
- module headings and normalized visible text;
- creative image and responsive source-set URLs;
- links to category, campaign, and product destinations;
- linked Amazon Standard Identification Numbers (ASINs);
- source URL, navigation context, and scrape timestamp.
This Actor intentionally targets first-party Amazon Brand Stores at /stores/page/<UUID>.
It does not scrape generic Amazon search results, full product details, seller profiles, or /shop/<creator> influencer storefronts.
Who is it for?
Ecommerce brand teams can archive their Store navigation and campaign modules before and after launches.
Marketplace-intelligence teams can schedule competitor storefront snapshots and compare page structure, featured ranges, links, and creative assets over time.
Agencies can monitor multiple client or competitor Store pages with repeatable JSON output instead of manual screenshots.
Data engineers can feed Store-page records into a warehouse, change-detection job, dashboard, or alerting workflow.
Merchandising analysts can identify linked ASINs and the page/module context in which Amazon presents them.
Why use this Actor?
- Module-level evidence: output preserves which Amazon Store widget contained each text, image, link, or ASIN.
- Bounded navigation traversal: optionally follow Store navigation without expanding into generic Amazon crawling.
- HTTP-first operation: server-rendered Store markup avoids browser startup and unnecessary image downloads.
- Useful failure behavior: CAPTCHA, challenge, thin-shell, invalid URL, and exhausted retry conditions fail visibly instead of returning a misleading empty dataset.
- Integration-ready results: one default dataset works with Apify API, webhooks, schedules, Make, Zapier, Google Sheets, and custom ETL.
- Cost-aware routing: each request starts direct; configured proxy routing is used only after a failed or challenged response.
What Amazon Store data can I extract?
| Field | Meaning |
|---|---|
storeId | Amazon identifier shared by pages in the Brand Store, when exposed |
storePageId | UUID in the requested /stores/page/<UUID> URL |
storeName | Brand or Store name shown in the page title/header |
pageTitle | Current Store page title, such as What's New |
moduleId | Amazon widget identifier |
moduleType | Widget type such as Header, EditorialRow, or ProductGrid |
moduleTitle | Best available module heading or image label |
moduleText | Normalized visible merchandising text |
imageUrls | Creative image and responsive source-set URLs |
targetUrls | Absolute links contained inside the module |
linkedProducts | Linked { asin, url } product objects |
asins | Deduplicated ASINs linked in the module |
navigationItems | Store-page navigation entries on Header records |
navigationPath | Store and current-page labels |
sourceUrl | Normalized Store page that produced the record |
scrapedAt | UTC ISO 8601 extraction timestamp |
Fields may be absent or arrays may be empty when Amazon does not expose that property in a particular module.
How to scrape an Amazon Brand Store
- Open a public Amazon Brand Store page.
- Copy a URL containing
/stores/page/<UUID>/. - Create an Actor task or open the Actor input form.
- Paste one or more URLs into Amazon Brand Store page URLs.
- Leave Follow same-store navigation pages disabled for a precise snapshot.
- Enable it only when you want a bounded crawl of linked Store pages.
- Set Maximum pages and Maximum module records for your workflow.
- Run the Actor.
- Open the Store modules dataset view or download JSON, CSV, Excel, XML, or RSS.
The default prefill targets a live public Apple Brand Store page and is suitable for a small first run.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | required | Public Amazon Brand Store /stores/page/<UUID> URLs |
followNavigation | boolean | false | Follow normalized Brand Store page links from the header navigation |
maxPages | integer | 10 | Maximum unique Store pages across the run, from 1 to 100 |
maxItems | integer | 100 | Maximum module records, from 1 to 10,000 |
requestRetries | integer | 2 | Retries for transient/challenged responses, from 0 to 5 |
proxyConfiguration | object | SHADER fallback | Apify proxy settings used only after a direct request fails |
Example input for one page:
{"startUrls": [{ "url": "https://www.amazon.com/stores/page/3AD65A30-7BC0-42C3-AC6C-4CCE1B02591C/" }],"followNavigation": false,"maxPages": 1,"maxItems": 20,"requestRetries": 2}
Example for a bounded monitoring crawl:
{"startUrls": [{ "url": "https://www.amazon.com/stores/page/77D9E1F7-0337-4282-9DB6-B6B8FB2DC98D/" }],"followNavigation": true,"maxPages": 10,"maxItems": 100}
Output example
A current Store page can produce a Header record followed by content-module records.
{"storeId": "77D9E1F7-0337-4282-9DB6-B6B8FB2DC98D","storePageId": "3AD65A30-7BC0-42C3-AC6C-4CCE1B02591C","storeName": "Apple","pageTitle": "What's New","moduleId": "exampleWidgetId","moduleType": "EditorialRow","moduleTitle": "Quick look","moduleText": "Quick look","imageUrls": ["https://m.media-amazon.com/images/S/stores-image-uploads-na-prod/example.jpg"],"targetUrls": ["https://www.amazon.com/stores/page/CDE6D3D1-FF52-4226-9ED9-5C04165875FA/"],"linkedProducts": [],"asins": [],"navigationItems": [],"navigationPath": ["Apple", "What's New"],"sourceUrl": "https://www.amazon.com/stores/page/3AD65A30-7BC0-42C3-AC6C-4CCE1B02591C/","scrapedAt": "2026-07-27T12:00:00.000Z"}
Amazon controls Store content. Module types, text, images, links, and ASIN presence vary by page and time.
How much does it cost to scrape Amazon Brand Stores?
The Actor uses pay-per-event pricing:
- $0.005 one-time start fee per run;
- module records use tiered pricing, beginning at $0.000041071 per module on the FREE tier;
- higher subscription tiers receive lower module prices, down to $0.00001 per module on DIAMOND.
Example Actor charges on the FREE tier:
| Workflow | Module records | Actor charge |
|---|---|---|
| Small page snapshot | 2 | about $0.0051 |
| Ten-page monitoring crawl | 20 | about $0.0058 |
| Larger scheduled snapshot | 100 | about $0.0091 |
These examples use the FREE-tier module price and include the start fee. Actual page structure determines the number of module records. Platform compute and optional proxy usage are accounted for by Apify according to your plan.
No separate event is charged for images, links, navigation entries, or ASINs contained in a module record.
Monitoring and integration workflows
Competitor creative monitoring
Schedule daily or weekly runs, export module records to a warehouse, and compare imageUrls, moduleText, and targetUrls by storePageId plus moduleId.
Navigation change alerts
Filter Header records, normalize navigationItems, and trigger an alert when labels or linked page IDs change.
Featured-product discovery
Flatten linkedProducts from content modules, then join ASINs to your catalog or a separate product-data source.
Campaign archive
Store each run's records with scrapedAt to preserve the page title, creative URLs, text, and destination links visible at each snapshot.
Multi-brand agency reporting
Pass several explicit Store URLs, keep traversal bounded, and group output by storeId, storeName, and sourceUrl.
Run with the Apify API using cURL
Replace APIFY_TOKEN with your token.
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~amazon-brand-storefront-scraper/runs?token=APIFY_TOKEN&waitForFinish=120" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url":"https://www.amazon.com/stores/page/77D9E1F7-0337-4282-9DB6-B6B8FB2DC98D/"}],"followNavigation": false,"maxPages": 1,"maxItems": 20}'
Fetch dataset items using the defaultDatasetId returned by the run.
Run with JavaScript
Install the client:
$npm install apify-client
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/amazon-brand-storefront-scraper').call({startUrls: [{url: 'https://www.amazon.com/stores/page/77D9E1F7-0337-4282-9DB6-B6B8FB2DC98D/'}],followNavigation: true,maxPages: 5,maxItems: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Run with Python
Install the client:
$pip install apify-client
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/amazon-brand-storefront-scraper').call(run_input={'startUrls': [{'url': 'https://www.amazon.com/stores/page/77D9E1F7-0337-4282-9DB6-B6B8FB2DC98D/'}],'followNavigation': False,'maxPages': 1,'maxItems': 20,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Use Amazon Brand Store data with MCP
Add this Actor to Claude Code through Apify MCP:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/amazon-brand-storefront-scraper"
Claude Desktop, Cursor, and VS Code can use this MCP server configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/amazon-brand-storefront-scraper"}}}
Example prompts:
- “Run Amazon Brand Storefront Scraper on this Store page and summarize its navigation.”
- “Extract creative image URLs and target links from this Amazon campaign page.”
- “Crawl up to five linked Store pages and list the ASINs by page and module.”
- “Compare the latest Store snapshot with yesterday's dataset and flag changed creatives.”
Tips for reliable runs
- Start with one known public
/stores/page/<UUID>URL. - Use
followNavigation: falsewhen you only need the supplied page. - Increase
maxPagesgradually for scheduled monitoring. - Keep
requestRetriesat the default unless logs show transient failures. - Keep the default SHADER fallback unless repeated challenges justify a different proxy group.
- Use a marketplace URL matching the Store's public country surface.
- Deduplicate downstream records by
storePageIdplusmoduleIdwhen comparing snapshots. - Treat image URLs as references; the Actor does not download creative files.
Limits and failure behavior
Amazon may vary Store content by marketplace, geography, campaign timing, and session.
The Actor only follows normalized Amazon Brand Store page links. It does not expand into product pages or arbitrary Amazon URLs.
Navigation traversal stops at maxPages; output stops at maxItems.
A module with no useful text, images, or links is skipped, except the Header record that carries Store navigation.
A page may legitimately contain only a Header and one content module.
The Actor returns a non-zero failure when:
- input is missing;
- a URL is malformed or is not a supported Amazon Brand Store page;
- Amazon returns 404;
- challenge or thin-shell responses continue after all retries;
- no Store modules can be extracted.
The Actor does not bypass login, solve CAPTCHA, or access private Store data.
Troubleshooting
Why did my URL fail validation?
Check that it uses HTTPS on a supported Amazon marketplace and includes /stores/page/ followed by a 36-character UUID. Product /dp/, seller, search, and influencer /shop/ URLs are outside this Actor's scope.
Why did the run report an Amazon challenge?
Retry later or use Apify Proxy. The default configuration attempts direct access first and then SHADER on retry. If your target marketplace consistently blocks that route, choose a suitable proxy group and country in proxyConfiguration.
Why are there no ASINs in a module?
Many Store modules link to another campaign/category page rather than directly to a product. ASINs are returned only when a product URL exists inside that specific Store widget.
Why are there several image URLs for one creative?
Amazon commonly exposes responsive srcset variants. Keeping each URL lets downstream workflows choose the appropriate resolution and detect creative changes accurately.
Why did a page produce only two records?
The Actor emits one record per meaningful Store widget, not one record per DOM element. Some public pages currently contain only a Header and one editorial/product module.
Responsible use and legality
This Actor extracts publicly accessible Amazon Brand Store pages.
You are responsible for:
- complying with Amazon's terms and applicable website rules;
- using reasonable run frequency and limits;
- respecting intellectual-property rights in text and creative assets;
- following privacy, database, and competition laws in your jurisdiction;
- obtaining any permissions required for storage, analysis, or redistribution.
Do not use the Actor to access private information, circumvent authentication, impersonate users, or republish protected creative assets without permission.
This documentation is technical guidance, not legal advice.
Related Automation Lab Actors
- Amazon Scraper — extract Amazon search-result product data.
- Amazon Sellers Scraper — collect seller-focused Amazon information.
- Amazon Reviews Scraper — extract customer reviews for Amazon products.
- Amazon Influencer Storefront Scraper — target
/shop/<creator>influencer pages and idea lists instead of Brand Stores.
Choose this Actor when the buyer job is Store navigation, merchandising-module, campaign-creative, and linked-ASIN monitoring.
FAQ
Does it scrape Amazon product details?
No. It extracts links and ASINs present in Brand Store modules. Use a dedicated product Actor when you need price, rating, inventory, or full product-page fields.
Does it support Amazon influencer storefronts?
No. Influencer storefronts use /shop/<creator> and a different data model. Use Amazon Influencer Storefront Scraper.
Can it follow every Store navigation page?
Yes, within the configured maxPages and maxItems bounds. Start small because large brand navigation trees can change.
Can I schedule recurring snapshots?
Yes. Save a task, add an Apify schedule, and retain each run's dataset or export records to durable storage for comparison.
Does it need a browser?
Not for the current public Brand Store scope. Amazon includes identity, navigation, and module content in server-rendered HTML, which keeps the Actor at 256 MB memory.
Does it download images?
No. It returns creative URLs and responsive variants, minimizing transfer and letting you choose whether to download them downstream.
Is proxy use mandatory?
No. The Actor tries direct HTTP first. The configured proxy is a retry route for challenged or transient responses.
Can I submit several Store URLs?
Yes. They are normalized and deduplicated. Global page and item limits apply across the run.
How fresh is the output?
Each run extracts what Amazon returns at run time and records scrapedAt. Amazon controls caching, regional presentation, and campaign publication timing.
What should I use as a stable key?
Use storePageId plus moduleId for module comparisons, and include scrapedAt when storing historical snapshots.