EUR-Lex Scraper: EU Law, Regulations & Directives API avatar

EUR-Lex Scraper: EU Law, Regulations & Directives API

Pricing

from $0.00005 / actor start

Go to Apify Store
EUR-Lex Scraper: EU Law, Regulations & Directives API

EUR-Lex Scraper: EU Law, Regulations & Directives API

Scrape EU legislation from EUR-Lex (official EU law portal): regulations, directives, decisions, treaties. Search by keyword or CELEX ID. Get full metadata: ELI URI, dates, authors, EUROVOC topics, legal basis, multilingual texts. $8/1K docs.

Pricing

from $0.00005 / actor start

Rating

0.0

(0)

Developer

Walid

Walid

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

EUR-Lex Scraper — EU Regulations, Directives & CELEX Lookup API

EUR-Lex Scraper lets you search and extract European Union legal documents from the official EUR-Lex portal — regulations, directives, decisions, recommendations, treaties — with full structured metadata (CELEX, ELI, EUROVOC, dates, authors, legal basis, linked acts). No API token, no developer account, just enter a keyword or a CELEX ID.

HTTP-only, no proxy needed, datacenter-IP friendly. The fastest way to feed your legal-tech, compliance, M&A, or AI agent with up-to-date EU law data.

Found this useful? Click the Bookmark button at the top of this page — it helps the scraper stay visible to other compliance and legal-tech builders who need it. Takes 1 click.


What can EUR-Lex Scraper do?

  • Search EU law by keyword — find every regulation, directive or decision mentioning "data protection", "AI Act", "tariff", etc.
  • Direct CELEX lookup — paste any CELEX ID (e.g. 32016R0679 for GDPR) and get full structured metadata in one call.
  • 24 official languages — request results in EN, FR, DE, ES, IT, NL, PT, PL, RO, SV, DA, FI, EL, CS, SK, SL, HU, BG, ET, LV, LT, MT, GA, HR.
  • Filter by document type — restrict to regulations, directives, decisions, recommendations, opinions, communications, or treaties.
  • Full text included (optional) — fetch the body of the legal act, not just metadata.
  • ELI URIs + Official Journal references — every doc returns its persistent ELI identifier and OJ citation.
  • Linked acts graph — what this act amends, what acts amend it, and its legal basis (treaty articles).
  • EUROVOC + Subject matter taxonomy — official EU thesaurus tags for downstream classification.

What data can you extract from EUR-Lex?

FieldDescription
celex_idUnique EU document identifier (e.g. 32016R0679)
titleFull official title of the legal act
document_typeRegulation, Directive, Decision, Treaty, Opinion, etc.
formVerbose form label as published by EUR-Lex
eli_uriPersistent European Legislation Identifier URI
date_of_documentDate the act was adopted (ISO YYYY-MM-DD)
date_in_forceDate the act entered into force
date_of_effectDate of application (often later than entry-into-force)
date_end_validityRepeal or expiry date (null if still in force)
date_signatureDate the act was signed
authorsInstitutions that adopted the act (Parliament, Council, Commission...)
responsible_bodyDG responsible (e.g. DG Justice, Eurostat)
subject_matterHigh-level EU policy areas
eurovoc_descriptorsEUROVOC thesaurus tags
directory_codesEUR-Lex directory classification codes
legal_basisTreaty articles / acts the law is based on
amends_celexList of CELEX IDs this act amends
amended_by_celexList of CELEX IDs that amend this act
official_journal_referenceCitation in the Official Journal (e.g. OJ L 119, 4.5.2016, p. 1)
available_languagesLanguages in which the act is published
urlDirect URL to the EUR-Lex page
full_text_urlHTML rendering of the legal text
pdf_urlOfficial PDF download
full_textOptional: full body text (if includeFullText: true)

How to scrape EU legislation

  1. Create a free Apify account — no credit card needed for the trial.
  2. Open EUR-Lex Scraper in the Apify Store.
  3. Enter a keyword (e.g. data protection) or paste CELEX IDs directly into the celexIds array.
  4. Choose language and maxResults. Tick includeFullText if you need the body text.
  5. Click Start — results stream into the dataset within seconds.
  6. Download as JSON, CSV, Excel or call the dataset via API.

How much does it cost to scrape EUR-Lex?

$0.008 per document ($8 per 1,000 docs) + a flat $0.00005 actor-start fee. That's roughly 2.6× cheaper than parseforge's european-eur-lex-scraper ($0.021/item) and at this price-point bundles full multilingual metadata, the ELI cross-reference, and the linked-acts graph.

Run sizeDocumentsApify costTime
Quick test (10 docs)10~$0.08~30s
Standard (100 docs)100~$0.80~5min
Deep (250 docs)250~$2.00~12min
Massive (500 docs)500~$4.00~25min

Full-text fetch (includeFullText: true) keeps the same per-event price but doubles run time because we make a second HTTP call per CELEX.


Input parameters

ParameterTypeRequiredDefaultDescription
searchTermsstringconditionalKeywords to search across the EU corpus (e.g. data protection)
celexIdsarray of stringconditional[]Direct CELEX lookups, bypassing search (e.g. ["32016R0679"])
languagestringnoENDocument language, ISO 2-letter code (24 EU languages supported)
maxResultsintegerno25Max documents to return (1–500)
includeFullTextbooleannofalseFetch the full text body of each act
documentTypestringnoallFilter: all, regulation, directive, decision, recommendation, opinion, communication, treaty
proxyConfigobjectnodatacenterApify proxy — EUR-Lex tolerates datacenter IPs

Provide either searchTerms or celexIds (or both — CELEX lookups run first).


Output example

{
"type": "document",
"celex_id": "32016R0679",
"title": "Regulation - 2016/679 - EN - gdpr",
"document_type": "Regulation",
"form": "Regulation",
"eli_uri": "http://data.europa.eu/eli/reg/2016/679/oj",
"date_of_document": "2016-04-27",
"date_in_force": "2016-05-24",
"date_of_effect": "2018-05-25",
"date_end_validity": null,
"date_signature": "2016-04-27",
"authors": ["European Parliament", "Council of the European Union"],
"responsible_body": ["Directorate-General for Justice and Consumers", "Eurostat"],
"subject_matter": ["Area of freedom, security and justice", "Consumer protection", "Information and verification"],
"eurovoc_descriptors": ["personal data", "data protection", "free movement of data", "right to information"],
"directory_codes": ["13.30.99.00", "15.20.20.00"],
"legal_basis": ["12012E016"],
"amends_celex": [],
"amended_by_celex": [],
"official_journal_reference": "OJ L 119, 4.5.2016, p. 1",
"available_languages": ["BG", "CS", "DA", "DE", "EL", "EN", "ES", "ET", "FI", "FR", "GA", "HR", "HU", "IT", "LT", "LV", "MT", "NL", "PL", "PT", "RO", "SK", "SL", "SV"],
"language": "EN",
"url": "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32016R0679",
"full_text_url": "https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679",
"pdf_url": "https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32016R0679",
"scraped_at": "2026-06-04T10:32:11Z"
}

Use cases

  • Legal-tech & compliance feeds — build an always-fresh local mirror of EU law for your SaaS, alerting clients when an act they depend on is amended or repealed.
  • GDPR / AI Act / DSA monitoring — track each new regulation impacting privacy, AI, platforms; surface its EUROVOC tags and OJ citation.
  • M&A due-diligence — pull every directive a target company must comply with in its sector, cross-referenced by directory code.
  • AI agents for lawyers — feed structured CELEX metadata into a RAG pipeline so a chatbot can cite primary EU sources instead of hallucinating.
  • Academic research — bulk-download corpora of regulations or directives across decades for NLP, citation network analysis, comparative law.
  • Regulatory engineering — build dashboards for in-house counsel that show legal-basis chains and amendment graphs.

Use EUR-Lex Scraper via API

Python

import requests
run = requests.post(
"https://api.apify.com/v2/acts/dltik~eur-lex-scraper/run-sync-get-dataset-items",
headers={"Authorization": "Bearer YOUR_APIFY_TOKEN"},
json={
"searchTerms": "artificial intelligence",
"language": "EN",
"maxResults": 50,
"documentType": "regulation",
"includeFullText": False
},
timeout=600,
).json()
for doc in run:
print(doc["celex_id"], "-", doc.get("title"))

curl

curl -X POST "https://api.apify.com/v2/acts/dltik~eur-lex-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"celexIds": ["32016R0679", "32024R1689"], "language": "EN"}'
run_input = {"celexIds": ["32016R0679", "32024R1689", "32022R2065"], "includeFullText": True}

FAQ

What is a CELEX number? CELEX is the unique identifier EUR-Lex assigns to every EU document. Format: {sector}{year}{type}{number}. Example: 32016R0679 = sector 3 (legislation) + 2016 + R (regulation) + 0679. You'll find it in every EUR-Lex URL after CELEX:.

Do I need a special token or developer account? No. EUR-Lex is a public transparency portal. This actor scrapes it directly — no login, no API key, no developer registration. Just enter a keyword or a CELEX ID.

Which is faster, keyword search or direct CELEX lookup? Direct CELEX is roughly 2× faster because it skips the search-pagination step. If you already know which acts you want, always pass them in celexIds.

What languages are supported? All 24 official EU languages: EN, FR, DE, ES, IT, NL, PT, PL, RO, SV, DA, FI, EL, CS, SK, SL, HU, BG, ET, LV, LT, MT, GA, HR. Note that older acts (pre-2004) may not have full translations into all languages — available_languages echoes what was actually published.

How fresh is the data? EUR-Lex is updated continuously by the EU Publications Office. Most new acts are searchable within 24–48 h of publication in the Official Journal.

Can I get the full text of the regulation? Yes — set includeFullText: true. We fetch the HTML rendering of the body (capped at ~200KB per doc to keep dataset items small). For longer texts, use the full_text_url and pdf_url fields to download offline.

I need help or a custom export. Open an issue on the Issues tab of the actor page.


Connect with Make, Zapier & n8n

This actor integrates with any automation platform via the Apify API.

Make (Integromat)

  1. Add an Apify module in your scenario.
  2. Choose Run Actor → select dltik/eur-lex-scraper.
  3. Pass your input JSON (e.g. {"searchTerms": "AI Act"}).
  4. Add Get Dataset Items to pull the results.
  5. Pipe into Notion, Airtable, Google Sheets, Slack, etc.

Zapier

  1. Trigger: Schedule (e.g. daily) or Webhook.
  2. Action: Apify → Run Actor with this actor's id.
  3. Action: Get Dataset Items → forward to your CRM / mail / DB.

n8n

  1. HTTP Request node → POST https://api.apify.com/v2/acts/dltik~eur-lex-scraper/runs.
  2. Wait → HTTP RequestGET /v2/datasets/{datasetId}/items.
  3. Process each EU document downstream.

Webhooks

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
client.actor("dltik/eur-lex-scraper").call(
run_input={"searchTerms": "data protection"},
webhooks=[{
"eventTypes": ["ACTOR.RUN.SUCCEEDED"],
"requestUrl": "https://your-endpoint.com/eur-lex-webhook"
}]
)

Found the EUR-Lex Scraper useful? Bookmark it — Apify ranks actors by bookmarks, so it's the strongest single signal for Store visibility. One click directly helps this actor stay surfaced for the next compliance team that needs EU law data.

Other scrapers by dltik

ActorWhat it doesPrice
BOAMP ScraperFrench national public tenders (marches publics) — B2B public-sector sales$5/1K
Pappers Sirene Scraper26M French companies — SIREN, SIRET, NAF, finances, dirigeants$5/1K
SEC EDGAR MCP Server10K US public companies — filings, financials for AI agents$0.01/call
Pappers MCP Server26M French companies — MCP tools for AI legal/finance agents$0.01/call
BODACC MCP Server4.5M French court announcements — bankruptcies, M&A, insolvencies$0.01/call
HATVP ScraperFrench lobbying registry — public-affairs intelligence$5/1K

EUR-Lex Scraper is part of dltik's open-government data portfolio: clean structured access to public legal, fiscal and regulatory sources for compliance, legal-tech and AI agents.