example-eu-regulatory-site.com APIexample-eu-regulatory-site.com ↗
Access structured GDPR fine and penalty data from enforcementtracker.com. Search by company, filter by country or sector, and retrieve aggregate enforcement statistics.
curl -X GET 'https://api.parse.bot/scraper/76190776-fa32-4339-960a-09fdaddb89ba/get_penalties_list?limit=3&offset=0' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieve a paginated list of all penalty/fine records from the GDPR enforcement tracker database. Returns records in the order they appear in the dataset.
| Param | Type | Description |
|---|---|---|
| limit | integer | Max results per page. |
| offset | integer | Number of records to skip for pagination. |
{
"type": "object",
"fields": {
"limit": "integer max results requested",
"total": "integer total number of records in database",
"offset": "integer number of records skipped",
"penalties": "array of penalty record objects with id, country, authority, date, fine_amount_eur, fine_amount_str, company, sector, quoted_articles, violation_type, summary, source_link, direct_url"
},
"sample": {
"data": {
"limit": 3,
"total": 3142,
"offset": 0,
"penalties": [
{
"id": "ETid-1",
"date": "2018-12-09",
"sector": "Industry and Commerce",
"company": "Betting place",
"country": "AUSTRIA",
"summary": "Video surveillance was not sufficiently marked...",
"authority": "Austrian Data Protection Authority (dsb)",
"direct_url": "https://www.enforcementtracker.com/ETid-1",
"source_link": "https://www.dsb.gv.at/documents/22758/116802/Straferkenntnis+DSB-D550.038+0003-DSB+2018.pdf/fb0bb313-8651-44ac-a713-c286d83e3f19",
"violation_type": "Insufficient fulfilment of information obligations",
"fine_amount_eur": 4800,
"fine_amount_str": "4,800",
"quoted_articles": "Art. 13 GDPR"
}
]
},
"status": "success"
}
}About the example-eu-regulatory-site.com API
This API exposes 7 endpoints covering GDPR enforcement records from enforcementtracker.com, including fine amounts, issuing authorities, violation categories, and per-record summaries. Use get_penalty_detail to pull the full profile of a specific fine by its ETid, or filter_penalties to narrow records by country, sector, date range, and fine amount in EUR.
What the API Covers
The API surfaces structured data from the GDPR Enforcement Tracker, a widely referenced database of fines issued by EU data protection authorities. Each penalty record includes fields such as company, country, authority, fine_amount_eur, violation_type, summary, source_link, and direct_url. Records span multiple EU member states and sectors, from health care to media and telecoms.
Listing, Searching, and Filtering
get_penalties_list returns a paginated dataset of all records using limit and offset parameters. search_penalties accepts a query string matched across company name, summary, authority, and other fields. For more targeted queries, filter_penalties supports narrowing by country (uppercase, e.g. GERMANY), authority (partial match accepted), sector, min_fine, max_fine, and a start_date/end_date range — all parameters are optional and composable.
Detail and Categorization
get_penalty_detail retrieves the complete record for a single ETid, including the summary narrative, quoted GDPR articles, source_link to primary documents, and violation_type. get_violation_categories returns the full alphabetically sorted list of violation category strings used across the dataset, useful for building filter UIs or classification pipelines.
Aggregate Statistics
get_statistics_summary returns dataset-wide figures: total_count, count_with_fine, total_fine_amount_eur, and the top 10 countries and sectors ranked by cumulative fine amount. get_recent_penalties returns records sorted by enforcement date descending, limited to entries with a parseable year-based date.
- Track which EU countries have issued the largest cumulative GDPR fines using
top_countries_by_amountfromget_statistics_summary. - Monitor new enforcement actions by polling
get_recent_penaltiesfor the most recently dated records. - Search penalty records by company name via
search_penaltiesto assess a specific organization's GDPR enforcement history. - Filter fines above a
min_finethreshold in a targetsectorto benchmark regulatory exposure by industry. - Populate a compliance dashboard with violation category breakdowns using
get_violation_categoriesandfilter_penalties. - Feed
source_linkanddirect_urlfields fromget_penalty_detailinto a document retrieval pipeline for regulatory research. - Identify the most active enforcement authorities by filtering records by
authoritypartial match across multiple jurisdictions.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does enforcementtracker.com provide an official developer API?+
What does `filter_penalties` return when I set both `min_fine` and `max_fine`?+
fine_amount_eur falls within the specified range. Records where the fine amount is unknown are excluded when either bound is set. All other filter parameters — country, authority, sector, end_date — can be combined in the same request.Are fines from non-EU countries or UK post-Brexit covered?+
Does the API expose the individual GDPR articles cited in each penalty?+
get_penalties_list includes a quoted_artic field in each record, and get_penalty_detail returns the full quoted_articles data for a specific ETid. However, the API does not currently provide a dedicated endpoint to filter or aggregate records by specific cited article number. You can fork this API on Parse and revise it to add that filtering endpoint.Can I retrieve the full text of the original enforcement decision documents?+
get_penalty_detail returns a source_link URL pointing to the original source document and a direct_url to the tracker detail page, but the full document text is not fetched or returned. You can fork this API on Parse and revise it to add an endpoint that retrieves and parses the linked document content.