Amazon ASINs Scraper avatar

Amazon ASINs Scraper

Pricing

from $2.99 / 1,000 asin records

Go to Apify Store
Amazon ASINs Scraper

Amazon ASINs Scraper

Scrape Amazon product details by ASIN code or direct product URL across supported Amazon marketplaces. Extracts title, price, ratings, review count, availability, images, and optionally customer reviews. Ideal for product research, price tracking, and competitive marketplace analysis.

Pricing

from $2.99 / 1,000 asin records

Rating

0.0

(0)

Developer

w3crawler

w3crawler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Categories

Share

Amazon ASINs Scraper extracts rich, publicly visible Amazon product observations from ASINs or product URLs. It supports the India, US, UK, Germany, Japan, Canada, Australia, and Brazil marketplaces.

The dataset contains product data only. Run metrics and counts are kept in the key-value store; failure details stay in the run logs, so fields such as fieldCoverage, dataQuality, recordId, status, success, request counters, actor metadata, and proxy metadata are not mixed into product rows.

Dataset fields

FieldDescription
asin, title, url, canonicalUrl, sourceUrlProduct identity and reproducible public source URLs
marketplace, country, userLocaleMarketplace context
price, listPrice, offerUrl, sellerPublic offer and seller information; prices contain value and ISO currency
inStock, inStockTextAvailability signal and visible availability text
brand, manufacturer, author, descriptionPublic product identity and description fields
stars, reviewsCount, hasReviews, reviewsLinkRating and review signals
breadCrumbs, features, attributes, productOverviewPublic navigation, bullet, and specification data
thumbnailImage, galleryThumbnails, highResolutionImages, videosCountProduct-scoped public media
reviewsBounded public JSON-LD review summaries when extractReviews is enabled
sourceStructuredData, structuredDataTypesParsed public JSON-LD evidence
pageText, wordCount, htmlLengthBounded page text and response size context
scrapedAtISO timestamp for the observation

The dataset contains only source-backed product observations. A readable product page that exposes no usable product data completes with status: SUCCEEDED and dataStatus: NO_RESULTS; request or input failures with no saved product fail the run, and access boundaries with no saved product use FAILED. If some products were saved before another target failed or was blocked, the run succeeds as SUCCEEDED with dataStatus: PARTIAL and keeps those products. Failure details stay in the run logs; OUTPUT_SUMMARY contains numeric counts only.

Input examples

1. Multiple ASINs with product details

{
"mode": "asin",
"country": "in",
"locale": "en-IN",
"asins": ["B0EXAMPLE1", "B0EXAMPLE2"],
"maxItems": 2,
"includeMedia": true,
"extractReviews": true,
"maxReviews": 5,
"dedupe": true
}

2. Direct product URLs

{
"mode": "productUrl",
"country": "com",
"productUrls": [
"https://www.amazon.com/dp/B0EXAMPLE1",
"https://www.amazon.com/dp/B0EXAMPLE2"
],
"includeMedia": false,
"maxItems": 2
}

3. Developer options and ordinary Apify Proxy

{
"mode": "asin",
"country": "in",
"asins": ["B0EXAMPLE1", "B0EXAMPLE2"],
"requestDelayMs": 800,
"maxConcurrency": 2,
"maxRequestRetries": 3,
"requestTimeoutSecs": 45,
"maxResponseBytes": 20000000,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyCountry": "IN"
}
}

requestTimeoutMs, timeoutSecs, timeoutMs, minDelayMs, pageDelayMs, concurrency, maxRetries, maxBytes, and maxResults are accepted compatibility aliases. Inputs are bounded and unsupported keys are rejected.

Proxy routing is ordinary network routing for reliability or geographic availability. The Actor does not log in, solve CAPTCHAs, spoof fingerprints, rotate stealth identities, bypass access controls, or access private APIs. Amazon challenge pages, explicit HTTP access controls, marketplace redirects, and timeouts are logged and summarized as operational failures; they never create placeholder products or diagnostic dataset rows.

4. Deterministic offline QA

{
"mode": "asin",
"country": "in",
"asins": [
"B0TEST0001"
],
"maxItems": 1,
"includeMedia": true,
"extractReviews": true,
"maxReviews": 5
}

When fixtureFile or fixtureFiles is provided, the Actor parses the bundled HTML fixtures instead of making live requests. This supports deterministic QA runs; standard calls without fixture inputs use live public pages.

Example product output

{
"asin": "B0TEST0001",
"title": "Northstar Stainless Steel Bottle 750ml",
"url": "https://www.amazon.in/dp/B0TEST0001",
"canonicalUrl": "https://www.amazon.in/dp/B0TEST0001",
"sourceUrl": "https://www.amazon.in/dp/B0TEST0001",
"marketplace": "amazon.in",
"country": "in",
"price": { "value": 899, "currency": "INR" },
"listPrice": { "value": 1099, "currency": "INR" },
"inStock": true,
"brand": "Northstar",
"manufacturer": "Northstar Home",
"stars": 4.6,
"reviewsCount": 128,
"hasReviews": true,
"features": ["Food-grade stainless steel", "Leak-resistant lid"],
"thumbnailImage": "https://images.example.com/northstar-bottle-main.jpg",
"galleryThumbnails": ["https://images.example.com/northstar-bottle-main.jpg"],
"highResolutionImages": ["https://images.example.com/northstar-bottle-main.jpg"],
"reviews": [
{
"position": 1,
"reviewer": "Asha",
"rating": 5,
"title": "Keeps water cold",
"body": "The bottle is sturdy and easy to carry."
}
],
"productDataAvailable": true,
"structuredDataTypes": ["Product", "Review"],
"scrapedAt": "2026-09-07T00:00:00.000Z"
}

Local development and validation

npm install
apify validate-schema
apify run --purge --input-file .actor/input.json
npm run validate

The local dataset is written under storage/datasets/default/. OUTPUT_SUMMARY contains run status, numeric counts, and bounded request metrics; failure details stay in the run logs. diagnosticItems is always zero, while diagnosticCount counts operational failures. The Actor preserves input order while processing targets with bounded concurrency.

Use only public pages and comply with Amazon's terms, robots guidance, rate limits, and applicable law.

Run summaries include the required status, runStatus, and dataStatus fields. status and runStatus are SUCCEEDED when source-backed rows were saved or a run completed cleanly with no matches; they are FAILED only when a real failure occurs before any rows are saved. dataStatus is COMPLETE, PARTIAL, NO_RESULTS, or FAILED. Failure details stay in the run logs; key-value summaries retain counts only.