Initial release. Pay-per-event Amazon search-results scraper — a cheaper, more capable drop-in for automation-lab/amazon-scraper.
- Input:
searchQueries and/or startUrls, marketplace (US/UK/DE/FR/ES/IT/CA/JP/IN/AU/MX), sort (relevance/price_low/price_high/avg_rating/newest), maxProductsPerSearch, maxSearchPages (1–20 accepted for drop-in parity, internally capped at 7), maxRequestRetries, proxyConfiguration.
- Output:
asin, title, url, price, priceString, listPrice, listPriceValue, discountPercent, onSale, currency, rating, reviewCount, availability, sellerName, bestsellerRank, thumbnail, isPrime, isSponsored, brand, marketplace, pageNumber, searchQuery, scrapedAt.
sort maps to Amazon's &s= rank parameter (relevance omits it); applied to keyword seeds and carried through pagination. URL seeds keep their own ordering.
availability, sellerName, bestsellerRank parsed best-effort from search cards — null when not confidently present (mirrors the brand convention).
- Run-scoped deduplication by
asin — duplicate products across overlapping keyword searches or sponsored-then-organic placements are billed at most once.
- Charges
product_scraped ($0.003) only after pushData succeeds — ~25% cheaper than automation-lab/amazon-scraper ($0.004/product, Free tier).
- Marketplace-aware currency in output rows; marketplace-aware
Accept-Language header in pre-nav hooks for correct localization per request.
- Residential proxy default; HttpCrawler with low concurrency (5) and session pool to ride Amazon's bot detection.
extractionPath === 'none' triggers session rotation on captcha-style 200s.
- European decimal-comma (
1.299,00 €) and Japanese yen (¥98,000) prices parsed correctly.
Actor.on('aborting') flushes state and exits within 1s so user cost ceilings are honored.