Corpus API
Structured, read-only access to the public regulatory corpus — machine-readable, tri-lingual metadata on EU digital regulation (DSA, AI Act, GDPR, DMA, NIS2).
Information for orientation and integration — not legal advice. See the legal posture and disclaimer below.
Four read-only endpoints
Base prefix /api/v1. Method is GET only — v1 is read-only. Every response (including errors) carries X-Funk-API-Version: v1.
| Method | Path | Purpose · what it returns |
|---|---|---|
| GET | /api/v1/meta |
Corpus metadata — counts, regime list, languages, corpus date, source checksum. |
| GET | /api/v1/regimes |
The regimes with their node and obligation counts (DSA, AI Act, GDPR, DMA, NIS2). |
| GET | /api/v1/nodes/{id} |
Single node — titles and summaries (de/en/zh), tags, concepts, source URL, edge counts. |
| GET | /api/v1/search |
Substring search over the corpus. Parameters: q (2–200 chars), optional regime, limit (default 10, capped at 25). |
Authentication & response headers
| API key | Header X-API-Key, checked in constant time. No keys configured server-side means the API answers 503 on every route (fail-closed) — it is never open by default. |
|---|---|
| Version header | X-Funk-API-Version: v1 on every response, including errors. |
| Quota headers | X-Quota-Remaining · X-Quota-Tier · X-Quota-Reset-At — remaining requests in the current window, tier name, and the ISO timestamp at which the window resets. |
| Rate limit | Retry-After is set on a 429 response — seconds until the current window resets. |
curl -s -H "X-API-Key: $KEY" \ "https://api.regingada.com/api/v1/search?q=transparency®ime=dsa&limit=10"
Error codes
| Status | Meaning |
|---|---|
403 | API key missing or invalid. |
404 | Node unknown or the id is malformed — the two are deliberately indistinguishable; the id-format allowlist is checked before any lookup, so traversal attempts also return 404. |
429 | The quota for the current window is used up; carries Retry-After. |
503 | No keys configured, or the metering store is unavailable — fail-closed, never an open endpoint. |
422 | Parameter violation (q length, unknown regime, limit below 1). |
Tiers & quotas
Three tiers with a fixed request quota per 30-day window and a finite firm cap (no runaway). Endpoint access differs per tier. The price figures below are a working draft and have not been approved.
| Tier | Quota · per 30 days | Endpoints | Price |
|---|---|---|---|
free |
1,000 | /meta, /search |
0 € Draft — non-binding, subject to approval |
pro |
20,000 | all four |
€ 49 / month Draft — non-binding, subject to approval |
firm |
200,000 | all four |
€ 390 / month Draft — non-binding, subject to approval |
No checkout on this page — no online payment. Keys are issued individually, only via Contact.
A data licence — not a legal service
| What it is | A read-only licence to structured information data (norm-text metadata, titles, summaries, node/edge structure) under the German Legal Services Act (RDG). It is not a legal service — no case-by-case assessment, no forecast, no scoring. |
|---|---|
| The fee | A flat, usage-based software/data licence fee (tier × quota), owed by the buyer to Regingada UG (haftungsbeschränkt). It carries no mandate or lead relationship and does not vary with any legal engagement. |
| Metering | The store holds only the sha256 hash of the API key plus request counters — no query content, no request bodies, no personal user data. |
| Hosting | EU / Germany; sub-processing only under a data-processing agreement (AVV/DPA). |
Terms of use for API access
Separate data-licence terms govern access to the Corpus API. They are a working draft, not yet in force; the final wording is pending legal review by RA Theo Funk.
Ask for the current draft by email — see Contact.
Information, not legal advice
The Corpus API provides orientation and information only. It is not legal advice. Individual-case advice is provided exclusively by Kanzlei Theo Funk under a separate mandate. Regingada UG (haftungsbeschränkt) — the software and data company — and the law firm are strictly separated.