Acta

Unofficial mirror · English · refreshed every 30 minutes

Cite the article, not the PDF.

Acta mirrors in-force EU secondary legislation as addressable articles, recitals and annexes — each with a SHA-256 hash and the official source URL, so a filing tool can pin the exact text a rule was evaluated against.

Free tier, no card required. Keys are issued by email.

resolve a citation
curl -s --get --data-urlencode 'q=Regulation (EU) 2023/956' \
  'https://acta.keldrion.com/v1/resolve'

Coverage

What is in the library right now

Counts are read live from the service, not from a marketing page. Acts with no English text manifestation keep their metadata and are excluded from search rather than indexed as empty rows.

Acts stored

53

In force

51

Addressable segments

984

articles, recitals, annexes

Change events

77

Why it exists

Filing infrastructure, not a search box

Pinned text
Every act and every segment has a SHA-256 hash of the bytes Acta stored. When the Publications Office changes an instrument, the hash changes and atext_replacedevent is emitted.
Citable anchors
acta:eu:32023R0956:art_2 is a stable address for Article 2. One HTTP call returns its text, heading, hash and source — ready to render beside a rule.
A change feed
New publications, amendments, corrigenda and consolidations, each with a severity from P0 to P3, filterable by watchlist. Webhooks for the ones that cannot wait.

How it works

Three calls cover the whole workflow

  1. 1

    Resolve whatever the caller pasted

    A CELEX number, an ELI URL, a EUR-Lex link, or plain wording like “Regulation (EU) 2023/956”. Unresolved queries return an empty list, not an error.

  2. 2

    Fetch the exact article

    One call returns the text, its hash, its heading and the official source URL. No PDF parsing, no scraping, no guessing at anchors.

  3. 3

    Watch for changes

    Poll the change feed or subscribe a webhook. Severity tells you what actually matters: a corrigendum to a watched act is P0.

1 · resolve
curl -s --get --data-urlencode 'q=Regulation (EU) 2023/956' \
  'https://acta.keldrion.com/v1/resolve'
2 · fetch one article
curl -s -H "Authorization: Bearer $ACTA_KEY" \
  'https://acta.keldrion.com/v1/acts/32023R0956/segments/art_2'
3 · search article text
curl -s --get --data-urlencode 'q="carbon border"' \
  --data-urlencode 'in_force=true' \
  'https://acta.keldrion.com/v1/search'

Provenance

Every response tells you where it came from

200 OK
{
  "id": "acta:eu:32023R0956:art_2",
  "kind": "article",
  "anchor": "art_2",
  "heading": "Scope",
  "hash": "3fc30218e3176d37…",
  "content_hash": "1260a307702d241d…",
  "source_url": "http://data.europa.eu/eli/reg/2023/956/oj",
  "retrieved_at": "2026-09-29T18:00:00Z",
  "disclaimer": {
    "official": false,
    "legal_advice": false,
    "source": "Publications Office of the European Union"
  }
}
Hashes, not claims
The hash identifies the bytes Acta stored. It lets you detect that text changed and prove which version a decision used. It is not a signature and not an official instrument.
Official links, always
Every act keeps the ELI or Cellar URL it came from, and consolidations are marked as reading aids so nobody mistakes one for the authentic text.
Acta is an unofficial mirror of texts published by the Publications Office of the European Union. Consolidations are reading aids and are not authentic. Acta is not legal advice and is not a substitute for EUR-Lex or the Official Journal. Hashes identify the bytes Acta stored, not an official instrument. Full disclaimer

Pricing

Free to evaluate. Paid to depend on.

The free tier is a real tier, not a demo: the whole library, with limits sized for a prototype. Commercial use and guarantees start at €49 a month.

Free
€0forever
Evaluate against the real library. No card, no sales call.
Start free
  • The full library: every act, article, recital and annex
  • Resolve, fetch, search and the change feed
  • Hashes and official source URLs on every response
  • 1,000 requests per day
  • 25 MB of act text per month
  • No commercial use — evaluation and personal projects only
  • No webhooks (poll the change feed instead)
  • No uptime commitment
  • No support beyond the docs
Most popular
Commercial
€49per month
For products that depend on pinned, citable legal text.
Get a key
  • Commercial use, including redistribution inside your product
  • 250,000 requests per day
  • 5 GB of act text per month
  • Webhooks with HMAC-signed deliveries
  • Change feed filtered by watchlist and severity
  • 99.9% monthly uptime target
  • Email support, next business day
  • No redistribution of the library as a standalone dataset
  • No SLA credits — that is the Enterprise plan
Enterprise
Custom
For regulated buyers with procurement and audit requirements.
Talk to us
  • Everything in Commercial
  • Written SLA with service credits
  • EU-region pinning and documented backup location
  • Data processing agreement
  • Dedicated support channel and named contact
  • Custom watchlists and higher limits
Compare plans in detail

Prices exclude VAT. Cancel any time; there is no annual lock-in.

Point your citation UI at real articles.

Resolve a citation, fetch the article, pin its hash. That is the whole integration.