Lidl Product Scraper avatar

Lidl Product Scraper

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Lidl Product Scraper

Lidl Product Scraper

An advanced, high-speed e-commerce scraper designed for real-time price monitoring and competitor intelligence. Extracts product titles, current pricing, discounts, stock availability, specifications, images, and seller ratings from Lidl Product. Perfect for inventory tracking, drop-shipping rese...

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

15 hours ago

Last modified

Share

Collect structured product cards from Lidl Germany's public search pages. The Actor reads data already embedded in the public HTML; it does not call Lidl's mobile or other undocumented private APIs, impersonate an app, or manufacture placeholder rows.

What it collects

  • Product ID, ERP/article numbers, name, brand, canonical URL, and public description
  • Current and regular prices, currency, unit price, packaging, and discount
  • Public availability labels, images and accessibility text
  • Category path, rating summary, search position, source URL, and collection timestamp

Optional fields are omitted when Lidl does not publish them. A successful run can contain fewer rows than maxItems because maxItems is a ceiling, not a promise that the storefront has that many matches.

Input

FieldTypeDefaultDescription
searchQuerystringschokoladeGerman keyword or phrase (1–100 characters).
countrystringDEExplicit storefront selection. Only DE is supported.
maxItemsinteger48Maximum unique products to save (1–48).
maxPagesinteger1Legacy saved-input compatibility field. The public route is one bounded page.

Example:

{
"searchQuery": "kaffee",
"country": "DE",
"maxItems": 10
}

Output

The default dataset contains one lidl_product row per unique public product card. OUTPUT in the default key-value store records the query, requested limit, number saved, number available, HTTP status, source page, request attempts, and either SUCCESS or NO_RESULTS.

The Actor performs a direct, bounded request with an honest collector user agent and retries only transient HTTP failures. Proxy or fingerprint settings are intentionally absent because this public route does not require browser impersonation. Lidl may change its storefront markup; a future markup change should be repaired against the public page rather than by falling back to an undocumented mobile API.

Local development

Use Node.js 22:

npm ci
npm test
npm start
npm run validate

Set local input in storage/key_value_stores/default/INPUT.json. The validator accepts a dataset directory/file or JSON/JSONL from standard input, for example node validate-datasets.js storage/datasets/default.