Amazon Product Search Scraper avatar

Amazon Product Search Scraper

Pricing

from $2.00 / 1,000 product founds

Go to Apify Store
Amazon Product Search Scraper

Amazon Product Search Scraper

Search Amazon by keyword (or paste a search/category URL) across 18 marketplaces and get product listings enriched with full detail-page data: feature bullets, description, all images, brand, best-sellers rank, buybox seller, breadcrumbs, variations, rating and reviews. Pay-per-event. MCP-ready.

Pricing

from $2.00 / 1,000 product founds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

62

Total users

38

Monthly active users

9 days ago

Last modified

Share

Amazon Product Search Scraper — Full Detail Data

Amazon Product Search Scraper is an Apify Actor for teams, apps, and AI agents that need Amazon product listings from a keyword search or an Amazon search/category URL. It accepts a single search keyword, multiple keywords, or search/category URLs, and returns one dataset record per product. Each record can include search-result fields such as ASIN, title, URL, marketplace, price, rating, review count, rank signals, and sponsored placement, plus detail-page fields such as brand, feature bullets, description, all images, suitable-sellers rank, buybox seller, breadcrumbs, variations, and product details. The output is structured for analysis, routing, and downstream agent workflows, and the actor is usable through Apify MCP.

Best fit and connected workflows

This actor fits workflows that start with Amazon discovery and continue into structured product handling.

Good workflow routes include:

  • Keyword discovery for a category, followed by shortlist creation from the returned product records.
  • Marketplace-specific monitoring when you already know which Amazon domain you want to search.
  • SERP analysis where organicRank, globalPosition, and isSponsored help you read the result order.
  • Product research and catalog building when you want search data and detail-page data in one dataset.
  • AI agent workflows that need a predictable tool for Amazon product search.

If you already have a filtered Amazon search page or category page, paste the URL into startUrls. If you are starting from a topic, use searchQuery or searchQueries.

Use A natural next workflow step is Amazon Product Details Scraper for focused record-level enrichment. When discovery is complete and the next step is ranking-oriented analysis of selected Amazon records, Amazon Bestsellers Scraper fits that handoff. If the workflow shifts from product discovery to seller research, Amazon Seller Email Scraper - Public Contact Finder continues from the returned product records.

Practical scenario

Maya is preparing a buying brief for "wireless earbuds" in the US marketplace. She starts with searchQuery, keeps enrichDetails enabled, and limits the run with maxResults. The actor returns rows with ASIN, title, price, rating, review count, organic rank, sponsored flag, brand, feature bullets, images, and availability. Maya uses those fields to compare products, then opens the returned product URLs for selected items that need a deeper review.

Input fields

FieldTypePurpose
searchQuerystringSingle Amazon search keyword. Example: wireless earbuds.
searchQueriesarray of stringsBulk keyword mode. Example: ["gaming mouse", "mechanical keyboard"].
startUrlsarray of objectsAmazon search-result or category URLs to scrape directly. Example: { "url": "https://www.amazon.com/s?k=running+shoes" }.
countrystringMarketplace code for keyword searches. Example: US, UK, or DE.
maxResultsintegerMaximum number of products to return across the run. Example: 50.
enrichDetailsbooleanAdds detail-page fields such as brand, bullets, description, images, BSR, buybox seller, breadcrumbs, and variations. Example: true.
sortBystringSearch sort order for keyword searches. Example: relevance, priceAsc, avgCustomerReview.
includeSponsoredbooleanIncludes sponsored placements and flags them with isSponsored. Example: true.
maxSearchPagesintegerMaximum search-result pages to explore per seed. Example: 5.
proxyConfigurationobjectProxy settings for the run. Default uses Apify Proxy; select UNBLOCKER to route the whole run through it.
useUnblockerFallbackbooleanOn by default: after a zero-result classified block, retry at most two unique search seeds through Unblocker once. Set false to use only the selected proxy route.

Focused input example

{
"searchQuery": "wireless earbuds",
"country": "US",
"maxResults": 25,
"enrichDetails": true,
"sortBy": "relevance",
"includeSponsored": true,
"maxSearchPages": 3
}

Output fields

Each dataset row represents one Amazon product record. The actor writes product rows to the dataset, and the output object also includes execution metadata in the key-value store.

FieldDescriptionExample
recordTypeDataset record kind.product
asinAmazon Standard Identification Number for the returned product.B0EXAMPLE12
titleProduct title from search results or the detail page.Wireless Earbuds
urlCanonical product URL for the returned ASIN.https://www.amazon.com/dp/B0EXAMPLE12
marketplaceMarketplace where the row was collected.US
searchQuerySearch keyword that produced the row.wireless earbuds
searchUrlSearch or category URL used as the seed.https://www.amazon.com/s?k=wireless+earbuds
sourceTypeSeed type that produced the row, such as keyword or URL-based search.search
pageSearch page number where the product appeared.1
positionOnPagePosition of the product on that page.1
organicRankOrganic position in the search results.1
globalPositionOverall position across the run.1
isSponsoredSponsored placement flag.false
priceCurrent price.39.99
listPriceStrike-through list price, when available.49.99
currencyCurrency code.USD
discountPercentPrice discount versus list price.20
ratingStar rating.4.6
reviewCountNumber of ratings or reviews.18234
boughtInPastMonthPurchase activity text shown by Amazon.10K+ bought in past month
isPrimePrime-eligibility flag.true
thumbnailSearch result thumbnail URL.https://example.com/thumb.jpg
badgeTextBadge text shown in the listing.Sponsored
deliveryTextDelivery text from the listing.FREE delivery Tue, ...
couponTextCoupon text from the listing.Save 10%
availabilityTextAvailability text from the listing.In Stock
detailScrapedIndicates whether detail-page enrichment was collected.true
brandBrand from the detail page.Example Brand
featureBulletsFeature bullets from the detail page.["Bluetooth 5.3", "USB-C case"]
descriptionProduct description text.Wireless earbuds with charging case.
imagesDetail-page image URLs.["https://example.com/image1.jpg"]
imageCountNumber of collected images.5
breadcrumbsCategory breadcrumb trail.["Electronics", "Headphones", "Earbud Headphones"]
categoryCategory text from the product page.Earbud Headphones
bestSellersRankBSR entries from the detail page.[{ "rank": 12, "category": "Earbud Headphones" }]
availabilityAvailability text from the product page.In Stock
soldByBuybox seller or merchant.Example Seller
shipsFromShipping origin.Amazon
brandStoreUrlBrand store link, when present.https://www.amazon.com/stores/...
hasAplusContentIndicates A+ content presence.true
variationsVariation data such as color or size.[{ "theme": "Color", "values": ["Black"] }]
productDetailsKey-value technical details from the product page.{"Connectivity": "Bluetooth"}
scrapedAtTimestamp for the record.2026-06-19T00:00:00.000Z
_warningsRecord-level notes captured during collection.["detail page partial"]

Illustrative output record

{
"recordType": "product",
"asin": "B0EXAMPLE12",
"title": "Wireless Earbuds",
"url": "https://www.amazon.com/dp/B0EXAMPLE12",
"marketplace": "US",
"searchQuery": "wireless earbuds",
"searchUrl": "https://www.amazon.com/s?k=wireless+earbuds",
"sourceType": "search",
"page": 1,
"positionOnPage": 1,
"organicRank": 1,
"globalPosition": 1,
"isSponsored": false,
"price": 39.99,
"listPrice": 49.99,
"currency": "USD",
"discountPercent": 20,
"rating": 4.6,
"reviewCount": 18234,
"detailScraped": true,
"brand": "Example Brand",
"featureBullets": [
"Bluetooth connectivity",
"Charging case included"
],
"description": "Example product description.",
"images": [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg"
],
"breadcrumbs": [
"Electronics",
"Headphones",
"Earbud Headphones"
],
"bestSellersRank": [
{
"rank": 12,
"category": "Earbud Headphones"
}
],
"availability": "In Stock",
"soldBy": "Example Seller",
"shipsFrom": "Amazon",
"scrapedAt": "2026-06-19T00:00:00.000Z"
}

How it works

The actor uses two phases in one run:

  1. Search Amazon by keyword or by Amazon search/category URL.
  2. Optionally enrich each product by loading its /dp/ detail page and merging the result into the same row.

The live contract uses a CheerioCrawler with a session pool and proxy handling that prefers residential traffic and falls back to datacenter when needed. The dataset keeps search rank, sponsored placement, pricing signals, and detail-page fields together, which makes it straightforward to sort, filter, and pass downstream.

Handling verified anti-bot blocks

The default route remains the least-cost standard proxy path. When it returns zero products after a retry-exhausted classified 403, 429, 5xx, robot-check, or soft-block response, useUnblockerFallback: true retries at most two unique search seeds once through Apify Unblocker. This protects normal runs from a broad smart-proxy fan-out while giving an isolated blocked run a bounded recovery path. Set it to false if you want to use only the selected proxy route.

For a deliberately full-Unblocker run, select Apify's UNBLOCKER proxy group:

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["UNBLOCKER"]
}
}

Unblocker is not a claim that every Amazon request can be bypassed. It chooses the best country by default and is billed separately by Apify per successful request; check the live proxy pricing for the account before large runs. The actor accepts the valid application/octet-stream HTML response that Unblocker can return, applies a bounded 1–10 second cooldown before retrying an Amazon block or empty page, and exposes only a safe proxyRoute label, fallback counts, and bounded page-category diagnostics in OUTPUT and RUN_SUMMARY.

Pricing

This actor uses Pay per event plus Apify platform usage. Open the live Pricing tab on the actor page for the current charges and the platform usage components.

The event model is based on the work performed:

  • actor start
  • product found
  • product detail enriched, when detail-page enrichment is collected

Example in words: if a run returns twenty products and detail enrichment is enabled for each returned product, the execution includes a product-found event for each product, plus a product-detail-enriched event for each product whose detail page is collected. The live Pricing tab shows the current amounts and the final breakdown.

Use with AI agents (MCP)

This actor is available as an Apify Actor usable through Apify MCP. It lets an agent search Amazon by keyword or Amazon search/category URL and receive structured product records with optional detail-page enrichment.

Precise tool description: search Amazon across the configured marketplace, collect product rows from search results, and enrich those rows with product detail data when enrichDetails is enabled.

Exact Actor identity: khadinakbar/amazon-product-search-scraper

Search Amazon for "wireless earbuds" in the US marketplace, return the first 20 products with detail enrichment enabled, and summarize the results by title, price, rating, review count, organic rank, and brand. Keep sponsored placements in the dataset and mark which rows were enriched.

Output interpretation:

  • organicRank shows the organic position.
  • globalPosition shows the overall position across the run.
  • isSponsored marks ad placements.
  • detailScraped shows whether the detail page was collected for the row.
  • searchQuery, searchUrl, and marketplace preserve provenance.
  • maxSearchPages controls how many search pages are explored per seed.
  • maxResults sets the overall product cap and therefore the cost cap.
  • When enrichDetails is on, each returned row can include product-page fields from the detail page.

JavaScript Apify API example

import { ApifyClient } from 'apify-client';
const APIFY_TOKEN = process.env.APIFY_TOKEN;
const client = new ApifyClient({
token: APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/amazon-product-search-scraper').call({
searchQuery: 'wireless earbuds',
country: 'US',
maxResults: 10,
enrichDetails: true,
});
const dataset = await client.dataset(run.defaultDatasetId).listItems();
console.log(dataset.items);

Best results and outcome guidance

Use searchQuery when you want one topic in one run. Use searchQueries when you want several topics to share one dataset. Use startUrls when you already have a search-result page or category page and want the actor to collect products from that exact source.

For a focused run:

  • Align country with the Amazon marketplace you want to analyze.
  • Set includeSponsored based on whether you want ad placements in the same dataset.
  • Use maxSearchPages to shape how deep the run goes into the result set.
  • Keep enrichDetails on when you want brand, bullets, images, BSR, buybox seller, breadcrumbs, and variations.
  • Lower maxResults when you want a smaller, tighter product set.

Continue the workflow

Design note

I found that the output contract always requires recordType, asin, and scrapedAt, which gives every row a stable identity and timestamp even when other fields are empty.

FAQ

Can I start from a keyword and a marketplace at the same time?

Yes. Use searchQuery or searchQueries together with country to choose the marketplace for keyword searches.

Can I paste an Amazon search page URL?

Yes. startUrls accepts Amazon search-result and category URLs, and the marketplace is read from each URL's domain.

What records end up in the dataset?

One record per returned product. The dataset is centered on recordType: "product" with one row per ASIN.

How do I connect discovery to deeper product research?

Use this actor first to discover products, then route selected records into a downstream actor such as Amazon Product Details Scraper.

How can I keep search runs focused?

Use maxResults to cap the total number of products and maxSearchPages to limit how deep each seed is explored.

Responsible use

Use this actor for public Amazon search and product-page data in a way that follows applicable laws, Amazon's terms, and your own data-handling obligations. Review how you store, transform, and republish scraped content, especially when product descriptions, images, or seller data are involved.