EU Omnibus Discount Checker — 30-Day Lowest Price Audit avatar

EU Omnibus Discount Checker — 30-Day Lowest Price Audit

Pricing

from $6.00 / 1,000 product checkeds

Go to Apify Store
EU Omnibus Discount Checker — 30-Day Lowest Price Audit

EU Omnibus Discount Checker — 30-Day Lowest Price Audit

Check EU shop discounts against the legally required 30-day lowest price. One verdict per product: compliant, overstated or missing label. 10 languages, no price history needed.

Pricing

from $6.00 / 1,000 product checkeds

Rating

0.0

(0)

Developer

Viktor Kondas

Viktor Kondas

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Features

Limited permissions

Share

Check whether an EU shop's discount is real. Paste product URLs and get one verdict per product — compliant, overstated, or missing the legally required 30-day lowest price — with the evidence text from the page. JSON, CSV or Excel, via API, schedules, n8n, Make, Zapier and AI agents (MCP). $0.006 per product checked, no subscription.

Independent tool. Not legal advice. Reads publicly visible product pages only — no login, no personal data.

What does EU Omnibus Discount Checker do?

  • Reads the current price, the "was" price, the % badge and the 30-day lowest price label from an EU product page.
  • Calculates the real discount against the 30-day lowest price — the reference EU law requires — and compares it to what the shop claims.
  • Recognises the label wording in 10 languages plus English (HU, DE, PL, CZ, SK, RO, FR, IT, ES, NL, EN) and handles local price formats (1 299 Ft, 1.299,00 €, 24 990 Kč).
  • Needs no price history — it reads the label shops are obliged to display, so the first run already gives answers.

Who is it for?

You are…You use it to…
Deal site or affiliate publisherVerify discounts before publishing them
E-commerce pricing / compliance managerAudit your own promo pages before a campaign goes live
Competitive-intelligence analystCompare competitors' claimed vs real discounts every week
Journalist or consumer organisationSample hundreds of Black Friday deals in minutes

Ready-made examples (one click)

ExampleWhat you get
Audit Black Friday discounts on German shopsVerdict per product for major German retailers
Check fake discounts on Hungarian webshopsHungarian shops, HUF prices, Hungarian labels
Audit Polish e-commerce promotions for Omnibus compliancePolish shops, PLN, "najniższa cena z 30 dni"
Verify deal discounts before you publish themMixed EU shops, plain-language explanations
Monitor competitor discount claims weeklySchedule-ready competitor watchlist

How to use it

  1. Paste product page URLs (or open an example above).
  2. Set Max products — this is also your cost cap.
  3. Click Start. Filter the dataset by verdict or download it.

Input

FieldRequiredDescription
productUrlsyesProduct pages (not category pages)
maxProductsnoCap on products and cost. Default 100
renderModenoauto (default) tries fast HTML first, then a real browser if no price is readable. html never uses a browser, browser always does
tolerancePctnoAllowed rounding gap in percentage points. Default 1
includeEvidenceScreenshotnoSave a full-page screenshot as evidence ($0.01 each). Pages are rendered in the browser
countryOverridenoForce a country if auto-detection is wrong
proxyConfigurationnoApify Proxy by default; use residential proxies in the shop's country for big shops

Output

{
"productUrl": "https://shop.example.hu/product/123",
"domain": "shop.example.hu",
"country": "HU",
"currency": "HUF",
"productName": "Wireless headphones X",
"currentPrice": 34990,
"referencePrice": 49990,
"referenceType": "strikethrough",
"lowest30dPrice": 36990,
"lowest30dLabel": "Az elmúlt 30 nap legalacsonyabb ára: 36 990 Ft",
"claimedDiscountPct": 30,
"discountVsReferencePct": 30.0,
"discountVsLowest30dPct": 5.4,
"verdict": "pct_overstated",
"severity": "high",
"explanation": "Shown as -30%, but the price is only 5.4% below the 30-day lowest price.",
"renderedWithBrowser": false,
"screenshotUrl": null,
"sourceUrl": "https://shop.example.hu/product/123",
"status": "ok",
"scrapedAt": "2026-11-27T08:00:00.000Z",
"schemaVersion": 1
}
VerdictMeaning
compliantDiscount matches the 30-day lowest price (within your tolerance)
pct_overstatedThe shown discount is bigger than the real one vs the 30-day lowest price
missing_lowest_30dA discount is shown but the 30-day lowest price is not
rrp_comparisonOnly a recommended retail price comparison — whether the rule applies depends on the member state, review manually
no_discount_claimedNo discount on the page
price_not_foundNothing readable (also blocked pages, 404, robots.txt skips) — free, with the reason in explanation

A run summary (counts per verdict, failed URLs, stop reason, charged events) is saved to the OUTPUT record of the key-value store.

How much does it cost?

EventPriceWhen
Actor startApify defaultOnce per run
Product checked$0.006Each product with a verdict
Evidence screenshot$0.01Only if you switch it on

100 products ≈ $0.60 · 1,000 products ≈ $6. Pages that fail, are blocked or show no price are not charged. Set Max cost per run in the run options for a hard budget — the Actor stops as soon as it is reached. Higher Apify plans get Store discounts automatically.

Schedule it

Black Friday week: run daily at 08:00 on your watchlist. Rest of the year: weekly (Monday 07:00) is enough to catch campaign changes.

Use with AI agents (MCP)

"Use kondasviktor/eu-omnibus-discount-checker to check whether these 20 Black Friday deals are real discounts under the EU 30-day rule."

FAQ

What is the EU 30-day lowest price rule? Since the Omnibus Directive, an EU shop that announces a price reduction must show the lowest price it charged in the previous 30 days, and the EU Court of Justice confirmed the advertised percentage must be calculated from that price.

Is this legal advice? No. It flags discount claims for human review. Member states allow some exceptions (e.g. perishable goods, progressive discounts, shorter look-back for new products).

Why price_not_found? The page didn't expose a readable price — try renderMode: browser or a residential proxy. These rows are free.

Which shops work? Any EU shop with public product pages. Big shops sometimes block datacenter IPs — use a residential proxy in the shop's country. The Actor respects each shop's robots.txt and skips disallowed URLs.

Can you add a language or shop? Yes — open an issue with a product URL. Fixes within 48 hours.

Limitations

  • Product pages only in v1 (no category crawling).
  • Uses the default variant on multi-variant pages.
  • Cannot prove what the price was 30 days ago — it checks what the shop declares. Pair it with a weekly schedule to build your own history.
  • Label wording is matched per language; an unusual wording shows up as missing_lowest_30d — report the URL and it gets added.

All Actors


Built by Viktor Kondas · Vibe Coder's Life · Custom audits: hello@vibecoderslife.com