Coop Switzerland Scraper — Grocery Prices & Promotions
Pricing
from $1.20 / 1,000 result scrapeds
Coop Switzerland Scraper — Grocery Prices & Promotions
Scrape products, prices, unit prices, promotions, ratings and images from coop.ch, Switzerland's #2 grocery retailer. Search any keyword and export clean structured grocery data.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape products, prices, unit prices, promotions, ratings, and images from coop.ch, Switzerland's #2 grocery retailer. Search any keyword and export clean, structured grocery data.
Why use this actor?
Coop is one half of the Swiss grocery duopoly (alongside Migros), with national coverage and its own online catalogue, private-label brands, and weekly promotions. Its prices and promo data are useful for price monitoring, competitor benchmarking, product matching, and market research. This actor turns a keyword search into a structured dataset you can drop straight into a spreadsheet, database, or price-comparison pipeline. Every product comes with its Coop product ID, current price, and — when the item is discounted — the original price and the promotion label shown on the site.
How to scrape Coop Switzerland data
- Enter a search query in German or French (for example
milch,kaffee,wein,lait,fromage). - Set Max Results to how many products you want. Coop's search endpoint returns every matching product in a single response (no crawling needed), so this simply caps how many rows you get back.
- Provide a Bright Data API key (see "Anti-bot" below).
- Run the actor. Results land in the dataset and can be exported as JSON, CSV, Excel, or via the API.
Input
| Field | Type | Required | Description |
|---|---|---|---|
searchQuery | String | No | Search keyword in German or French (default: milch) |
maxResults | Integer | No | Maximum products to return (default: 100) |
brightDataApiKey | String | Yes | Bright Data Web Unlocker API key (or set BRIGHT_DATA_API_KEY env var) |
proxyConfiguration | Object | No | Kept for compatibility; fetching is handled by Bright Data |
Output
Each result contains:
| Field | Type | Example |
|---|---|---|
name | String | "Milchdrink UHT 1.5%" |
brand | String | "Coop" |
price | Number | 0.95 |
currency | String | "CHF" |
originalPrice | Number | 24.95 (only when on promotion) |
pricePerUnit | String | "0.19/100ml" |
discount | String | "Online 30%" (only when on promotion) |
quantity | String | "500ml" |
sku / productId | String | "6849615" |
inStock | Boolean | true |
rating | Number | 4.5 |
reviewCount | Number | 98 |
imageUrl | String | Primary product image URL (largest size) |
imageUrls | Array | All available image sizes |
category | String | "Uht Milk" |
categories | Array | ["Food", "Dairy Products Eggs", "Milk", "Uht Milk"] |
url | String | Full product page URL |
scrapedAt | String | ISO 8601 timestamp |
Example output
{"name": "Milchdrink UHT 1.5%","brand": "Coop","price": 0.95,"currency": "CHF","url": "https://www.coop.ch/en/food/dairy-products-eggs/milk/uht-milk/milchdrink-uht-15/p/6849615","scrapedAt": "2026-08-21T19:58:46.630Z","pricePerUnit": "0.19/100ml","quantity": "500ml","sku": "6849615","productId": "6849615","inStock": true,"rating": 4.5,"reviewCount": 98,"imageUrl": "https://www.coop.ch/img/produkte/310_310/RGB/6849615_001.jpg","category": "Uht Milk","categories": ["Food", "Dairy Products Eggs", "Milk", "Uht Milk"]}
Anti-bot: Bright Data Web Unlocker required
coop.ch is protected sitewide by DataDome — a plain HTTP request to the homepage or any internal API returns HTTP 403 with a x-datadome: protected header, and this holds for the search page and every internal search API endpoint we tested directly. To fetch pages reliably, this actor uses the Bright Data Web Unlocker (zone web_unlocker1).
You need a Bright Data account with a Web Unlocker zone. Provide the API key either:
- in the input field Bright Data API Key, or
- as the environment variable
BRIGHT_DATA_API_KEY.
How it works
coop.ch's search results page is mostly a server-rendered shell — the product grid itself starts as skeleton placeholders and is filled in by a client-side request to a JSON search API. This actor calls that same API directly through Bright Data, so it gets the full structured product data (name, brand, price, promo, rating, images, category path) in a single request per search, without needing to parse HTML product tiles or run a browser.
Because that one request returns every matching product for a keyword (Coop's search does not require pagination the way most storefronts do), a typical run — even for hundreds of results — is a single Bright Data call. That keeps both the cost and the run time low.
Cost estimate
Bright Data Web Unlocker charges per request. Because a single request returns the full result set for a search (from a handful of matches to several hundred for a broad keyword like "bio"), the anti-bot cost per product is negligible — well under a cent per hundred results. Apify platform usage adds a small amount of compute time on top; a typical run completes in a few seconds. The run's usage cost only settles after the run status reports SUCCEEDED — reading the dataset mid-run undercounts the actual cost.
Limitations
- Prices and availability are national Coop online-catalogue values and may differ from a specific store.
inStockreflects the "orderable online" signal from the search API; a small number of items can be listed but not orderable online even when a physical store carries them.- A Bright Data Web Unlocker key is required; without it the actor cannot fetch pages.
- Data is scraped from the public website and may change without notice.
- Respect the website's terms of service and use responsibly.
Related Scrapers
- Migros Scraper — Switzerland's #1 grocery retailer, the other half of the duopoly
- Tutti.ch Scraper — Swiss classifieds marketplace
- Lidl Scraper — European discount grocery prices
- Local.ch Scraper — Swiss business directory
Need this data on a schedule, or a custom version?
We run this scraper as a managed service for businesses: scheduled runs, deduplication, delta detection, and delivery to your inbox, Google Sheets, or API — maintenance included. We can also build a custom version with your exact fields and filters, or combine multiple sources into one feed.
See studioamba.dev/services or email hello@studioamba.dev for a free data sample. We maintain 300+ European web scrapers and answer within one business day.