Bodega Aurrera Scraper - Products, Prices & Stores (Mexico)
Pricing
from $15.00 / 1,000 products
Bodega Aurrera Scraper - Products, Prices & Stores (Mexico)
Scrape Bodega Aurrera Mexico products and prices by keyword, category or product link, priced for a postal code or store.
Pricing
from $15.00 / 1,000 products
Rating
0.0
(0)
Developer
Mary Lou
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Bodega Aurrera Scraper
Scrape products and prices from Bodega Aurrera Mexico (bodegaaurrera.com.mx), priced for the store you choose:
- search by keyword
- scrape whole categories
- track a fixed list of products by their links
Pick stores by postal code (the nearest store, or the nearest 10) or by store number. Every record says whose price it is: the chosen store's own shelf price (store-verified), or the website's general online price for products shipped from a warehouse or sold by a marketplace seller.
For every product you get the name, brand, size and pack count, the barcode (EAN/UPC), the price, the was price and saving, the unit price, stock, the seller, the category, the image and the product's link.
No login, no account.
What you can do with it
- Competitive price intelligence: Bodega Aurrera's prices at the stores that compete with yours, e.g. every Bodega in Mérida
- Price and promotion tracking: run it daily and compare; rollbacks ("Rebaja") come with the was price and the saving
- Assortment analysis: which products each store carries, in stock or not
- Basket monitoring: the same product links priced at many stores
- Retail data feeds: clean JSON, CSV or Excel for your BI system
How to scrape Bodega Aurrera
1. Enter Search terms (leche, aceite), paste Bodega Aurrera
links (categories, searches, products), or both.
2. Enter Postal codes (97000 for Mérida) or Store IDs
(2029). Leave both empty for the website's default prices.
3. Set Max products, then press Start.
{"searchTerms": ["leche", "aceite", "arroz"],"startUrls": ["https://www.bodegaaurrera.com.mx/content/lacteos/120006","https://www.bodegaaurrera.com.mx/ip/Leche-Santa-Clara-deslactosada-caja-con-6-pzas-1-l-c-u/00750105536751"],"postalCodes": ["97000"],"storesPerPostalCode": 3,"maxItems": 5000}
What each input gives
| You give | You get |
|---|---|
| A search term | Every product the site's search finds for it at each store, in the site's order (position), plus the store's own products the site's pages skip |
A category link (/content/..., /browse/...) or id | Every product in the category at each store |
A product link (/ip/...) or id | That product at each store, when the store carries it |
| A postal code | The nearest store (or several: Stores per postal code), looked up with Bodega's own store finder. The STORES record lists every store near the code with its number, address, distance and hours |
| A store number | That store |
| No store | The website's default prices (store 3874, Coyoacán, CDMX) |
Every search, category and product list runs once per store. A product found by several searches at one store appears once for that store.
Output
One row per product per store. Export as JSON, CSV, Excel, XML or RSS. The dataset has views for an overview, prices by store, and the catalog.
{"product_id": "00750105536751","barcode": "7501055367511","barcode_type": "EAN-13","name": "Leche Santa Clara deslactosada caja con 6 pzas 1 l c/u","brand": "Santa Clara","size": "1 l","size_value": 1.0,"size_unit": "l","pack_count": 6,"price": 153.0,"currency": "MXN","was_price": 171.0,"savings": 18.0,"price_scope": "store","store_verified": true,"store_id": "2029","store_name": "Ba Merida Itzaes","store_postal_code": "97000","store_city": "Merida","store_state": "YUC","fulfillment": [{"type": "PICKUP", "store_id": "2029", "date": "2026-11-06T00:00:00.000Z"}],"availability": "IN_STOCK","in_stock": true,"seller_name": "Walmart.mx","sold_by_bodega": true,"url": "https://www.bodegaaurrera.com.mx/ip/Leche-Santa-Clara-deslactosada-caja-con-6-pzas-1-l-c-u/00750105536751","image_url": "https://i5-mx.walmartimages.com/asr/81b1043e-4975-4553-8e7a-bdf861d96321.8e50c8f2eb38fe4be867f5750a6f0883.jpeg","category_path": ["Lácteos", "Leche", "Leche Deslactosada"],"flags": ["Rebaja"],"source_type": "search","source": "leche","position": 1,"scraped_at": "2026-11-05T19:58:52Z"}
Store-verified or website price
price_scope | Meaning |
|---|---|
store | The chosen store sells the product at this price, as the site itself confirms. store_verified is true |
online | The product ships from a warehouse or a marketplace seller: the website's general price, the same whatever the store |
website_default | No store was chosen: the price the website shows a visitor without a location |
Turn off Include online-only offers to keep only the store's own products.
| Field | Notes |
|---|---|
barcode, barcode_type | The barcode as printed on the pack: EAN-13, UPC-A or EAN-8. Empty for produce and products weighed in store, which carry a scale label instead |
size, size_value, size_unit, pack_count | Read from the name: 6 pzas ... 1 l is 6 x 1 l. A count without a measure (30 piezas) is the size, in pza |
price, was_price, savings, unit_price | Mexican pesos. Products sold by weight are priced per kg |
store_* | The store the record was priced for |
fulfillment | Pickup or delivery, from which store or warehouse, and the date the site promises |
availability, in_stock | Stock at the store. Out-of-stock products keep their price |
seller_name, sold_by_bodega | Walmart.mx for Bodega's own products, otherwise the marketplace seller |
category_path, category_path_ids | The product's category; each id works as a category link |
source_type, source, position | What found the product and its rank there. position is empty for products found while completing a listing; price_band then says which price range found it |
Complete listings, with proof
Bodega Aurrera's own pages skip products: they show 40 per page but step through 44, and their order shifts between requests. In tests the site's pages listed 79% of a large category (Lácteos, 658 of 834).
The scraper pages each listing the way the site does (keeping each product's rank), then completes it: it splits the listing by price, and by brand where one price holds too many, until every piece fits on a single page, which always holds everything it counts. Then it reads the whole listing four more times in different orders (cheapest first, dearest first, newest, best sellers), because the site's answers shift from one request to the next.
Every run's SUMMARY shows, for each search and category at each store,
the site's own count, the products found, and how many the site's own full
listings showed during the run: every one of those is in your dataset.
In tests on a whole store's grocery catalogue (11,000 products), nothing the
site listed was missed. The site also counts some products it never shows
anyone (Bebés: counts 1,300, lists 1,213); SUMMARY reports those as
countedButNotListed.
For a search, completeness covers the store's own products. Online offers in a search are as the site lists them: with a price filter the site's search reaches into its whole marketplace, so there is no fixed list to complete. Categories are completed whole, online offers included.
Turn off Complete listings for the site's pages alone, with fewer requests.
Reliable on big runs
- Inputs are read forgivingly. Links in any form, bare ids, postal codes
written
C.P. 97000, store numbers in a sentence. Anything that cannot be read is skipped with a note in the log. - Refusals are retried. A refused request moves to a new IP, then to Apify's Unblocker and a Mexican residential proxy when your plan has them. Jobs still refused at the end get a second pass.
- Survives site updates. When Bodega's site ships a new version, the scraper reads the new query from the site itself and carries on.
- No failed runs for blocks. If the site refuses everything, the run ends normally and its status message says why. Progress is saved every 30 seconds.
Cost
$25 per 1,000 products, plus Apify platform usage. The same price on every Apify plan, and no scraper charge for runs that find nothing.
You pay per row in the dataset: one product priced at one store, so the same product at nine stores is nine rows. Requests are not charged: completing a listing costs only the products it adds.
Platform usage is billed by Apify at your plan's own rate, separately from the scraper charge. It stays small because the scraper reads the site's own data with plain requests through datacenter proxies, with no browser.
| What you scrape | Scraper charge | + Platform usage |
|---|---|---|
| 100 products | $2.50 | under $0.01 |
| One department at one store: Bebés, 1,213 store products | $30.33 | ~$0.01 |
| One store's whole grocery catalogue: ~11,000 store products | ~$274 | ~$0.12 |
Set Max products, or a maximum cost per run, to cap any run.
FAQ
Do I need a Bodega Aurrera account? No. The scraper reads what any visitor sees, without signing in.
How do I find a store's number? Run it once with your postal code. The STORES record in the run's storage lists every Bodega Aurrera store near the code, whatever its format (Ba Bodega Aurrera, Mb Mi Bodega, ...), with its number, address and distance. For Mérida's 97000 that is nine stores.
Are prices the same in every store? Mostly, not always. Some products differ in price or availability by store, and each store has its own assortment. That is why every record carries its store.
How long does it take? Five searches at all nine stores in Mérida (8,351 records) took about 4 minutes; one search at one store takes seconds.
Which proxy should I use? The default, Apify's datacenter proxy.
Can I run it on a schedule? Yes. Schedule the same input daily or weekly, and compare the datasets.
Can I get the data in my own system? Yes: through Apify's API, webhooks, or integrations (Make, Zapier, n8n, Google Sheets, S3).