Aepd Spain Data Protection Resolution Scraper avatar

Aepd Spain Data Protection Resolution Scraper

Pricing

from $0.80 / 1,000 record scrapeds

Go to Apify Store
Aepd Spain Data Protection Resolution Scraper

Aepd Spain Data Protection Resolution Scraper

Extracts and structures Spain's AEPD data protection enforcement resolutions: fine amounts, infringed GDPR articles, severity, and final outcome parsed from the resolution text, with reposicion appeals linked back to their parent case.

Pricing

from $0.80 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

AEPD Data Protection Resolution Scraper

Extract Spain's GDPR enforcement record from the AEPD, the country's data protection authority. Returns the fine amount, infringed articles, severity, and final outcome for every published resolution — sanctions, warnings, case closures, and reposición appeals — across the full ~47,000-document archive.


AEPD Data Protection Resolution Scraper Features

  • Extracts the fine actually paid, not just the headline figure — voluntary-payment settlements state both, and this returns the final one.
  • Reads the infringed GDPR/LOPDGDD articles straight out of each resolution's operative finding.
  • Classifies severity (leve / grave / muy grave) and the case outcome (sanctioned, archived, upheld, dismissed).
  • Links every reposición appeal back to its parent case, so you see the case that was actually decided instead of a first-instance figure that got reduced or thrown out on appeal.
  • Covers every AEPD procedure type in one pass — sanctions, rights-exercise procedures, warnings, cooperation cases, and archived investigations alike.
  • Returns the respondent name parsed from the resolution text, plus the resolution and publication dates.

Who Uses AEPD Enforcement Data?

  • Privacy counsel and DPOs — benchmark fine amounts and enforcement trends against comparable cases before advising a client.
  • Compliance and GRC teams — build an internal register of GDPR enforcement precedent by infringed article.
  • Legal researchers — track how a specific RGPD/LOPDGDD article gets enforced over time, or at what severity tier.
  • Journalists and policy analysts — follow Spain's enforcement volume, the EU's highest by resolution count.
  • Legaltech products — feed a structured enforcement dataset into a search or alerting tool instead of a pile of PDFs.

How AEPD Data Protection Resolution Scraper Works

  1. Give it a record limit, or leave it unset for the full archive.
  2. The scraper walks AEPD's published resolution listing from the newest case back.
  3. Each resolution's text is read and reduced to structured fields — fine amount, articles, severity, outcome, respondent — alongside the listing's own file number and dates.
  4. You get one row per resolution, appeals linked to their parent case, ready to filter or load straight into a spreadsheet or database.

Input

{
"maxItems": 5
}
FieldTypeDefaultDescription
maxItemsinteger0Maximum number of resolutions to return. 0 = unlimited (the full ~47,000-document archive).

AEPD Data Protection Resolution Scraper Output Fields

{
"expediente": "EXP202416743",
"procedure_reference": "PS-00035-2026",
"resolution_type": "Procedimiento Sancionador",
"is_reposicion": false,
"parent_expediente": null,
"resolution_date": "2026-09-16T00:00:00Z",
"publication_date": "2026-09-23T11:25:00Z",
"respondent": "HOY VOY A CONDUCIR, S.L.",
"fine_amount_eur": 30000,
"infringed_articles": ["art. 32 RGPD"],
"infringement_severity": "grave",
"outcome": "sancionado",
"summary": "Con fecha 28 de mayo de 2026, la Presidencia de la Agencia Española de Protección de Datos acordó iniciar procedimiento sancionador...",
"full_text": "1/23\nExpediente Nº: EXP202416743\nRESOLUCIÓN DE TERMINACIÓN DEL PROCEDIMIENTO...",
"pdf_url": "https://www.aepd.es/documento/ps-00035-2026.pdf",
"source_url": "https://www.aepd.es/informes-y-resoluciones/resoluciones",
"scraped_at": "2026-10-01T16:36:19.250Z"
}
FieldTypeDescription
expedientestringAEPD file number (e.g. EXP202416743) — the case's primary key.
procedure_referencestringThe procedure-type-prefixed reference (e.g. PS-00035-2026).
resolution_typestringAEPD procedure type — sanction, rights-exercise, warning, cooperation, reposición appeal, and more.
is_reposicionbooleantrue when this document is an appeal of an earlier resolution.
parent_expedientestringFor a reposición appeal, the file number of the case under appeal.
resolution_datestringISO-8601 date the resolution was signed.
publication_datestringISO-8601 date the resolution was published.
respondentstringThe entity investigated or sanctioned, when named in the resolution text.
fine_amount_eurnumberThe fine actually payable — the post-reduction figure when a settlement states both.
infringed_articlesarrayGDPR/LOPDGDD articles cited in the resolution's finding (e.g. "art. 32 RGPD").
infringement_severitystringleve, grave, or muy grave, when the resolution states a tier.
outcomestringsancionado, archivado, estimado, or desestimado.
summarystringA short excerpt from the resolution's opening finding.
full_textstringThe resolution's full text.
pdf_urlstringLink to the source resolution document.
source_urlstringThe listing page this record was read from.
scraped_atstringWhen this record was collected.

Some fields are genuinely absent on a given resolution rather than unpopulated by mistake — a case closure has no fine amount, and some respondents are described without a formal company identifier.


Resuming a large crawl

Every run emits a resumeCursor in its Output. If a large crawl stops before it finishes — because it hit maxItems, your spend cap (maxTotalChargeUsd), or was aborted — start a new run with the same input plus that resumeCursor to continue from where it left off. The crawl resumes from the queued work the previous run didn't reach.

  • You are not re-charged for records the earlier run already delivered.
  • Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs. Once the source run is pruned, its resumeCursor is no longer valid.
  • resumeCursor is opaque — supply it unmodified.

FAQ

How do I scrape AEPD enforcement resolutions?

Run AEPD Data Protection Resolution Scraper with a maxItems value, or leave it at 0 for the full archive. No AEPD account or API key is required — the resolution listing is public.

What data can I get from AEPD's resolutions?

Fine amounts, infringed GDPR/LOPDGDD articles, severity tier, case outcome, respondent name, and the full resolution text, for every AEPD procedure type — not just sanctions.

Does this include recurso de reposición appeals?

Yes. Appeals are returned as their own records, each linked back to the expediente of the case they're appealing, so you can see the final outcome rather than a first-instance figure that was later reduced or overturned.

How much does AEPD Data Protection Resolution Scraper cost to run?

Pricing follows Apify's standard pay-per-event model for this actor — check the Pricing tab for current rates. A small maxItems run is inexpensive to try before committing to the full archive.

Can I get just the sanctions, not warnings or archived cases?

Every record carries a resolution_type field, so filter the output by type after the run. The scraper always covers the full procedure-type range in one pass.


Need More Features?

Need custom fields, filters, or a different target site? File an issue or get in touch.

Why Use AEPD Data Protection Resolution Scraper?

  • Reads the resolution, not just the index — fine amount, articles, severity, and outcome come from the text itself, not a search-result snippet.
  • Appeal-aware — reposición cases are linked to their parent case, so a figure that was later reduced or annulled on appeal doesn't read as the final word.
  • Full procedure-type coverage — sanctions, warnings, rights-exercise cases, and archived investigations are all in scope, not a cherry-picked subset.