REWE Scraper — German Supermarket Products & Prices
Pricing
Pay per usage
REWE Scraper — German Supermarket Products & Prices
Scrape products, brands, categories, images and prices from shop.rewe.de, REWE's German online supermarket. Search by keyword, paginate, get clean JSON. No login or cookies.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape product data from shop.rewe.de, the online supermarket of REWE — one of Germany's largest grocery chains. Search by keyword and get clean, structured JSON with product names, brands, categories, article numbers, images, unit sizes and prices.
No login. No cookies. No browser automation. The actor talks to REWE's own product API directly, so it is fast and reliable.
What this actor does
Give it a German search term (for example milch, kaffee, schokolade, bio, nudeln) and it returns every matching product from the REWE online shop, paginated up to your maxResults limit. Each product comes back as a flat JSON record ready to load into a spreadsheet, database or price-monitoring pipeline.
How to scrape REWE data
- Open the actor and enter a Search Query — a German keyword such as
milch,kaffeeorschokolade. - Set Max Results to how many products you want (default 50).
- (Optional) Enter a Market ID to pull market-specific prices — see the pricing note below.
- Click Start.
- When the run finishes, download the dataset as JSON, CSV or Excel from the Storage tab.
That is the whole flow. The actor handles pagination automatically and stops once it has collected maxResults products or run out of matches.
Example input
{"searchQuery": "kaffee","maxResults": 40,"proxyConfiguration": { "useApifyProxy": true }}
Example with prices (market supplied)
{"searchQuery": "milch","maxResults": 100,"marktId": "<your-valid-rewe-market-id>","zip": "50667","proxyConfiguration": { "useApifyProxy": true }}
Output fields
Each item in the dataset has these fields:
| Field | Type | Description |
|---|---|---|
name | string | Full product name, e.g. Hochland Kaffee Holanka Crema 1kg |
brand | string | Brand / manufacturer, e.g. Hochland Kaffee |
sku | string | REWE article number (the nan), e.g. 1438079 |
ean | string | EAN barcode when available (empty for search results) |
price | number | null | Current retail price in EUR (requires a valid Market ID) |
currency | string | Always EUR |
unit | string | Unit size from the price label, e.g. 1 l |
unitPrice | string | Base price (Grundpreis), e.g. 1 l = 0,99 € |
promotionPrice | number | null | Discounted price when on offer |
category | string | null | Full category path, e.g. Kaffee, Tee & Kakao/Kaffee/Bohnenkaffee ganze Bohnen |
tags | array | Product flags such as Bio, Gekühlt, Regional |
url | string | Link to the product detail page |
imageUrl | string | null | Product image URL (img.rewe-static.de) |
inStock | boolean | Whether the product is currently listed |
scrapedAt | string | ISO timestamp of when the record was scraped |
Example output item
{"name": "Hemme Milch Frische Vollmilch 3,7% 1l","brand": "Hemme Milch","sku": "1042422","currency": "EUR","category": "Käse, Eier & Molkerei/Milch/Frischmilch","tags": ["Gekühlt", "Regional"],"url": "https://shop.rewe.de/p/hemme-milch-frische-vollmilch-3-7-1l/1042422","imageUrl": "https://img.rewe-static.de/1042422/8646730_digital-image.png","inStock": true,"scrapedAt": "2026-06-24T10:00:00.000Z"}
A note on prices
Prices on shop.rewe.de are market-specific — REWE shows different prices and availability depending on which delivery or pickup market you are assigned to. The product search API returns full catalog metadata (name, brand, category, image, article number, URL) for every product without a market, but the price fields only populate when a valid REWE Market ID is supplied in the marktId input.
If you leave marktId empty, the actor returns the complete product catalog for your search term with all metadata, and the price / unitPrice / promotionPrice fields stay empty. This is ideal for catalog research, assortment analysis, brand tracking and matching products across retailers.
To pull live prices, supply a marktId that belongs to a real REWE delivery or pickup market. The zip field is a convenience label so you can record which postal code the prices belong to.
Common search terms
REWE is a German shop, so use German keywords:
milch— milkkaffee— coffeeschokolade— chocolatenudeln— pastabio— organic productskäse— cheesebier— beerwasser— waterbrot— breadjoghurt— yoghurt
How it works
The actor calls REWE's public product search endpoint (shop.rewe.de/api/products) over the Apify Proxy, follows the redirect to the shop API, parses the JSON response and normalises each product into the flat schema above. It paginates through result pages until it reaches your maxResults limit. No headless browser is used, which keeps runs fast and cheap.
Proxy
The default Apify Proxy works fine — the REWE products API is not geo-locked. The Apify datacenter pool has no Germany-specific group, so do not set the proxy country to DE on the datacenter group (it returns 407). If you specifically need a German exit IP, switch the proxy group to RESIDENTIAL with country DE.
Use cases
- Grocery price monitoring — track REWE prices over time for selected products.
- Assortment / catalog research — see which products and brands REWE lists in a category.
- Competitive analysis — compare REWE against EDEKA, Kaufland and other German grocers.
- Product matching — build a cross-retailer product map using names, brands and article numbers.
- Market research — analyse brand presence, organic (
Bio) share, regional products and more.
Notes & limitations
- The search payload does not include EAN barcodes, so
eanis usually empty. Usesku(the REWE article number) as the stable product identifier. - Prices require a valid Market ID (see the pricing note above).
- The actor fails the run if zero products are returned, so a
SUCCEEDEDrun always means you got data.
Disclaimer
This actor scrapes publicly available data from shop.rewe.de for legitimate research and price-comparison purposes. Respect REWE's terms of service and applicable laws when using the data.