Amazon Mexico Scraper - Products, Prices, Ratings & Images
DeprecatedPricing
from $2.40 / 1,000 product scrapeds
Amazon Mexico Scraper - Products, Prices, Ratings & Images
DeprecatedScrape Amazon Mexico (amazon.com.mx) product listings by keyword or ASIN. Extracts title, price, rating, review count, images, category, and product URL. Fast HTTP scraping — no browser needed.
Pricing
from $2.40 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
deusex machine
Maintained by CommunityActor stats
0
Bookmarked
18
Total users
5
Monthly active users
5 days ago
Last modified
Categories
Share
Amazon Mexico Scraper
Extract product data from Amazon Mexico (amazon.com.mx) by keyword search or direct ASIN. No API key, no account, no browser required.
What data does it extract?
| Field | Description |
|---|---|
asin | Amazon product ID |
title | Full product title |
price | Current price in MXN |
originalPrice | Struck-through list price. 0 means Amazon showed no list price (not on offer / unknown), not a free product |
discount | Discount percentage (e.g. 15%) |
rating | Average customer rating (0–5) |
reviewCount | Number of customer reviews |
sellerName | Name of the seller |
brand | Product brand |
isPrime | Amazon Prime eligible (true/false) |
availableQuantity | Units in stock |
thumbnail | Product image URL |
url | Direct link to the product page |
scrapedAt | ISO timestamp of extraction |
🎯 Use cases
- Price monitoring — track competitor prices daily
- Market research — analyze product categories, ratings, and sellers
- Inventory tracking — monitor stock levels and availability
- Lead generation — find top-rated products and sellers in any niche
- E-commerce intelligence — compare prices across categories
🚀 How to use
Search by keyword
{"searchKeywords": ["iphone", "laptop gaming", "audífonos bluetooth"],"maxProducts": 100,"includeDetails": true}
Search by ASIN
{"asins": ["B0GQVJL6RT", "B0FQG2KYJF"],"includeDetails": true}
Fast mode (search page only, no product visit)
{"searchKeywords": ["zapatillas nike"],"maxProducts": 200,"includeDetails": false}
📥 Input
| Parameter | Type | Default | Description |
|---|---|---|---|
searchKeywords | array | — | Keywords to search (e.g. "iphone") |
asins | array | — | Product ASINs or full Amazon URLs |
maxProducts | integer | 50 | Max products per keyword (0 = unlimited) |
includeDetails | boolean | true | Visit each product page for full data |
📋 Output example
{"asin": "B0CLN4B613","title": "Apple iPhone 15 128GB Azul Desbloqueado (Reacondicionado) Esim","price": 7999,"originalPrice": 8499,"discount": "6%","rating": 4.0,"reviewCount": 797,"sellerName": "FontasticMX","brand": "Amazon Renewed","isPrime": true,"availableQuantity": 5,"thumbnail": "https://m.media-amazon.com/images/I/41aApj0ACOL._AC_UL320_.jpg","url": "https://www.amazon.com.mx/dp/B0CLN4B613","scrapedAt": "2026-03-27T22:57:40.000Z"}
⚡ Performance
- ~10 seconds for 10 products with full details
- ~50 products per search page extracted (one row per actual search result, measured 2026-09-01 on two live result pages: 50 and 52)
- Runs entirely on Apify infrastructure — no setup needed
💵 What you pay for
Billing is one charge per product row in the dataset, plus the Actor start event. There is no hidden multiplier and no charge for pages fetched:
maxProducts: Nnever produces more than N rows per keyword.- A product page that could not be read produces no row, so it costs nothing.
- The same ASIN passed twice in
asinsproduces one row. - A run that Amazon blocked end to end fails and produces no rows, instead of finishing green and empty.
📝 Changelog
0.6
reviewCount,originalPriceanddiscountnow work in detail mode too. The 0.4 and 0.5 fixes only reached the search-page parser. On a product page amazon.com.mx writes the review count asaria-label="2,642 Opiniones"(visible text just(2,642)) and the list price underclass="a-price a-text-price apex-basisprice-value", neither of which the old patterns matched — soincludeDetails: true, the default, returnedreviewCount: 0andoriginalPrice: 0on every single record. Verified against a live page: the same ASIN now reports identical price, list price, discount, rating and review count on both paths.- Rows with no readable data are no longer published. A product page that loaded but
could not be parsed used to be pushed as an empty record, and every dataset item is billed.
A record with no title and no price is now skipped. A repeated ASIN in the
asinsinput is also skipped, so the same product is never charged twice in one run. maxProductsis now a hard limit. Products were processed in batches of 8 and the limit was only checked at the batch boundary, so a run asking for 5 products delivered 8, and one asking for 9 delivered 16. Every extra record was billed. The limit is now enforced both when selecting the batch and again before each record is published, on theincludeDetails: trueandfalsepaths alike.maxProducts: 0still means unlimited.- A blocked run now fails instead of finishing green and empty. Only a challenge page counted as a block, so when Amazon refused with HTTP 503 (its usual bot wall), 429 or 403, the run ended as a success with zero products and the customer paid for it. Those status codes now count as refusals, and a run that never managed to read a single page fails rather than reporting an empty result. A search that legitimately has no matches still succeeds with 0 products — reading at least one page is what separates the two cases.
0.5
- Search results are now parsed block by block. The previous parser ran a global
findallper field over the whole page and joined the results by position, so a product could be given another product's price, list price or review count whenever the per-field match counts differed (measured on real pages: 78 price matches for 60 products). Every field is now read from its owndata-component-type="s-search-result"container, and the ASIN comes from that container'sdata-asininstead of a page-wide scan of/dp/links. Measured against two real result pages: price, original price and review count went from 0/96, 2/96 and 8/96 correct to 120/120, and the 85 records that did not correspond to any search result are gone. originalPriceno longer repeatspricewhen there is no list price. It used to default to the current price, which asserted "this product's list price equals what it sells for" on 30 of 120 products where the page said no such thing. It is now0when Amazon shows no struck-through price. This is a behaviour change for consumers: treatoriginalPrice == 0as "not on offer / unknown", not as a free product.- Fewer but correct records per page. A search page now yields ~120 rows instead of ~181, because the extra 61 were duplicates and non-result ASINs.
0.4
- Fixed
reviewCountalways returning 0. amazon.com.mx labels reviews asclasificaciones(aria-label="20 clasificaciones"), notcalificaciones, so the old pattern never matched a single review on the Mexican marketplace. Both the search-page and the product-page parsers now read the real label. - Fixed fabricated discounts in
originalPrice/discount. The list price was read from thea-price a-text-priceclass, but on .mx that same class also wraps the monthly installment ($3,682.56 x 12 meses). Extraction now requiresdata-a-strike="true", so only a genuine struck-through list price is used, and the cents are no longer dropped.
❓ FAQ
Does it require an Amazon account? No. It scrapes public product pages without any login.
Does it work for all categories? Yes — electronics, clothing, home, sports, beauty, books, and more.
How many products can I scrape? Amazon shows up to ~400 results per search query (20 pages). For unlimited volume, use multiple keywords.
Is the data accurate? Prices and availability reflect real-time data at the moment of scraping.