a avatar
a

Pricing

from $5.00 / 1,000 results

Go to Apify Store
a

a

a

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

jens

jens

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

Categories

Share

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

FieldTypeRequiredDefaultDescription
storestringYes"nemlig"Store to scrape: nemlig
keywordstringYes-Search term (e.g., "smør", "mælk", "brød")
maxProductsintegerNo100Maximum products to return (1-1000)
debugbooleanNofalseEnable 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 install
npm 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