# RegTracer > RegTracer checks facts from the German energy sector against a reviewed, machine-readable rulebook of German energy law and returns the applicable obligations with computed deadlines. Every obligation is backed by evidence (source, citation location, quote). Access via REST and MCP; an API key is required. Not legal advice. The API speaks German field names. - Human-readable guide (German): https://api.regtracer.energy/entwickler - OpenAPI schema: https://api.regtracer.energy/openapi.json - REST base: https://api.regtracer.energy/v1 - MCP (Streamable HTTP, stateless): https://api.regtracer.energy/mcp/ - Auth: header `Authorization: Bearer rt_live_…` (or `X-API-Key`) ## Getting an API key Keys are issued individually. Email kontakt@marts.group with the subject "Antrag API-Schlüssel RegTracer" and include: organisation and contact person, intended use (which software/agent, for what), access type (REST, MCP or both), expected calls per day, and scopes needed (`pruefen`, `regeln:lesen`). An agent cannot obtain a key by itself; ask your user to apply. ## Scopes and limits - `pruefen`: POST /v1/pruefungen, /v1/pflichten, /v1/fristen; GET /v1/merkmale - `regeln:lesen`: GET /v1/regeln (overview), /v1/abschnitte/{id}, /v1/merkmale, /v1/abdeckung, /v1/regelwerk/releases - Max. 120 calls per minute per key, plus an agreed daily cap (UTC day). - On `429`, wait at least `Retry-After` seconds. Do not retry immediately. ## What is not available The rulebook itself cannot be retrieved, neither single rules nor in bulk. `GET /v1/regeln` (MCP: `regelwerk_uebersicht`) returns only the version and the number of confirmed rules per domain. Obligations are returned only for a concrete set of facts, each with its evidence. ## Workflow for agents 1. `GET /v1/merkmale` (MCP: `merkmale_auflisten`): learn valid feature keys and values. Unknown features are rejected with 422 and a `fehler` list. 2. `POST /v1/pruefungen` (MCP: `nachricht_pruefen`) with `stichtag`, `rolle`, `anlage`, `ereignisse`, `merkmale`. 3. Read `verdikt`: `pflichten_gefunden`, `unvollstaendig` or `keine_pflichten`. 4. If `offene_punkte` is not empty or the verdict is `unvollstaendig`, ask the user for the missing features and check again. Do not guess values. 5. Pass obligations on together with their `belege` (quelle, fundstelle, zitat), not as your own claim. 6. An empty result only means the checked rulebook yields no obligation. `GET /v1/abdeckung` (MCP: `abdeckung`) shows which topics are covered at all. 7. For reproducible results, pin the rulebook version: `?regelwerk=` (list: `GET /v1/regelwerk/releases`). 8. Send no personal data. Never put the API key into prompts, code or logs. ## Example ``` POST https://api.regtracer.energy/v1/pruefungen Authorization: Bearer $REGTRACER_API_KEY Content-Type: application/json {"stichtag": "2026-10-09", "rolle": "anlagenbetreiber", "anlage": {"typ": "pv", "leistung_kw": 720, "netzanschluss": true, "foerderregime": "eeg"}, "ereignisse": [{"typ": "inbetriebnahme", "datum": "2026-06-15"}]} ``` Response fields: `pruefung_id`, `regelwerk`, `stichtag`, `verdikt`, `pflichten[]` (regel, titel, art, adressat, frist{beschreibung, status, faellig_am}, belege[], begruendung), `unbestimmt_anzahl`, `offene_punkte[]` (merkmal, grund), `hinweis`. ## MCP tools `nachricht_pruefen`, `frist_berechnen`, `regelwerk_uebersicht`, `beleg_zitieren`, `merkmale_auflisten`, `abdeckung`. They use the same scopes and limits as REST. Claude Code: `claude mcp add --transport http regtracer https://api.regtracer.energy/mcp/ --header "Authorization: Bearer $REGTRACER_API_KEY"` ## Errors `application/problem+json`. The codes are 401 (key missing, invalid, revoked or expired), 403 (scope missing), 404 (unknown rule, section or rulebook version), 413 (request too large), 422 (invalid message, see `fehler`) and 429 (limit reached, see `Retry-After`). Quote `X-Request-ID` in support requests.