# Lidl Product Scraper 🛍️ (`easyapi/lidl-product-scraper`) Actor

Scrape product data from Lidl's online store including prices, images, descriptions, ratings and stock information. Perfect for price monitoring, market research and competitive analysis.

- **URL**: https://apify.com/easyapi/lidl-product-scraper.md
- **Developed by:** [EasyApi](https://apify.com/easyapi) (community)
- **Categories:** E-commerce, Integrations, Other
- **Stats:** 135 total users, 5 monthly users, 86.7% runs succeeded, 7 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Lidl Product Scraper 🛍️

Powerful scraper for extracting detailed product information from Lidl's online store. Get comprehensive data about products, prices, availability, and more.

### 🎯 Use Cases

- Price monitoring and tracking
- Market research and analysis
- Product catalog building
- Competitive analysis
- Stock availability monitoring
- Brand and category insights

### ✨ Features

- Extract detailed product information including:
  - Product titles and IDs
  - Current and original prices
  - Discount information
  - Brand details and logos
  - Product images (main + gallery)
  - Category information
  - Product descriptions
  - Customer ratings and reviews
  - Stock availability
  - Canonical URLs

- Support for:
  - Multiple search URLs
  - Customizable maximum items limit
  - Automatic pagination handling
  - Built-in proxy rotation
  - Anti-blocking measures

### 💎 Output

The actor provides structured JSON output containing all scraped product details. Each product entry includes:

- Basic product information (ID, title, brand)
- Pricing details (current price, original price, discounts)
- Multiple product images
- Category hierarchy
- Customer ratings and recommendations
- Stock availability status
- Timestamps for data freshness

### 🔍 Input Parameters

The actor accepts the following input parameters:

- `searchUrls`: Array of Lidl search URLs to scrape
- `maxItems`: Maximum number of items to scrape (optional)
- `proxyConfiguration`: Proxy settings (optional)

### 📝 Notes

- Respects Lidl's robots.txt and implements reasonable delays
- Uses smart retry mechanisms for reliable data collection
- Regularly maintained and updated

#### Input Example

A full explanation of an input example in JSON.

```json
{
    "searchUrls": [
        "https://www.lidl.de/q/search?q=bad%20organizer"
    ],
    "maxItems": 50
}
```

#### Output sample

The results will be wrapped into a dataset which you can always find in the **Storage** tab. Here's an excerpt from the data you'd get if you apply the input parameters above:

And here is the same data but in JSON. You can choose in which format to download your data: JSON, JSONL, Excel spreadsheet, HTML table, CSV, or XML.

```json
[
    {
        "searchUrl": "https://www.lidl.de/q/search?q=bad%20organizer",
        "productId": "100385369",
        "title": "Bad- und Duschabzieher / Bad-Organizer / Wattestäbchen-Behälter / Seifenspender",
        "brand": "LIVARNO home",
        "brandLogo": "https://www.lidl.de/assets/gcp325f0c56f2cc44e9826fb41bb987ecca.png",
        "price": {
            "current": 3.49,
            "currency": "€",
            "originalPrice": null,
            "discountPercentage": null
        },
        "images": [
            "https://www.lidl.de/assets/gcp0e7d2a625cb045389a60f5954120a9e1.jpg",
            "https://www.lidl.de/assets/gcpc4740d3407c44d5796104f6657cc0af3.jpg",
            "https://www.lidl.de/assets/gcp69ded2324e12409693bbaecab739d86b.jpg"
        ],
        "mainImage": "https://www.lidl.de/assets/gcp0e7d2a625cb045389a60f5954120a9e1.jpg",
        "canonicalUrl": "https://www.lidl.de/p/livarno-home-bad-und-duschabzieher-bad-organizer-wattestaebchen-behaelter-seifenspender/p100385369",
        "category": {
            "main": "Kategorien/Gesundheit & Pflege/Beauty/Beauty-Zubehör",
            "path": "0/55/5515/551520"
        },
        "description": null,
        "ratings": {
            "average": 4.5,
            "count": 13,
            "recommendedYes": 12,
            "recommendedNo": 1
        },
        "stock": {
            "available": true,
            "minOrderQuantity": 1
        },
        "scrapedAt": "2025-02-12T01:06:49.488Z"
    },
    ...
]
```

#### Related Actors

- 🛍️ [Lidl Product Scraper](https://apify.com/easyapi/lidl-product-scraper) - Scrape product data from Lidl's online store including prices, images, descriptions and stock information
- 🛒 [Costco Product Search Scraper](https://apify.com/easyapi/costco-product-search-scraper) - Extract detailed product information from Costco.com search results
- 🛍️ [Flipkart Review Scraper](https://apify.com/easyapi/flipkart-review-scraper) - Extract comprehensive product reviews and ratings from Flipkart
- 🛍️ [Noon.com Reviews Scraper](https://apify.com/easyapi/noon-com-reviews-scraper) - Scrape detailed customer feedback and ratings from Noon.com
- 🛍️ [Myntra Reviews Scraper](https://apify.com/easyapi/myntra-reviews-scraper) - Extract detailed review data including ratings and user feedback from Myntra.com
- 🛍️ [Meesho Reviews Scraper](https://apify.com/easyapi/meesho-reviews-scraper) - Collect comprehensive product reviews and ratings from Meesho.com
- 🛍️ [AJIO Product Scraper](https://apify.com/easyapi/ajio-product-scraper) - Extract detailed product information from AJIO's fashion marketplace
- 🛒 [Sam's Club Product Scraper](https://apify.com/easyapi/sam-s-club-product-scraper) - Extract detailed product data from Sam's Club search results
- 🛍️ [Hobby Lobby Products Scraper](https://apify.com/easyapi/hobby-lobby-products-scraper) - Scrape product data from Hobby Lobby's website
- 🛍️ [Flipkart Product Scraper](https://apify.com/easyapi/flipkart-product-scraper) - Extract comprehensive product data from Flipkart search results
- 🛍️ [Zara Product Scraper](https://apify.com/easyapi/zara-product-scraper) - Extract detailed product information from Zara's online store
- 🛒 [Woolworths Product Scraper](https://apify.com/easyapi/woolworths-product-scraper) - Get comprehensive product data from Woolworths Australia's online store
- 🛍️ [Weekday Product Scraper](https://apify.com/easyapi/weekday-product-scraper) - Extract detailed product data from Weekday's online store
- 🛍️ [Tokopedia Product Scraper](https://apify.com/easyapi/tokopedia-product-scraper) - Scrape comprehensive product data from Tokopedia search results
- 🛍️ [Nike Product Scraper](https://apify.com/easyapi/nike-product-scraper) - Extract product data from Nike.com search results

# Actor input Schema

## `searchUrls` (type: `array`):

List of Lidl search URLs to scrape

## `maxItems` (type: `integer`):

Maximum number of products to scrape (default: 50)

## `proxyConfiguration` (type: `object`):

Proxy settings for the crawler

## Actor input object example

```json
{
  "searchUrls": [
    "https://www.lidl.de/q/search?q=bad%20organizer"
  ],
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("easyapi/lidl-product-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("easyapi/lidl-product-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call easyapi/lidl-product-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=easyapi/lidl-product-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/BXaTa8xfk2EE8z9Ew/builds/fX7VZMIyLDmeBUuJF/openapi.json
