Chile Supermarket Prices Scraper
Pricing
from $0.84 / 1,000 item extracteds
Chile Supermarket Prices Scraper
Search Jumbo and Santa Isabel Chile grocery catalogs and export current CLP prices, brands, availability, product URLs, and normalized cross-store match keys.
Pricing
from $0.84 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Search current Chile supermarket prices at Jumbo and Santa Isabel. Supply grocery terms in Spanish and receive typed product records with identity, brand, current CLP price, availability, product URL, and a normalized key for comparing like-named items across the two supported catalogs.
The Actor is designed for scheduled grocery basket snapshots, retail analysis, procurement research, spreadsheet exports, and downstream price-change pipelines. It reads public catalog data; it does not place orders or access customer accounts.
What does Chile Supermarket Prices Scraper do?
For every query, the Actor searches each selected supermarket and exports current catalog rows.
It can:
- search Jumbo Chile and Santa Isabel Chile in one run;
- accept up to 20 Spanish product terms;
- search either source alone when you need source-specific data;
- extract displayed product identity, brand, CLP prices, and availability;
- include product, source, and image URLs;
- group like-named products through
matchKey; - flag identities found in both catalogs with
matchedAcrossStores; - limit results per store and query;
- export the default dataset as JSON, CSV, Excel, XML, RSS, or through the Apify API.
Lider and Unimarc are intentionally not supported. Their current extraction routes were not proved for this product, so this Actor does not make unsupported four-chain coverage claims.
Who is this Chile grocery price data for?
- Retail analysts building recurring Chilean grocery baskets.
- Consumer packaged goods teams checking current assortment and shelf-price signals.
- Procurement teams collecting comparable product snapshots.
- Price-comparison sites importing structured catalog records.
- Data teams loading Chilean supermarket data into warehouses or spreadsheets.
- Developers running scheduled price-change workflows with Apify.
Why use this Actor?
Two supported catalogs in one contract
Jumbo and Santa Isabel rows use the same field names, currency, availability values, and timestamps. You do not need to maintain separate parsers.
Comparison-oriented identity
Every record includes a deterministic matchKey based on normalized brand and product name. matchedStores shows where that identity appeared in the current query.
Lightweight public extraction
The Actor reads structured state exposed by each retailer search page. It does not launch a browser, download product media, log in, or require a user-supplied credential.
Honest source boundaries
A match key is a candidate grouping aid, not a guaranteed GTIN-level equivalence. Package sizes and title wording should still be reviewed before making automated purchasing decisions.
What Chile supermarket fields can I extract?
| Field | Description |
|---|---|
query | Input product term that found the row |
store | jumbo or santa-isabel |
productId | Source product or SKU identity |
matchKey | Stable normalized brand/name grouping key |
matchedStores | Selected stores exposing the same match key |
matchedAcrossStores | Whether both stores exposed the key |
productName | Displayed product name |
brand | Displayed brand, or null |
currentPriceClp | Current numeric price in Chilean pesos |
regularPriceClp | List/regular CLP price when exposed, otherwise null |
currency | Always CLP |
availability | in_stock or out_of_stock |
availableQuantity | Public quantity when exposed, otherwise null |
productUrl | Product page on the selected supermarket domain |
sourceUrl | Search page used for extraction |
imageUrl | Public image URL when exposed |
scrapedAt | UTC collection timestamp |
How much does it cost to compare Chile supermarket prices?
This Actor uses pay-per-event pricing:
- Start: $0.0005 once per run.
- Product item: tiered by your Apify plan; the BRONZE price is $0.0014 per saved row.
Only valid rows saved to the default dataset receive an item charge. Failed requests and rejected source objects are not charged as items.
BRONZE examples:
| Saved rows | Actor event charge |
|---|---|
| 10 | $0.0145 |
| 50 | $0.0705 |
| 100 | $0.1405 |
Final live pricing is shown on the Actor page. Apify platform usage may also apply under your plan.
How to compare Jumbo and Santa Isabel prices
- Open the Actor input page.
- Add product terms such as
leche,arroz, andaceite. - Keep both supermarkets selected.
- Set the maximum products per store and query.
- Click Start.
- Open the default dataset and use the
overviewview. - Group rows by
queryandmatchKeyto compare current CLP prices.
Example input:
{"queries": ["leche", "arroz"],"stores": ["jumbo", "santa-isabel"],"maxItemsPerStore": 10}
Input parameters
queries
Required in practice; defaults to leche. Supply one to 20 non-empty Spanish product terms. Duplicate terms are removed.
stores
Choose jumbo, santa-isabel, or both. The default selects both for comparison. Any other value fails validation rather than silently switching sources.
maxItemsPerStore
An integer from 1 to 100. It applies separately to every selected store and query. Jumbo supports multiple 40-item pages. Santa Isabel currently exposes up to 20 items in its public search state, so a higher limit does not invent additional Santa Isabel records.
Output example
A current row has this shape:
{"query": "leche","store": "jumbo","productId": "leche-soprole-natural-1-litro","matchKey": "c68088526c015ae4","matchedStores": ["jumbo"],"matchedAcrossStores": false,"productName": "Leche Soprole Entera Natural 1 L","brand": "Soprole","currentPriceClp": 1150,"regularPriceClp": null,"currency": "CLP","availability": "in_stock","availableQuantity": null,"productUrl": "https://www.jumbo.cl/leche-soprole-natural-1-litro/p","sourceUrl": "https://www.jumbo.cl/busqueda?ft=leche","imageUrl": "https://jumbocl.vteximg.com.br/arquivos/ids/527740-250-250/Leche-Soprole-Entera-Natural-1-L.jpg","scrapedAt": "2026-08-27T20:30:00.000Z"}
Prices and assortment can change between runs. Treat the example as a field contract, not as a permanent price quote.
Matching behavior and limitations
matchKey normalizes accents, punctuation, casing, brand, title text, and common pack wording before hashing the result.
This approach is useful for repeatable candidate grouping, but it does not prove exact equivalence when:
- package quantities differ;
- one source abbreviates a flavor or size;
- a product title omits the brand;
- retailer bundles use different wording;
- two products share a similar name.
For high-stakes comparisons, review productName, brand, price, and product URL together. The Actor does not claim barcode matching when a source does not expose a barcode.
Scheduling recurring grocery snapshots
Use an Apify schedule to run the same basket daily or weekly. Each dataset row includes scrapedAt, allowing downstream systems to compare snapshots.
A common workflow is:
- create a Task with a stable basket input;
- schedule it at the desired interval;
- send dataset rows to Google Sheets, Make, Zapier, or a webhook;
- retain prior snapshots in your warehouse;
- compare
store,matchKey, andcurrentPriceClpover time.
The Actor returns current observations. It does not maintain a hidden historical database or send alerts by itself.
Export to spreadsheets and data pipelines
From the dataset page, export CSV or Excel for analyst review. For automated pipelines, use the dataset API or an Apify integration.
Recommended keys:
- deduplicate a snapshot with
store + productId; - compare likely equivalents with
query + matchKey; - order snapshots with
scrapedAt; - preserve
sourceUrlandproductUrlfor auditability.
Run through the Apify API with cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~chile-supermarket-price-comparison/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries":["leche"],"stores":["jumbo","santa-isabel"],"maxItemsPerStore":10}'
To wait and receive dataset items:
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~chile-supermarket-price-comparison/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries":["arroz"],"stores":["jumbo"],"maxItemsPerStore":10}'
Use from JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/chile-supermarket-price-comparison').call({queries: ['café', 'aceite'],stores: ['jumbo', 'santa-isabel'],maxItemsPerStore: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Use from Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/chile-supermarket-price-comparison').call(run_input={'queries': ['pasta'],'stores': ['jumbo', 'santa-isabel'],'maxItemsPerStore': 10,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Connect through MCP
Claude Code setup
Add the Apify MCP server to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/chile-supermarket-price-comparison"
Claude Desktop setup
Use this JSON configuration in Claude Desktop:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/chile-supermarket-price-comparison"}}}
Cursor setup
Add the same mcpServers JSON to Cursor's MCP settings.
VS Code setup
Add the same HTTP server URL to the MCP configuration used by your VS Code AI extension.
Example prompts:
- “Search Jumbo and Santa Isabel for leche and compare current CLP prices.”
- “Export 15 Jumbo arroz products with brand and availability.”
- “Collect a coffee, oil, and pasta basket for my weekly Chile grocery snapshot.”
Reliability and failure behavior
The Actor validates all inputs before requesting source pages. It retries transient timeouts, 429 responses, and temporary 5xx errors with bounded retries.
A changed or challenged page is treated as a failure, not as a successful empty result. This prevents a storefront change from silently producing misleading zero-row snapshots.
No-result searches finish successfully with no rows for that source. Try a broader Spanish product term when a very specific query has no catalog result.
Legality and responsible use
The Actor reads publicly accessible product catalog information. You are responsible for complying with applicable law, retailer terms, contractual obligations, and data-use requirements.
Use conservative schedules, request only the records you need, and avoid attempts to access accounts, checkout flows, or non-public endpoints. Do not use price observations as guarantees of in-store fulfillment.
Troubleshooting
Why did Santa Isabel return fewer than my limit?
Its current public search state exposes up to 20 records per query. The Actor reports the useful exposed set and does not duplicate rows to meet a limit.
Why is matchedAcrossStores false?
The other store may not expose the same normalized brand and title in the returned result window. Search a more specific product term or compare the names manually.
Why did the run fail instead of returning zero records?
The Actor fails when a source response no longer has its expected structured catalog shape. That usually indicates a temporary block or storefront change rather than a genuine empty search.
Can I scrape Lider or Unimarc?
No. This Actor deliberately supports only Jumbo and Santa Isabel. Unsupported store names fail validation.
Does the Actor guarantee in-store stock?
No. Availability reflects the public online offer at collection time and may differ by location or fulfillment context.
FAQ
Does it compare historical prices?
It returns current snapshots. Schedule recurring runs and retain datasets to build history.
Can I search more than one product?
Yes. Supply up to 20 terms. Limits apply separately to each query and store.
Are prices numeric?
Yes. currentPriceClp and available regular prices are numeric CLP values.
Does it download product images?
No. It exports the public image URL without downloading image files.
Is a proxy required?
No automatic paid proxy mode is used. The current implementation accesses the public structured pages directly.
Related automation-lab Actors
For non-Chilean grocery analysis, consider Superstore & No Frills Grocery Prices for Canadian store-scoped products and ASDA Grocery Products & Prices Scraper for UK catalog searches.