Amazon Ads Scraper
Pricing
from $2.00 / actor start
Amazon Ads Scraper
Ultra-fast, low-cost Amazon Ads scraper using Python & Crawlee. Extracts Headline Banners, Sponsored Video Rows, and Search Grid Inline Ads. Features built-in anti-bot proxy rotation, automatic pricing extraction, and smart widget filtering to keep datasets 100% noise-free.
Pricing
from $2.00 / actor start
Rating
5.0
(1)
Developer
Divya Raj
Maintained by CommunityActor stats
1
Bookmarked
4
Total users
1
Monthly active users
a month ago
Last modified
Categories
Share
Amazon Ads Scraper: Extract Competitor Sponsored Product Data at Scale
An ultra-performance, cost-effective Amazon Advertising intelligence extractor built with Python, Crawlee, and BeautifulSoup. Monitor your competitors' paid search campaigns, capture multiple sponsored ad formats, and gather PPC insights across 15 international Amazon marketplaces in bulk.
What does Amazon Ads Scraper do?
This Actor visits Amazon search result pages and extracts every sponsored placement it finds — inline grid ads, headline brand banners, and sponsored video rows — returning them as clean, structured rows. Give it a keyword or a search URL and it expands the query across multiple result pages automatically.
Running on the Apify platform, you get scheduling, an API, proxy rotation, monitoring, and integrations with tools like Google Sheets, Zapier, and Make out of the box.
⚠️ Read this before your first run. Amazon serves its full sponsored product grid only to residential IP addresses. On datacenter proxies — including the Apify free tier default — you will still get brand banners and video ads, but few or no inline product listings. This is Amazon's anti-bot behaviour, not a fault in the Actor. See the Proxy requirements section below for the full picture.
Why use Amazon Ads Scraper?
Most Amazon scrapers rely on heavy browser automation like Playwright or Puppeteer. Those consume large amounts of RAM and CPU, run slowly, and burn through Apify Compute Units (CUs).
This Actor takes a different approach:
- HTTP-only architecture. Built on
BeautifulSoupCrawler— a raw HTTP and HTML parser with no browser engine. For static HTML extraction this is typically several times faster than a headless browser and uses a fraction of the compute. - Automatic pagination. Provide one search query and the engine generates and crawls pages 1–5 by default (configurable up to 20).
- Multi-format ad tracking. Captures three monetization slots in a single pass:
- Headline Brand Storefront Banners — top-of-page creative banners
- Sponsored Video Row Ads — desktop interactive video formats
- Search Grid Inline Ads — standard sponsored product listings
- Standby mode. Run it as a real-time HTTP microservice that answers scrape requests on demand, rather than as a batch job.
How to use Amazon Ads Scraper
- Choose your input method — either type keywords into Search Terms and pick a Marketplace (easiest), or paste Amazon search links into Start URLs. See Which Amazon links can I use? if you are pasting links.
- Set Max Pages per Query (default 5).
- Under Proxy Configuration, select Residential proxy groups. This matters — see the section below.
- Click Start.
- Download your results from the Dataset tab as JSON, CSV, Excel, or HTML.
Which Amazon links can I use?
The simplest option is to use no link at all. Type a keyword into Search Terms, pick your Marketplace from the dropdown, and the Actor builds the correct URLs for you. Most people should stop here.
If you would rather paste URLs into Start URLs, there is exactly one rule:
✅ Use Amazon search result links — the page you land on after typing a keyword into Amazon's search box. Their address always contains
/s?k=.
How to get the right link in 3 steps
- Go to Amazon (any country site) and type your keyword into the search box.
- Press Enter and wait for the results grid.
- Copy the entire address from your browser's address bar and paste it into Start URLs.
That's it. You do not need to remove tracking parameters or add a page number — the Actor strips what it doesn't need and adds pagination itself.
Links that work
| Link | Why it works |
|---|---|
https://www.amazon.com/s?k=wireless+headphones | Standard search results |
https://www.amazon.in/s?k=protein+powder | Any of the 15 marketplaces |
https://www.amazon.de/s?k=kaffeemaschine | Non-English keywords are fine |
https://www.amazon.com/s?k=laptop&rh=n%3A565108 | Search plus filters — extra parameters are kept |
Links that do NOT work
| Link | Why it fails |
|---|---|
https://www.amazon.com/dp/B09BF64J55 | Product page. Its ad carousels load by JavaScript after the page opens, so they are not in the HTML this Actor reads. |
https://www.amazon.com/stores/Nike/page/... | Brand storefront. Not a search results page. |
https://www.amazon.com/b?node=679255011 | Category browse page. Uses a different layout with no k= keyword. |
https://www.amazon.com | Homepage. No search query to work with. |
Unsupported links are skipped with a warning in the log — they will not crash your run, they simply return nothing. If a run produces no data, check the log for Skipping unsupported URL.
Tip: how to tell at a glance
Look for /s?k= in the address. If it's there, the link will work. If you see /dp/, /stores/, or /b?, it will not.
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchTerms | array | — | Plain keywords. Each becomes a search URL on the selected marketplace. |
domain | select | amazon.com | Which of 15 regional Amazon marketplaces to search. |
startUrls | array | — | Full Amazon search URLs. Overrides domain for those URLs. |
maxPages | integer | 5 | Result pages to expand each query into (1–20). |
proxyConfiguration | object | Apify Proxy | Proxy settings. Residential groups strongly recommended. |
Example input:
{"searchTerms": ["protein powder"],"domain": "amazon.in","maxPages": 5,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Proxy requirements and what to expect ⚠️
Your proxy selection directly determines how much data you get. This is the single biggest factor in your results.
Datacenter proxies (including the free tier default)
The scraper runs without errors, but Amazon aggressively filters datacenter IP ranges. You may see few or zero results, because Amazon often omits sponsored sections from responses served to datacenter IPs, or returns a CAPTCHA page. The Actor detects CAPTCHAs and retries with a fresh session, but it cannot manufacture data Amazon does not serve. Best for code testing and sandboxed experiments.
Residential proxies [recommended]
Select Residential groups in the Proxy Configuration input. Amazon serves its full ad inventory to residential IPs far more consistently, which is what makes multi-page bulk collection practical. Best for professional PPC analysis, competitor research, and agency data pipelines.
Actual item counts vary by keyword, marketplace, and how many ads Amazon chooses to serve on a given request — a broad commercial keyword returns considerably more sponsored placements than a niche one.
Output
Results land in your Apify Dataset, exportable to CSV, JSON, Excel, or Google Sheets.
[{"keyword": "protein powder","domain": "amazon.in","page": 1,"asin": "B07FZ8S74R","title": "Optimum Nutrition (ON) Gold Standard 100% Whey Protein Powder","price": "₹3,499","rating": "4.4 out of 5 stars","reviewsCount": "12,450","adPlacement": "Search Grid Inline","scrapedAt": "2026-08-22T00:05:00.000Z"},{"keyword": "laptops","domain": "amazon.com","page": 1,"asin": "Featured ASINs: B0BSHF7WHW, B09B8V1LZ3","title": "Brand Banner: Premium High-Performance Business Notebooks Storefront","price": "N/A","rating": "N/A","reviewsCount": "N/A","adPlacement": "Headline Brand Banner","scrapedAt": "2026-08-22T00:05:10.000Z"}]
Data fields
| Field | Type | Description |
|---|---|---|
keyword | string | The search term used. |
domain | string | Regional marketplace the ad was seen on. |
page | integer | Search result page number. |
asin | string | Product ASIN, or the featured ASIN list for banners. |
title | string | Product title, banner headline, or video ad label. |
price | string | Localized price as displayed, or N/A. |
rating | string | Star rating text, or N/A. |
reviewsCount | string | Review volume as displayed. |
adPlacement | string | Search Grid Inline, Headline Brand Banner, or Sponsored Video Row Ad. |
scrapedAt | string | UTC ISO-8601 extraction timestamp. |
Standby mode (real-time API)
With Standby enabled, the Actor stays warm and answers HTTP requests instead of running once:
GET https://<your-actor>.apify.actor/?keyword=protein+powder&domain=amazon.in&maxPages=2
It responds with the scraped items as a JSON array. Supported query parameters: keyword (repeatable), url (repeatable), domain, and maxPages.
How much does it cost to scrape Amazon ads?
Because this Actor is HTTP-only with no browser, compute cost per page is low; your spend is dominated by proxy traffic, especially residential. A rough guide:
- A 5-page single-keyword run is a small number of HTTP requests and finishes in well under a minute.
- Residential proxy traffic is billed per GB. Amazon search pages are HTML-heavy, so budget accordingly when running many keywords.
- The Apify free tier includes monthly platform credit, enough for testing, though its datacenter proxies limit what Amazon will actually serve.
Use maxPages to cap cost directly: it is the main lever on how many requests a run makes.
Tips
- Start with
maxPages: 2to validate a keyword returns ads before scaling up. - Sponsored inventory differs sharply by marketplace — the same keyword can be ad-dense on
amazon.comand nearly empty on a smaller regional site. - If a run logs
Zero ads scraped, check the logged page title. A title referencing robot checks means your proxy tier is being filtered, not that the parser is broken. - Schedule recurring runs to build a time series and track when competitors enter or exit a keyword.
FAQ
Is scraping Amazon legal? This Actor collects only publicly visible, non-personal data from search result pages. Scraping public data is generally lawful in many jurisdictions, but legality depends on your location, purpose, and applicable terms. Review Amazon's Terms of Service and consult your own legal counsel before running at scale. You are responsible for how you use the output.
Does it collect personal data? No. It extracts product listings and ad creatives only.
Why did I get zero results? Almost always proxy-related — see the proxy section above. Datacenter IPs frequently receive pages with the sponsored sections stripped out.
Can it scrape product detail pages? No. Those ad carousels load via client-side JavaScript and are not in the HTML. Such URLs are skipped with a warning.
Known limitations. Amazon changes its markup regularly; selectors are written defensively with fallbacks, but a major layout change can require an update. Banner and video formats appear less frequently than inline grid ads.
Support
Found a bug or need a field that isn't extracted? Open a ticket on the Issues tab of this Actor. Custom scraping solutions are available on request.