GDPR Enforcement Tracker — Fines & Penalties
Pricing
from $0.80 / 1,000 record scrapeds
GDPR Enforcement Tracker — Fines & Penalties
Every GDPR fine and penalty recorded by the Enforcement Tracker, in one dataset: authority, amount, articles cited, sector, and the decision link, for every EU/EEA/UK enforcement action on record.
Pricing
from $0.80 / 1,000 record scrapeds
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
GDPR Enforcement Tracker Fines Database Scraper
Scrape the complete case database from the GDPR Enforcement Tracker, the reference log of GDPR fines issued by EU, EEA, and UK data protection authorities since 2018. Returns one record per case — authority, fine amount, articles cited, sector, and the underlying decision link — for the entire ~3,300-case corpus in a single run.
GDPR Enforcement Tracker Scraper Features
- Returns the full case corpus in one run — no pagination to configure, no date range to guess at.
- Extracts the fine amount in EUR where the authority disclosed one, and keeps the raw figure (or marks it unknown) for the cases that didn't.
- Captures every GDPR article cited in the decision, not just a headline violation category.
- Includes the authority, the sector classification, and the fined entity (controller or processor) on every row.
- Links back to both the source DPA decision and the case's own Enforcement Tracker page, so you can verify anything downstream.
maxItemscaps the run if you only need a sample — useful for testing before you pull the whole set.
Who Uses GDPR Fine Data?
- Privacy counsel — benchmark a client's exposure against comparable fines by sector and article.
- Cyber and E&O underwriters — price regulatory risk using actual enforcement history instead of headlines.
- Privacy-tech vendors — feed real enforcement cases into a risk-quantification or compliance product.
- Compliance teams — track which GDPR articles get enforced most, and against which industries.
- Researchers and journalists — analyze enforcement trends across authorities and member states over time.
How GDPR Enforcement Tracker Scraper Works
- The actor requests the Enforcement Tracker's case database page.
- It reads the embedded case records straight off that page and maps each one to a clean, named field set.
- Every case — fine amount, authority, articles, sector, source link — gets saved as one dataset row.
- Set
maxItemsto cap how many cases come back; leave it at its default for the whole corpus.
Input
{"maxItems": 10}
| Field | Type | Default | Description |
|---|---|---|---|
maxItems | Integer | 10 | Maximum number of cases to return. The full corpus is roughly 3,300 cases and arrives in a single request — raise this to pull everything. |
GDPR Enforcement Tracker Scraper Output Fields
{"etid": "ETid-1","country": "Austria","authority": "Austrian Data Protection Authority (dsb)","fine_amount_eur": 4800,"fine_amount_raw": "4800","decision_date": "2018-12-09","controller_processor": "Betting place","sector": "Industry and Commerce","quoted_articles": ["Art. 13 GDPR"],"violation_type": "Insufficient fulfilment of information obligations","source_url": "https://www.dsb.gv.at/documents/22758/116802/Straferkenntnis+DSB-D550.038+0003-DSB+2018.pdf","detail_url": "https://www.enforcementtracker.com/ETid-1","scraped_at": "2026-10-15T10:14:05.867Z"}
| Field | Type | Description |
|---|---|---|
etid | String | Stable case id from the tracker (ETid-####). |
country | String | Country of the issuing data protection authority. |
authority | String | The issuing DPA (CNIL, Garante, AEPD, ICO, dsb, and so on). |
fine_amount_eur | Number | null | Fine amount in EUR, where the tracker has a figure on record. |
fine_amount_raw | String | The fine amount as a string, or the literal "unknown" when no figure is on record — never silently dropped. |
decision_date | String | Decision date as published — a full date, a year only, or "Unknown". |
controller_processor | String | The fined entity (controller or processor). |
sector | String | Industry or sector classification the tracker assigns. |
quoted_articles | Array<String> | GDPR articles cited in the decision. |
violation_type | String | The violation classification the tracker assigns. |
source_url | String | The DPA decision or press release the tracker links, where available. |
detail_url | String | The case's own page on the Enforcement Tracker. |
scraped_at | String | ISO-8601 timestamp of when this record was scraped. |
FAQ
How do I scrape GDPR fines from the Enforcement Tracker?
GDPR Enforcement Tracker Scraper needs no input beyond an optional maxItems cap. Run it, and it returns the case database as structured rows — fine amount, authority, articles cited, and the rest.
How much does this actor cost to run?
It's billed per record returned. Because the entire corpus arrives in one pull, pulling all ~3,300 cases costs about the same per record as pulling ten.
What data can I get from the GDPR Enforcement Tracker?
Every recorded case: the issuing authority, the country, the fine amount (where disclosed), the GDPR articles cited, the sector, the fined entity, the decision date, and links back to the original source and the tracker's own case page.
Can I filter by country or sector?
Every case already carries both a country and a sector field, so narrowing to the ones you want is a one-line step once the dataset lands — no extra run parameter needed.
Do I need an account or API key for the Enforcement Tracker?
No. GDPR Enforcement Tracker Scraper runs standalone — point it at Apify and it returns the case data directly.
Need More Features?
Need a different field, a country/sector pre-filter, or something else entirely? File an issue or get in touch.
Why Use GDPR Enforcement Tracker Scraper?
- Complete corpus, every run — no pagination settings to tune, no risk of stopping halfway through the dataset.
- Honest about gaps — when the tracker has no disclosed fine amount, you get an explicit
"unknown", not a silently blank field pretending to be zero. - Source-linked — every row carries both the original DPA decision link and the tracker's own case page, so downstream verification doesn't require a second lookup.