Lidl US Scraper: Store Prices, myLidl Coupons & Weekly Deals avatar

Lidl US Scraper: Store Prices, myLidl Coupons & Weekly Deals

Pricing

from $2.40 / 1,000 products

Go to Apify Store
Lidl US Scraper: Store Prices, myLidl Coupons & Weekly Deals

Lidl US Scraper: Store Prices, myLidl Coupons & Weekly Deals

Get Lidl US store prices in the USA for milk, coffee and bread: regular prices, weekly deals with dates, public Lidl Plus prices, unit price, brand, size and category. Search or supply product links by ZIP or store. About $0.003 per product. No login.

Pricing

from $2.40 / 1,000 products

Rating

0.0

(0)

Developer

mogged

mogged

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

For retail price analysts, brands and comparison services that need Lidl US (USA) prices at specific stores. Collect regular advertised prices, public Lidl Plus member offers, promotion dates, unit prices, package sizes and product identity in the same product/store format used by the US retail family.

About $0.003 per product at one store. A 20-product basket costs about $0.06 and 1,000 observations cost about $3, plus the minimum $0.00005 start charge. Bronze, Silver and Gold prices are lower. Search for milk, coffee or bread, choose ZIP codes or exact stores, then export the results. No login is required.

What you get

One row is one product at one store. A product at two stores creates two observations. Overlapping searches, repeated IDs and duplicate URLs at the same store are delivered and charged once per run.

InformationFields
Product identityproductId, sku, gtin, title, brand
Store selectionstoreId, storeName, location, storeAddress
Regular shopper priceprice, regularPrice, onSale, size
Public dealspromoText, promoType, promoStart, promoEnd, offers
Lidl Plus offersmemberPrice, memberProgram, member unit price and offer conditions
Unit comparisonunitPrice, unitOfMeasure, original unit-price text
Product contextcategory, department, product URL and image URL
Optional detailsDescription, published GTINs, image gallery and public store availability
Observation evidencescrapedAt, offerRegion, regionPriceId, sourceUrl

The current program is Lidl Plus, also searched as myLidl. Public member offers stay separate from ordinary shopper prices.

On 4 November 2026, chocolate milk 11249194 was $1.98 at store 1001, North Chesterfield, and $1.49 at 1009, Greenville. Corresponding unit rates were $0.03 and $0.02 per fl.oz.

Who uses it

Price analysts monitor comparable baskets; brands compare shelf prices and promotions; comparison sites show selected-store prices. Discover products through keywords or categories, then monitor exact product IDs. Preserve identifiers as text in spreadsheets.

Start in three steps

  1. Enter a few search terms, category/product links or product IDs.
  2. Choose US ZIP codes or exact Lidl store IDs and set your total product limit.
  3. Run the Actor, inspect SUMMARY for selected stores and coverage, then export JSON, CSV or Excel.

The prefill searches milk near 23235, capped at 20 products. A 4 November 2026 cloud test delivered 20 unique rows, 20 charges and no source failures in 10.4 seconds. Retries, store count and optional details affect runtime.

Inputs

InputHow to use it
searchTermsArray of plain search terms, for example ["milk", "coffee"].
startUrlsPublic Lidl US category, search, campaign, weekly-ad or product links.
productIdsNumeric ID after p in a product URL, for example 11249194.
locationsUS ZIP codes, for example ["23235", "27858"]. ZIP+4 is accepted.
storeIdsExact store IDs, such as ["1001", "1009"], or public object numbers such as US01001.
maxItemsPerSearchMaximum new rows for each source at each store; default 20, up to 1,000.
maxItemsTotal product/store rows across the run; default 20, up to 10,000.
dealsOnlyKeep regular-price reductions and current public Lidl Plus offers.
includeDetailsAdd product-page metadata and a public store-availability check, without another product fee.
proxyConfigurationDefault datacenter routing with US residential retries; custom proxies are supported.

Exact store IDs take precedence. Empty selections use website default region 1001. ZIPs select the nearest open store using a public centroid and the store directory. SUMMARY records the selection; a distant ZIP can select a distant store.

Example:

{
"searchTerms": ["milk", "coffee"],
"locations": ["23235", "27858"],
"maxItemsPerSearch": 20,
"maxItems": 80
}

This collects at most 80 observations, about $0.24 at base pricing. Limits are ceilings; the retailer may return fewer matching products.

A category example:

{
"startUrls": ["https://www.lidl.com/h/cheese-dairy-eggs/h10095761"],
"storeIds": ["1001"],
"maxItemsPerSearch": 100,
"maxItems": 100
}

A repeatable basket with store availability and product details:

{
"productIds": ["11249194", "11240789", "11237181"],
"storeIds": ["1001", "1009"],
"includeDetails": true,
"maxItems": 6
}

To collect current public deals, supply the weekly-ad URL https://www.lidl.com/c/offers-leaflets/s10092873 or set dealsOnly: true with your search terms. A search URL with an empty q, such as https://www.lidl.com/q/search?q=, scans the published catalog. The Actor paginates while new products remain and the requested limits allow more.

Output fields

The family fields appear first in each product row, following a plain-English verdict.

FieldMeaning
retailer, country, currencyLidl US, US, and USD.
storeId, storeName, locationVerified store identity and requested ZIP, if any.
productIdProduct identifier from the page URL and public catalog.
skuOn-page item number when supplied; it differs from productId.
gtinPublished checksum-valid UPC or GTIN, preserved as text.
title, brand, sizeSupplied product title, brand and package-size label.
priceCurrent nonmember advertised price for the chosen store region.
regularPriceSupplied previous/strikethrough price, or current ordinary price when no reduction is shown.
onSaleWhether the ordinary price is below its supplied comparison price.
promoText, promoTypeDisplayed promotion text and sale or member classification.
promoStart, promoEndSource timestamps for the applicable current offer.
memberPrice, memberProgramSeparate current Lidl Plus price and program name.
unitPrice, unitOfMeasureOrdinary shopper unit rate and its label, such as fl.oz. or lb..
inStock, stockLevelOptional public store availability and supplied quantity. Quantity remains null when absent.
rating, reviewCountAggregate values when supplied.
categorySource taxonomy path or product category.
url, imageUrl, scrapedAtCanonical product page, image and UTC observation timestamp.

Additional fields include member unit rates, original unit-price text, offers, futureMemberOffers, isDeal, weeklyAd and price-validity timestamps. Future offers never lower today's price.

offerRegion and regionPriceId identify the selected price record. Store metadata retains address, timezone, distance in kilometres and requested ZIPs. Details add stockStatus and stockCheckedAt.

surpriseItem, onSaleDate, department, brandType and sellByWeight require source evidence. A unit rate per pound alone does not prove variable-weight selling.

Real output example

North Chesterfield, 4 November 2026:

{
"recordType": "PRODUCT",
"retailer": "Lidl US",
"country": "US",
"currency": "USD",
"storeId": "1001",
"storeName": "Mall Dr, North Chesterfield",
"productId": "11249194",
"sku": "7010519",
"gtin": null,
"title": "chocolate milk, 1% lowfat",
"size": "64 fl.oz.",
"price": 1.98,
"regularPrice": 1.98,
"memberPrice": null,
"unitPrice": 0.03,
"unitOfMeasure": "fl.oz.",
"offerRegion": "1001",
"regionPriceId": "1"
}

The overview view combines product, prices, promotion, unit rate and store. The deals view emphasizes offer fields. The DEALS JSON output contains only delivered products with a current deal; a large deal export is split into named parts.

Every run writes SUMMARY with delivered products, selected stores, deals found, duplicates excluded, source outcomes, free failures and spending-limit status. A parseable invalid selection produces a free NOTE row and summary. Check freeFailures before accepting a scheduled snapshot as complete.

Prices and spending limits

Product/store observationsBaseBronzeSilverGold
20$0.06$0.057$0.054$0.048
100$0.30$0.285$0.27$0.24
1,000$3$2.85$2.70$2.40

Add the minimum $0.00005 start charge. Base price is $0.003 for one distinct product at one store. Bronze is $0.00285, Silver $0.0027 and Gold $0.0024. Product details have no additional product fee. Notes, summaries, empty results, failed requests, retries and duplicates have no Product charge. There is no extra default dataset-row fee.

Set Apify's maximum total charge to control larger jobs. The Actor checks billing capacity before saving another product, stops cleanly when the limit is reached and records that stop in SUMMARY. Saved products survive reboots without another delivery or charge.

Monitor prices every day

Save a task with stable product and store IDs. In Apify Console, create a schedule, choose that task and set the desired time and timezone. Connect its completed-run webhook to your database, spreadsheet or workflow. Each scheduled run collects a new snapshot.

Join snapshots on retailer + storeId + productId, retaining scrapedAt. Keep member prices and unit rates separate, compare package sizes and preserve nulls. Store snapshots to build history. Make, Zapier, n8n and Google Sheets can read the dataset and SUMMARY. Keep source failures as gaps rather than substituting old prices.

API and automation

Start a run with your own Apify token, then retrieve its completed dataset and SUMMARY:

curl -X POST \
'https://api.apify.com/v2/acts/moggedhq~lidl-us-scraper/runs' \
-H 'Authorization: Bearer YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"searchTerms":["milk"],"locations":["23235"],"maxItems":20}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("moggedhq/lidl-us-scraper").call(
run_input={"productIds": ["11249194"], "storeIds": ["1001", "1009"], "maxItems": 2}
)
rows = list(client.dataset(run["defaultDatasetId"]).iterate_items())
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('moggedhq/lidl-us-scraper').call({
searchTerms: ['coffee'], storeIds: ['1001'], maxItems: 20
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Use with AI agents (MCP)

Connect to https://mcp.apify.com. Request Lidl US prices, public Lidl Plus offers, dates and unit rates by ZIP or store. Supply terms/IDs and a cap. Ask the agent to inspect SUMMARY and preserve nulls and membership conditions. Enable includeDetails for store availability.

Limits

The public catalog is not a physical shelf audit. Lidl warns advertised prices and availability can differ in store. A missing region never receives a default-region price.

Personalized/clipped coupons, rewards, receipts and account data are outside coverage. Membership, activation and checkout conditions may apply. Weekly-ad mode selects catalog deals and public offers, without transcribing image-only flyer panels.

GTINs, ratings, brand type, variable-weight flags and explicit Surprises labels are often absent; missing fields remain null. Checked milk pages published no barcodes. Non-food products are not automatically classified as Surprises.

Stock is null by default. With details enabled, retailer indicators can be available, unavailable or unknown, without an audited unit count. Missing optional stock or metadata does not replace a verified price.

Search follows retailer relevance and may return related matches. Publication windows can change. Source timezones are retained; ordinary price-validity timestamps are distinct from sale dates.

Outages and site changes can cause incomplete output. Requests are sequential and paced, with fresh-session retries. Endpoint discovery is cached for seven days; address/region metadata for one day, with a verified directory less than seven days old available on refresh failure. Each row exposes metadata cache flags and observation time. Prices and stock are fetched for the current run. No login, account cookies or CAPTCHA solving.

FAQ

Which product number should I supply? Use the numeric value after p in the product URL. The separate on-page item number is returned as sku.

Can I choose an exact store? Yes. storeIds makes a monitored basket repeatable. ZIP codes choose the nearest open store using the available centroid and directory.

Does price include the Lidl Plus discount? The ordinary shopper price stays in price; the public member offer stays in memberPrice with its eligibility and dates.

Why do two stores have different prices? The retailer publishes regional price variants. Each row retains the selected store's offer region and price-record ID.

Can I get only deals? Use dealsOnly or a supported weekly-ad link. The DEALS output also isolates delivered deal rows.

Are duplicates charged? Overlapping inputs at one store are charged once per run. Another store or scheduled snapshot is another observation.

What happens with invalid input? Parseable invalid selections produce a free note and summary. Apify may reject schema-invalid input before a run starts; neither path adds a Product charge.

Can I combine US grocery Actors? Yes. Common product, store, price, promotion and unit-price fields support one downstream table.