EU EUR-Lex Legislation & Legal Acts Scraper
Pricing
from $10.20 / 1,000 results
EU EUR-Lex Legislation & Legal Acts Scraper
Scrape EU legal acts from EUR-Lex: regulations, directives and decisions with CELEX number, title, document type, dates of document and entry into force, author institution, EuroVoc subject descriptors and Official Journal reference. Filter by keyword, type and date. Export to JSON, CSV or Excel.
Pricing
from $10.20 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
EU EUR-Lex Legislation & Legal Acts Scraper
Here is one real result, with every field the actor returns (all add-ons enabled; the long fullText is trimmed here, the run returns it in full):
{"celex": "32026R1165","title": "Regulation (EU) 2026/1165 of the European Parliament and of the Council of 20 May 2026 amending Regulation (EU) No 528/2012 as regards the extension of certain data protection periods (Text with EEA relevance)","documentType": "Regulation","typeLetter": "R","dateDocument": "2026-05-20","dateInForce": "2026-06-15","dateEndValidity": "9999-12-31","inForce": true,"author": "Council of the European Union","authors": ["Council of the European Union", "European Parliament"],"descriptors": ["biocide", "chemical product", "data protection", "market approval", "marketing standard"],"ojReference": "OJ 2026/1165","eli": "http://data.europa.eu/eli/reg/2026/1165/oj","url": "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32026R1165","searchQuery": "data protection","source": "EUR-Lex","fullText": "L_202601165EN.000101.fmx.xml Official Journal of the European Union EN L series 2026/1165 26.5.2026 REGULATION (EU) 2026/1165 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL of 20 May 2026 amending Regulation (EU) No 528/2012...","aiSummary": "This regulation amends existing EU rules on biocidal products to extend the data protection periods for certain active substances until December 31, 2030. It applies to companies involved in the approval and marketing of biocidal products...","aiExtract": {"subjectMatter": "Amendment of Regulation (EU) No 528/2012 regarding the extension of certain data protection periods for biocidal products.","appliesTo": ["biocidal active substances", "biocidal products"],"keyObligations": ["Extend data protection periods for active substance/product-type combinations until 31 December 2030."],"amendsOrRepeals": ["Regulation (EU) No 528/2012"],"effectiveDate": "2026-05-20","penalties": null},"observedAt": "2026-08-14T05:59:53.268Z"}
The most complete EU EUR-Lex legislation scraper available. It returns every field EUR-Lex exposes for each legal act, including CELEX number, document and in-force dates, authors, EuroVoc descriptors, Official Journal reference, and ELI, plus optional add-ons for the full act text and AI summary and structured extract, and it gives you keyword, document type, and date filters to target exactly the acts you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches EUR-Lex (the EU's official legal database) for each keyword you pass, applies the document type and date filters, and writes one normalized record per legal act to the run's dataset. Each record carries the CELEX identifier, title, document type, document and in-force dates, validity, authoring institutions, EuroVoc descriptors, Official Journal reference, ELI, and canonical URL. Optional add-ons fetch the full plain text of each act and, using AI, write a plain-English summary and extract a structured legal profile (subject matter, who it applies to, obligations, amendments/repeals, effective date, penalties).
Data covers EU legal acts (regulations, directives, decisions, recommendations) published on EUR-Lex. Missing source values are returned as null or empty, never invented.
Quickstart
Open the actor, paste this into the input, and press Run. It returns EU legal acts about energy since 2024.
{"searchQueries": ["energy"],"documentTypes": ["regulation", "directive", "decision"],"fromDate": "2024-01-01","maxActs": 10}
Add more keywords to searchQueries (each runs its own search), or leave it empty to return all acts within the type and date filters.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | string[] | no | ["energy"] | Keywords to match in the legal act title. Each keyword runs a separate search. Empty returns all acts within the type and date filters. |
documentTypes | enum[] | no | ["regulation","directive","decision"] | Which kinds of legal act to include: regulation, directive, decision, recommendation. |
fromDate | string | no | 2024-01-01 | Include acts with a document date on or after this date (YYYY-MM-DD). |
toDate | string | no | (today) | Include acts with a document date on or before this date (YYYY-MM-DD). |
maxActs | integer | no | 30 | Maximum number of legal acts to collect across all searches. |
withFullText | boolean | no | false | Paid add-on. Fetches the full plain text of each act from EUR-Lex. Billed only when text is retrieved. |
withSummary | boolean | no | false | Paid AI add-on. Adds a plain-English summary (what it does, who it applies to, key obligations). Billed only when produced. |
withExtract | boolean | no | false | Paid AI add-on. Extracts structured data: subject matter, who it applies to, obligations, amendments/repeals, effective date, penalties. Billed only when produced. |
Output reference
One dataset item per legal act. Types: string, boolean, array, object, or null when the source value is absent. fullText, aiSummary, and aiExtract appear only when the matching add-on is enabled.
| Field | Type | Description |
|---|---|---|
celex | string | CELEX number (unique identifier of the act). |
title | string | Full official title of the legal act. |
documentType | string | Act type: Regulation, Directive, Decision, or Recommendation. |
typeLetter | string | Single-letter type code (for example R for regulation). |
dateDocument | string | Document date (YYYY-MM-DD). |
dateInForce | string | Date the act entered into force, when set. |
dateEndValidity | string | End of validity date, or 9999-12-31 when open-ended. |
inForce | boolean | true when the act is currently in force. |
author | string | Primary authoring institution. |
authors | string[] | All authoring institutions. |
descriptors | string[] | EuroVoc subject descriptors. |
ojReference | string | Official Journal reference. |
eli | string | European Legislation Identifier URI. |
url | string | Canonical EUR-Lex URL for the act. |
searchQuery | string | The keyword that matched this act. |
source | string | Data source label (EUR-Lex). |
fullText | string | Full plain text of the act (only with withFullText), capped at 200,000 characters. |
aiSummary | string | AI plain-English summary (only with withSummary). |
aiExtract | object | AI structured legal profile: subjectMatter, appliesTo, keyObligations, amendsOrRepeals, effectiveDate, penalties (only with withExtract). |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
On a failed run, a single item with a populated error field is written instead.
Example output record
Real record from a live run (input {"searchQueries": ["data protection"], "documentTypes": ["regulation"], "maxActs": 2, "withFullText": true, "withSummary": true, "withExtract": true}). The fullText and aiSummary are trimmed here; the run returns them in full.
{"celex": "32026R1165","title": "Regulation (EU) 2026/1165 of the European Parliament and of the Council of 20 May 2026 amending Regulation (EU) No 528/2012 as regards the extension of certain data protection periods (Text with EEA relevance)","documentType": "Regulation","typeLetter": "R","dateDocument": "2026-05-20","dateInForce": "2026-06-15","dateEndValidity": "9999-12-31","inForce": true,"author": "Council of the European Union","authors": ["Council of the European Union", "European Parliament"],"descriptors": ["biocide", "chemical product", "data protection", "market approval", "marketing standard"],"ojReference": "OJ 2026/1165","eli": "http://data.europa.eu/eli/reg/2026/1165/oj","url": "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32026R1165","searchQuery": "data protection","source": "EUR-Lex","aiExtract": {"subjectMatter": "Amendment of Regulation (EU) No 528/2012 regarding the extension of certain data protection periods for biocidal products.","appliesTo": ["biocidal active substances", "biocidal products"],"keyObligations": ["Extend data protection periods for active substance/product-type combinations until 31 December 2030."],"amendsOrRepeals": ["Regulation (EU) No 528/2012"],"effectiveDate": "2026-05-20","penalties": null},"observedAt": "2026-08-14T05:59:53.268Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~eu-eurlex-legislation-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQueries":["energy"],"documentTypes":["regulation","directive"],"fromDate":"2024-01-01","maxActs":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~eu-eurlex-legislation-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQueries":["data protection"],"withSummary":true,"maxActs":50}'
Apify CLI:
apify call scrapers_lat/eu-eurlex-legislation-scraper \--input '{"searchQueries":["fisheries"],"maxActs":50}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per legal act record returned (
resultevent). See the pricing tab for the current per-result price. - Optional add-ons.
full_textis billed per act only when text is retrieved. AI add-ons (ai_summary,ai_extract) are billed per act and only when they produce output. Add-ons require a paid Apify plan. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results and add-ons. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxActs.
FAQ and troubleshooting
A run returned 0 records. Why? No act matched your keyword within the document type and date filters. Try a broader keyword, widen the date range, or add more document types. Zero-result runs are not charged.
What is a CELEX number?
CELEX is the unique identifier EUR-Lex assigns to every legal act. It appears as celex and is embedded in the url.
Can I get the full legal text?
Yes, enable withFullText. The full plain text is added as fullText (capped at 200,000 characters) and billed only when text is retrieved.
What does the AI extract return?
withExtract returns a structured profile: subjectMatter, appliesTo, keyObligations, amendsOrRepeals, effectiveDate, and penalties. withSummary adds a plain-English summary.
Which document types are supported?
Regulations, directives, decisions, and recommendations. Select any subset in documentTypes.
Is this an official EU tool? No. This actor is independent and has no affiliation with the European Union or the Publications Office. It reads only data that is publicly available on EUR-Lex.
Related scrapers
- EU CORDIS Research Projects Scraper: EU-funded research projects and grants.
- EU TED Tenders Scraper: EU public procurement notices.
- Federal Register Document Scraper: US Federal Register documents.
- CourtListener Scraper: US court opinions and dockets.
- EU Sanctions List Scraper: EU consolidated sanctions list.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with the European Union or EUR-Lex. Accesses only publicly available data on EUR-Lex.
