a
Pricing
from $5.00 / 1,000 results
Go to Apify Store
Danish Grocery Store Scraper
Scrapes product data from Danish grocery stores by intercepting network JSON responses.
Supported Stores
- nemlig.com ✓ Fully supported
Coming soon:
- shop.rema1000.dk (requires HTML parsing approach)
- Netto
- Føtex
Features
- Network Interception: Captures JSON API responses directly (no HTML parsing)
- Rich Product Data: Extracts name, price, price per unit, URL, image, brand, category, stock status
- Configurable Limits: Control max products to scrape
- Retry Logic: Automatic retries with exponential backoff
- Data Normalization: Consistent output format across all stores
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
store | string | Yes | "nemlig" | Store to scrape: nemlig |
keyword | string | Yes | - | Search term (e.g., "smør", "mælk", "brød") |
maxProducts | integer | No | 100 | Maximum products to return (1-1000) |
debug | boolean | No | false | Enable detailed logging |
Output
Each product pushed to the dataset includes:
{// Core fields"name": "Arla Økologisk Sødmælk 1L","price": 18.95,"pricePerUnit": { "value": 18.95, "unit": "liter" },// Metadata"store": "nemlig","url": "https://www.nemlig.com/product/...","image": "https://www.nemlig.com/images/...","brand": "Arla","category": "Mejeri","inStock": true,"description": "Økologisk sødmælk...","productId": "12345",// Tracking"scrapedAt": "2025-12-29T12:00:00.000Z","keyword": "mælk"}
Usage
On Apify Platform
{"store": "nemlig","keyword": "smør","maxProducts": 50}
Locally
npm installnpm start
Architecture
src/├── main.js # Entry point├── stores/ # Store-specific scrapers│ ├── BaseStore.js # Abstract base class│ ├── NemligStore.js # nemlig.com│ └── Rema1000Store.js # rema1000.dk (in development)├── core/ # Core framework│ ├── NetworkInterceptor.js # JSON response capture│ ├── DataNormalizer.js # Price/unit parsing│ └── ErrorHandler.js # Retry logic└── utils/helpers.js # Utility functions
License
ISC
