Skip to main content
GET
/
v1
/
transparenzregister
/
extracts
/
{extract_id}
JavaScript
import Openregister from 'openregister';

const client = new Openregister({
  apiKey: process.env['OPENREGISTER_API_KEY'], // This is the default and can be omitted
});

const transparenzregisterExtract = await client.transparenzregister.extract.getV1('extract_id');

console.log(transparenzregisterExtract.id);
{
  "id": "<string>",
  "status": "completed",
  "company_id": "<string>",
  "ekrn": "<string>",
  "reference_number": "<string>",
  "submitted_at": "2023-11-07T05:31:56Z",
  "completed_at": "2023-11-07T05:31:56Z",
  "report": {
    "created_at": "2023-12-25",
    "notice_type": "<string>",
    "validity": {
      "from": {
        "date": "2023-12-25",
        "note": "<string>"
      },
      "until": {
        "date": "2023-12-25",
        "note": "<string>"
      }
    },
    "status_flags": {
      "deleted": true,
      "deletion_date": "2023-12-25",
      "discrepancy_note": "<string>",
      "corrected_references": [
        "<string>"
      ],
      "corrected_by_reference": "<string>"
    },
    "groups": [
      {
        "position": 123,
        "interest_type": "<string>",
        "description": "<string>"
      }
    ],
    "ubos": [
      {
        "position": 123,
        "natural_person": {
          "title": "<string>",
          "first_name": "<string>",
          "last_name": "<string>",
          "full_name": "<string>",
          "date_of_birth": "2023-12-25",
          "nationalities": [
            "<string>"
          ],
          "city": "<string>",
          "country": "<string>"
        },
        "interest": {
          "type": "<string>",
          "scope": "<string>",
          "percentage": 123
        }
      }
    ],
    "fictional_ubo_reason": "<string>"
  },
  "documents": [
    {
      "document_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "url": "<string>",
      "format": "<string>",
      "filename": "<string>"
    }
  ]
}

Get Transparenzregister extract

Returns the current state of a previously ordered extract. Poll this endpoint after calling the order extract endpoint until status is completed or failed. Recommended polling interval: every 5–10 seconds. Most extracts complete within 5-60 seconds, but can take longer depending on Transparenzregister availability.
  • 200 — Extract retrieved; may still be processing or terminal completed / failed
  • 202 — Extract is still processing (same response schema as 200)
Do not send X-Credential-Name on this request. Polling reuses the credential mode stored when the extract was created; sandbox extracts keep using the Transparenzregister test client automatically. Once status is completed, results are cached — you can fetch the same extract_id again without re-processing or incurring additional costs. Cost: 0 credits

Status values

StatusMeaningWhat to do
processingQueued or still handled by TransparenzregisterContinue polling
completedStructured report and/or documents are readyRead report and documents
failedExtract could not be completedTerminal — order a new extract

Top-level extract fields

FieldDescription
idStable OpenRegister extract id (e.g. tre_12345678)
statuscompleted | processing | failed
company_idCompany identifier; null for sandbox extracts
ekrn14-character Einheitliche und kontinuierliche Rechtseinheitsnummer (upstream ekrn)
reference_numberUpstream referenznummer (6 characters); identifies the register extract and chains corrections
submitted_at / completed_atOpenRegister timestamps (not present in upstream JSON)

report — parsed register entry

Derived from the JSON variant of the extract document.
API fieldUpstreamNotes
created_aterstellungsdatumdd.mm.jjjj → ISO YYYY-MM-DD
notice_typeangabenZumAuszug.artDerMitteilunge.g. Mitteilung wirtschaftlich Berechtigter nach §§ 20, 21 GwG, Automatische Eintragung nach § 20a GwG
validity.from / validity.untilgueltigVonDatum / gueltigVonSonstiges, gueltigBisDatum / gueltigBisSonstigesEach side has date and/or note (e.g. Unbekannt, vor dem 01.10.2017, bis auf Weiteres)
status_flags.deletedloeschkennzeichen
status_flags.deletion_dateloeschdatumOnly when entity is deleted
status_flags.discrepancy_notevermerkUnstimmigkeitsmeldunge.g. ongoing § 23a GwG review, or completed on a date
status_flags.corrected_referencesberichtigtList of 6-char reference numbers this extract corrects
status_flags.corrected_by_referencewirdBerichtigtDurchReference of a later extract that corrects this one (see EiS § 8)
groups[].positiongruppen[].position
groups[].interest_typegruppen[].wirtschaftlichesInteresseGruppeOften the § 3 Abs. 3 Nr. 4 GwG group-of-beneficiaries case
groups[].descriptiongruppen[].beschreibungGruppeFree text (up to 10 000 chars upstream)
ubos[].positionwirtschaftlichBerechtigte[].position
ubos[].natural_person.titletitele.g. Dr. / Prof. — not a job title
ubos[].natural_person.first_name / last_namevorname / nachnameAs on ID document
ubos[].natural_person.full_nameDerived (space-joined first + last)
ubos[].natural_person.date_of_birthgeburtsdatumISO date
ubos[].natural_person.nationalitiesstaatsangehoerigkeitMapped toward ISO 3166-1 alpha-2 where known (DeutschlandDE, ÖsterreichAT, SchweizCH; 2-letter codes uppercased)
ubos[].natural_person.citywohnortPrimary residence
ubos[].natural_person.countrywohnSitzLandSame country mapping as nationalities
ubos[].interest.typewirtschaftlichesInteresseArtLegal category (capital, voting rights, control, trust roles, foundation, etc. — see EiS § 7.1 enumeration)
ubos[].interest.scopewirtschaftlichesInteresseUmfangFree text (up to 10 000 chars)
ubos[].interest.percentageDerived: best-effort parse of a percentage from scope text (regex); null if none found — not authoritative
fictional_ubo_reasongrundFiktiveWbWhen no natural-person UBO per § 3 GwG could be determined (enumerated upstream strings)

ubos[].interest.type — enumeration

Values are the full German strings returned by the register, including legal references. Examples include:
  • Beteiligung an der Vereinigung selbst, insbesondere der Höhe der Kapitalanteile (§ 19 Abs. 3 Nr. 1a GwG)
  • Beteiligung an der Vereinigung selbst, insbesondere der Stimmrechte (§ 19 Abs. 3 Nr. 1a GwG)
  • Ausübung von Kontrolle auf sonstige Weise (§ 19 Abs. 3 Nr. 1b GwG)
  • Treugeber (Settlor), Trustee oder Protektor (§ 3 Abs. 3 Nr. 1 GwG)
  • Mitglied des Vorstands der Stiftung (§ 3 Abs. 3 Nr. 2 GwG)
  • Begünstigter (§ 3 Abs. 3 Nr. 3 GwG)
  • Person mit sonstigem beherrschendem Einfluss auf Vermögensverwaltung / Ertragsverteilung (§ 3 Abs. 3 Nr. 5 GwG)
  • Sonstige Funktion des gesetzlichen Vertreters (§ 19 Abs. 3 Nr. 1c GwG)
  • Funktion des geschäftsführenden Gesellschafters oder Partners (§ 19 Abs. 3 Nr. 1c GwG)
  • Person mit beherrschendem Einfluss nach § 3 Abs. 3 Nr. 6 GwG
  • Funktion des gesetzlichen Vertreters, geschäftsführenden Gesellschafters oder Partners (§ 19 Abs. 3 Nr. 1c GwG)
  • Person mit beherrschendem Einfluss auf eine Vereinigung, die Mitglied des Vorstands der Stiftung ist oder die als Begünstigte der Stiftung bestimmt worden ist (§ 3 Abs. 3 Nr. 6a GwG)
  • Person mit beherrschendem Einfluss auf eine Vereinigung, die als Treugeber (Settlor), Verwalter von Trusts (Trustee) oder Protektor handelt oder die als Begünstigte der Rechtseinheit bestimmt worden ist (§ 3 Abs. 3 Nr. 6b GwG)

fictional_ubo_reason — upstream grundFiktiveWb

When set, typical values include:
  • Es wurde keine natürliche Person ermittelt, die die Voraussetzungen eines wirtschaftlich Berechtigten nach § 3 Abs. 1 oder Abs. 2 S. 1 - 4 GwG erfüllt.
  • Die Ermittlung eines wirtschaftlich Berechtigten nach § 3 Abs. 1 oder Abs. 2 S. 1 - 4 GwG war nach Durchführung umfassender Prüfungen nicht möglich.
  • keine Angabe

documents[]

FieldDescription
document_idStable UUID for this document
urlShort-lived download URL
formate.g. pdf (human-readable extract), json (structured extract feeding report), svg (Eigentums- und Kontrollstrukturübersicht when present — EiS § 9), xml when returned by TR
filenameSuggested filename

Authorizations

Authorization
string
header
required

API Key Authentication Provide your API key as a Bearer token in the Authorization header.

Path Parameters

extract_id
string
required

Extract ID from the submit endpoint. Example: "tre_12345678"

Response

Extract retrieved successfully

Transparenzregister extract resource including processing state, parsed report, and downloadable documents.

id
string
required

Stable extract identifier. Example: "tre_12345678"

status
enum<string>
required

Status of the Transparenzregister extract.

Available options:
completed,
processing,
failed
company_id
string | null

Company identifier associated with this extract request. May be null when using sandbox credentials.

ekrn
string | null

EKRN used to request this extract.

reference_number
string | null

Transparenzregister reference number from the extract.

submitted_at
string<date-time>

Timestamp when extract submission started.

completed_at
string<date-time> | null

Timestamp when extract processing completed.

report
object

Parsed Transparenzregister extract report limited to UBO-relevant fields.

documents
object[]

URLs for downloading available extract documents.