REWE.de Scraper - Prices, Offers & Postal-Code Matching
Pricing
from $1.00 / 1,000 product results
REWE.de Scraper - Prices, Offers & Postal-Code Matching
Scrape REWE Germany (rewe.de) grocery products: current price, was-price and discount when genuinely on offer, brand, category, price per unit, images and tags. Prices match a real postal code you choose. Search keywords or paste product/listing links.
Pricing
from $1.00 / 1,000 product results
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
REWE.de Grocery Scraper
Pull grocery product data from REWE Germany (rewe.de). Search by keyword and/or REWE's own category, brand, and dietary/sourcing filters, or paste product and listing links directly. Prices and offers are matched to a real German postal code you choose, the same way the site itself scopes pricing to your local market.
Why This Scraper?
- Postal-code matched pricing. Give it a German postal code (PLZ) and it resolves your local market before pulling prices, the same step the site itself requires before showing you real numbers.
- Was-price and discount, gated on the site's own signal, never guessed. When a product genuinely carries a reduced price, the original price plus the discount amount and percentage are captured. A full-price product simply carries
originalPrice: null-- nothing is fabricated. - Real site filters. Category, brand, and REWE's own dietary/sourcing quick filters (Bio, Vegan, Regional, New, Gekühlt, Tiefgefroren) -- all verified live against the site's own controls, not guessed.
- Two ways in. Keyword and/or category search, or paste any product or listing link.
- Optional export to your apps. Send results into Notion, Linear, Airtable, or any Apify MCP connector alongside the dataset.
Data You Get
| Field | Example value |
|---|---|
| productId | 1042422 |
| name | Sample Fresh Whole Milk 3.7% 1l |
| brand | Sample Dairy |
| category / categoryPath | Frischmilch, ["Cheese, Eggs & Dairy", "Milk", "Frischmilch"] |
| tags | ["Gekühlt", "Regional"] |
| url | https://www.rewe.de/p/sample-fresh-whole-milk-1042422/1042422 |
| price / currency | 1.29, EUR |
| originalPrice / discountAmount / discountPercent | 1.59, 0.30, 19 |
| isOnSpecial | true |
| pricePerUnit / grammage | 1,29 € / 1l, 1l |
| available | true |
| image / images | ["https://img.rewe-static.de/sample/digital-image.png"] |
| description / ingredients | (when Fetch product detail is on) |
Sample shape: values above are illustrative placeholders, not from a live product.
How to Use
1. Keyword search, first page (default):
{"mode": "search","searchTerm": "milch","zipCode": "50667","maxItems": 20}
2. Category browse, filtered to a brand and dietary tag:
{"mode": "search","categorySlug": "milch","brand": "Alpro","attribute": "VEGAN","zipCode": "50667","maxItems": 50,"maxPages": 5}
3. Paste product or listing links and set your postal code:
{"mode": "url","urls": ["https://www.rewe.de/p/sample-fresh-whole-milk-1042422/1042422"],"zipCode": "50667","fetchDetails": true}
Input Parameters
| Parameter | Type | Description |
|---|---|---|
mode | string | search or url. |
searchTerm | string | Free-text keyword (search mode only). |
categorySlug | string | REWE's own category token, e.g. milch (search mode only). |
brand | string | Exact brand name to keep (search mode only). |
attribute | string | ORGANIC, VEGAN, REGIONAL, NEW, CHILLED, or FROZEN -- REWE's own dietary/sourcing quick filter (search mode only). |
minPrice / maxPrice | number | EUR price band to keep (search mode only). |
urls | array | Product or listing URLs to scrape (url mode only). |
fetchDetails | boolean | Fetch description and ingredient statement from the product detail page. |
maxPages | integer | Cap on result pages per search/URL entry; empty = unlimited. |
maxItems | integer | Cap on total products returned; 0 = unlimited. |
zipCode | string | German postal code REWE uses to match your local market and its prices. |
proxy | object | Apify proxy configuration. A residential connection is required for a reliable run (see below). |
mcpConnectors | array | Optional MCP connectors to export results into (Notion, Linear, Airtable, Apify). |
notionParentPageUrl | string | Notion connector only: page under which item pages are created. |
maxNotifyListings | integer | Cap on items exported to each connector per run. Does not affect the dataset. |
Output Example
{"productId": "1042422","name": "Sample Fresh Whole Milk 3.7% 1l","brand": "Sample Dairy","tags": ["Gekühlt", "Regional"],"url": "https://www.rewe.de/p/sample-fresh-whole-milk-1042422/1042422","hasVariants": false,"freeShipping": false,"categoryId": "175","category": "Frischmilch","categoryPath": ["Cheese, Eggs & Dairy", "Milk", "Frischmilch"],"image": "https://img.rewe-static.de/sample/digital-image.png","images": ["https://img.rewe-static.de/sample/digital-image.png"],"price": 1.29,"currency": "EUR","originalPrice": 1.59,"discountAmount": 0.3,"discountPercent": 19,"isOnSpecial": true,"pricePerUnit": "1,29 € / 1l","grammage": "1l","available": true}
Sample shape: values above are illustrative placeholders, not from a live product.
Send results into your apps (MCP connectors)
Optionally pipe results into the apps you already use through Model Context Protocol (MCP) connectors. Authorize a connector once under Apify, Settings, Integrations, then select it in the mcpConnectors field. Each connector receives a condensed, human-readable summary per product (name plus key fields), while the complete record always stays in the Apify dataset. For Notion, set notionParentPageUrl to the page the item pages should be created under, and use maxNotifyListings to cap how many items are exported per connector per run. Supported connectors: Notion, Linear, Airtable, and Apify. Leave the field empty to skip; it never changes the dataset output.
A note on plans
rewe.de requires a residential connection for a reliable run -- a datacenter or free-tier connection will very likely fail. The default proxy configuration already selects a residential connection in Germany; no extra setup is needed on any paid plan with residential proxy access.