GDPR Fines Tracker — EU/EEA Enforcement Database avatar

GDPR Fines Tracker — EU/EEA Enforcement Database

Pricing

Pay per usage

Go to Apify Store
GDPR Fines Tracker — EU/EEA Enforcement Database

GDPR Fines Tracker — EU/EEA Enforcement Database

Structured feed of 3200+ GDPR fines imposed by EU/EEA data protection authorities. Sourced from the public GDPR Enforcement Tracker (CMS Hasche Sigle, CC BY-NC-SA 4.0). Filterable by country, DPA, sector, GDPR article, fine amount and year. Ideal for compliance bots and legaltech.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Lorenzo Talamucci

Lorenzo Talamucci

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Categories

Share

Structured feed of 3,200+ GDPR fines imposed by EU/EEA data protection authorities (DPAs), sourced from the public GDPR Enforcement Tracker by CMS Hasche Sigle (enforcementtracker.com, licensed CC BY-NC-SA 4.0).

Filterable by country, DPA, sector, GDPR article, fine amount, and year. Designed for compliance bots, legaltech pipelines, and regulatory dashboards.

Data source

The Enforcement Tracker embeds all records as a JSON bootstrap blob inside the homepage HTML (<script type="application/json" id="et-cases" data-purpose="filter-bootstrap">), making the full dataset available in a single unauthenticated HTTP request. No undocumented API is used.

Source URL : https://www.enforcementtracker.com/
License : Creative Commons BY-NC-SA 4.0
Creator : CMS Hasche Sigle (cms.law)
Records : 3,202 enforcement actions as of 2026-07

Attribution & ShareAlike required — this data is licensed CC BY-NC-SA 4.0. Any redistribution must credit "GDPR Enforcement Tracker — CMS Hasche Sigle (cms.law)" and remain under the same CC BY-NC-SA 4.0 license. Each output record carries an attribution field for this purpose; any derived dataset stays CC BY-NC-SA 4.0.

Who needs this

  • Legaltech / compliance bots — automated monitoring of fines by article, sector, or jurisdiction.
  • DPOs and privacy counsel — track precedents from target DPAs without manual site scraping.
  • Risk analytics — benchmark fine amounts by country, sector, or violation type.
  • Pairs naturally with EDPB Article 65 decisions and Garante Privacy RSS for Italian-specific coverage.

Input filters

ParameterTypeDescription
countrystringISO code (IT, DE, FR) or partial name (Italy). Empty = all.
authoritystringDPA name partial match, e.g. Garante, CNIL.
sectorstringSector partial match, e.g. Telecommunications, Health.
articleFilterstringGDPR article partial match, e.g. Art. 5, Art. 83.
violationTypeContainsstringViolation description partial match.
fineMinintegerMinimum fine in EUR (0 = no limit).
fineMaxintegerMaximum fine in EUR (0 = no limit).
yearFromintegerEarliest year (inclusive).
yearTointegerLatest year (inclusive).
maxResultsintegerCap results (default 1000, max 10000).

Output schema (per record)

FieldTypeDescription
etIdnumberEnforcement Tracker internal ID
countryCodestringISO-style country code, e.g. IT
countrystringCountry full name, e.g. Italy
authoritystringFull DPA name
partystringEntity or company fined
sectorstringBusiness sector
fineAmountEurnumberFine amount in EUR
datestringDate of decision (YYYY-MM-DD or YYYY)
yearnumberYear of decision
gdprArticlesstringCited GDPR articles, comma-separated
violationTypestringShort violation category
sourceUrlstringOfficial authority decision URL
trackerUrlstringDirect link on enforcementtracker.com
attributionstringSource credit + license notice, per CC BY-NC-SA 4.0: GDPR Enforcement Tracker — CMS Hasche Sigle, cms.law, CC BY-NC-SA 4.0

Real sample record (ETid-1, Austria, 2018)

Fetched live from the bootstrap blob on 2026-07-13:

{
"etId": 1,
"countryCode": "AUSTRIA",
"country": "Austria",
"authority": "Austrian Data Protection Authority (dsb)",
"party": "Betting place",
"sector": "Industry and Commerce",
"fineAmountEur": 4800,
"date": "2018-12-09",
"year": 2018,
"gdprArticles": "Art. 13 GDPR",
"violationType": "Insufficient fulfilment of information obligations",
"sourceUrl": "https://www.dsb.gv.at/documents/22758/116802/Straferkenntnis+DSB-D550.038+0003-DSB+2018.pdf/fb0bb313-8651-44ac-a713-c286d83e3f19",
"trackerUrl": "https://www.enforcementtracker.com/ETid-1",
"attribution": "GDPR Enforcement Tracker — CMS Hasche Sigle, cms.law, CC BY-NC-SA 4.0"
}

Raw data extracted directly from homepage bootstrap JSON (verified 2026-07-13):

{"e":1,"c":"AUSTRIA","C":"Austria","F":"/flags/flag_austria.png","a":"Austrian Data Protection Authority (dsb)","d":"2018-12-09","y":2018,"f":4800,"p":"Betting place","s":"Industry and Commerce","r":"Art. 13 GDPR","t":"Insufficient fulfilment of information obligations","u":"https://www.dsb.gv.at/..."}

How it works

  1. Fetch https://www.enforcementtracker.com/ with a browser User-Agent.
  2. Extract the <script id="et-cases"> JSON blob (single HTTP request, ~1–2 MB).
  3. Parse, filter, expand compact field names, sort newest first.
  4. Push to Apify dataset in batches.

No streaming needed — the full dataset fits comfortably in memory.
Proxy rotation is used defensively in case of transient IP-level blocks.

ToS / robots compliance

enforcementtracker.com allows indexing (robots.txt permits /).
The dataset is published under CC BY-NC-SA 4.0 for non-commercial reuse with attribution. This Actor is non-commercial.

Notes

  • The date field may be year-only ("2018") when the exact date is not public.
  • fineAmountEur is null for fines listed as "unknown amount" in the source.
  • Source: GDPR Enforcement Tracker by CMS Hasche Sigle.