303,525 datasets indexed1,419 publishers
Open Data IndexThe index of open data about the Netherlands
Sources›Economy
Global Legal Entity Identifier Foundation
International, relevant to the Netherlands

GLEIF, global register of LEI codes

A LEI (Legal Entity Identifier) is a twenty-character code every legal entity needs to trade on financial markets. The Global LEI Foundation (GLEIF) publishes the whole register openly: name, address, legal form, Chamber of Commerce number, status and who the direct and ultimate parent is. On 16 October 2026, 198,915 LEIs had a legal address in the Netherlands, out of more than 3.4 million worldwide.

EconomyFinanceOpenAPIDownloadWorld · legal entity
Up to date · updated 15 hours ago · checked 17:23
gleif.org
Screenshot of gleif.org

New LEIs of Dutch legal entities: 18,289 LEIs in 2025, 60% more than in 2014

New LEIs of Dutch legal entities, 2014 – 2025, in LEIs. The highest point was 2017 (62,364).

Source: GLEIF, Global LEI Index (api.gleif.org) · opgehaald 25 oktober 2026 · selection: juridisch adres in Nederland; jaar van eerste registratie (registration.initialRegistrationDate); alle statussen, ook verlopenOpen the table Single block

Dutch LEIs by status: valid (ISSUED) is the largest part, 65% in oktober 2026

Breakdown in oktober 2026: valid (ISSUED) 65%, lapsed, not renewed (LAPSED) 23%, retired (RETIRED) 12%, other (incl. annulled, duplicate) 0.2%. Total: 199,545 LEIs.

Source: GLEIF, Global LEI Index (api.gleif.org) · opgehaald 25 oktober 2026 · selection: juridisch adres in NederlandOpen the table Single block

What you can build with it1

What can you do with it?4 ideas

Getting started

From Chamber of Commerce number to LEI

Filter on entity.registeredAs and you get the LEI for a Chamber of Commerce number. ING Groep N.V. (KvK 33231073) has LEI 549300NYKK9MWM7GGW15.

Getting started

Who owns whom?

The direct-parent and ultimate-parent relations show which group is behind a company, also across borders. ING Groep has 6 direct and 71 ultimate subsidiaries with a LEI.

Advanced

Mapping letterbox companies

Find Dutch LEIs whose ultimate parent is in another country and count per country. You see which foreign groups use the Netherlands as a base.

Advanced

Lapsed registrations

A LEI must be renewed every year. Almost a quarter of Dutch LEIs had the status LAPSED in October 2026: not renewed, so the data may be out of date.

How to process it5 steps

  1. Count per country

    With page[size]=1 you fetch one record; the total is in meta.pagination.total. Use curl -g, otherwise it trips over the square brackets.

    https://api.gleif.org/api/v1/lei-records?filter[entity.legalAddress.country]=NL&page[size]=1
  2. Look up by KvK number

    registeredAs is the number in the trade register; registration authority RA000463 is the Netherlands Chamber of Commerce.

    https://api.gleif.org/api/v1/lei-records?filter[entity.registeredAs]=33231073&filter[entity.legalAddress.country]=NL
  3. Follow the group structure

    Each LEI has relationship links. direct-children gives the subsidiaries, ultimate-parent the top of the group.

    https://api.gleif.org/api/v1/lei-records/549300NYKK9MWM7GGW15/direct-children
  4. New since a date

    Date fields accept > for 'after'. This counts all Dutch LEIs issued since 1 January 2025 (37,662 on 16 October 2026).

    https://api.gleif.org/api/v1/lei-records?filter[entity.legalAddress.country]=NL&filter[registration.initialRegistrationDate]=%3E2025-01-01&page[size]=1
  5. Everything at once

    The golden copy is the whole register as CSV, JSON or XML, three times a day. On 16 October 2026: 3,463,900 records, 481 MB as a CSV zip.

    https://goldencopy.gleif.org/api/v2/golden-copies/publishes/latest

Interesting combinations

Similar sources

  • Chamber of Commerce business register

    The trade register has all Dutch businesses, including sole traders, but the API is paid. GLEIF only has legal entities with a LEI, but openly and with group relations.

  • OpenCorporates not in the index yet

    Collects trade registers from many countries, but the API needs a token (HTTP 401 without one, 16 Oct 2026). Read the reuse terms before you publish.

What to watch out for

  • Only those who need a LEI

    A LEI is mandatory for parties on financial markets (among other things since MiFID II in 2018). Most small businesses have none.

  • Lapsed is not dissolved

    LAPSED means the LEI was not renewed. The company may still exist; the data just are no longer checked.

  • Country is the current address

    The country filter looks at the current legal address. A company that moved abroad no longer counts for the Netherlands.

  • Parent only if known

    Group relations are only included if the parent has a LEI and the relation was reported. Otherwise an exception is given (for example 'natural persons').

  • Not every field can be filtered

    Filtering on legal form (entity.legalForm.id) returned an error on 16 October 2026. Count legal forms from the golden copy instead.

APIJSON:API (REST) · read 16 Oct 2026

StandardJSON:API (REST)docs
Access no key

No key or account. tested

Size3,464,394

LEI records worldwide, of which 198,993 with a legal address in the Netherlands (16 Oct 2026) tested

Formats

json

Base URL

https://api.gleif.org/api/v1

Endpoints 12

  • GET/lei-recordsSearch and filter all LEI records; the total is in meta.pagination.total.
  • GET/lei-records/{lei}One record: entity (name, addresses, legal form, registration number, status) and registration (dates, status, issuer).
  • GET/lei-records/{lei}/{direct-parent|ultimate-parent|direct-children|ultimate-children}Group relations. Without a reported parent 404; then …/direct-parent-reporting-exception gives the reason (e.g. NATURAL_PERSONS).
  • GET/lei-records/{lei}/isinsISIN codes of securities linked to this LEI (ING Groep: 41).
  • GET/lei-records/{lei}/lei-issuerThe issuing organisation (LOU) of this LEI.
  • GET/fuzzycompletions?field=entity.legalName&q={naam}Fuzzy search by name, with the LEI in relationships.
  • GET/autocompletions?field=fulltext&q={tekst}Suggestions while typing, with highlighting.
  • GET/entity-legal-forms/{code}Legal form from the ISO 20275 list (54M6 = private limited company, B5PM = public limited company).
  • GET/registration-authorities/{code}Registers (RA000463 = the KvK business register).
  • GET/lei-issuersAll 41 issuing organisations.
  • GET/countriesCountries (250) with code and name; also /regions and /jurisdictions.
  • GET/fieldsDescription of all fields and filter operators.

Filtering tested

JSON:API filters filter[field]=value. Several values with a comma (filter[entity.legalAddress.country]=NL,BE), exclude with ! (filter[registration.status]=!ISSUED), dates with > or >= (=>2025-01-01) and a range with .. (2025-01-01..2025-12-31), * as wildcard in names (ING*). Use curl -g, otherwise the brackets trip it up.

=,!>>=<<=..*

Parameters 6

filter[<veld>]Filter on a field from /fields with context FILTER_LEIREC, e.g. filter[entity.legalAddress.country]=NL, filter[entity.registeredAs]=33231073, filter[entity.legalForm]=54M6, filter[entity.addresses.city]=Amsterdam.tested
filter[fulltext]Free search in all names (rabobank: 150).tested
page[size]1 to 200 per page (201 returns 400).tested
page[number]Page number; page[number] × page[size] must not exceed 10,000.tested
page[cursor]page[cursor]=* starts cursor paging for larger sets; then follow links.next.tested
sortSort field, - for descending (sort=-registration.initialRegistrationDate). Only fields with sortable=true in /fields. Without sort the newest registration came first.tested

Fields of a LEI record (attributes, selection) 14

NameTypeMeaning
leistringDe LEI (20 tekens)
entity.legalName.namestringJuridische naam
entity.legalAddressobjectJuridisch adres (country, city, postalCode, addressLines)
entity.headquartersAddressobjectAdres van het hoofdkantoor
entity.registeredAt.idstringRegister (RA000463 = KvK)
entity.registeredAsstringNummer in dat register: het KvK-nummer
entity.legalForm.idstringRechtsvormcode ISO 20275 (54M6 bv, B5PM nv)
entity.categorystringGENERAL, FUND, BRANCH, SOLE_PROPRIETOR …
entity.statusstringACTIVE of INACTIVE (het bedrijf)
registration.statusstringISSUED, LAPSED, RETIRED, ANNULLED, DUPLICATE, PENDING_TRANSFER, PENDING_ARCHIVAL, MERGED (de LEI)
registration.initialRegistrationDatedatetimeEerste uitgifte van de LEI
registration.nextRenewalDatedatetimeVolgende verlenging
Show all 14
NameTypeMeaning
registration.corroborationLevelstringIn hoeverre de gegevens gecontroleerd zijn
biclijstGekoppelde BIC-codes

Limits and pitfalls

  • page[size] at most 200 and page numbering at most 10,000 records deep; beyond that cursor paging (page[cursor]=*). No rate limit headers seen. tested
  • Filter on legal form with filter[entity.legalForm]=54M6 (164,791 Dutch private companies). filter[entity.legalForm.id] returns "Filter should contain only allowed values", as does entity.legalAddress.city (use entity.addresses.city). tested
  • > and >= gave the same count for dates (37,749 Dutch LEIs from 2025). Counting per year works directly with a range: 2025-01-01..2025-12-31 gave 18,246. tested
  • entity-legal-forms ignored filter[country]=NL (all 3,599 legal forms came back). Fetch a code directly or filter on countryCode yourself. tested
  • The API follows the golden copy, published three times a day (00, 08, 16 UTC); meta.goldenCopy.publishDate tells which. The API ran one publication behind (08:00 while 16:00 was out). The full register: goldencopy.gleif.org/api/v2/golden-copies/publishes/latest (CSV zip 481 MB, 3,464,825 records). tested
  • LAPSED means the LEI wasn't renewed, not that the company is gone. For the company, look at entity.status. experience
  • api.gleif.org's robots.txt allows everything; goldencopy.gleif.org/robots.txt returned 403 (the API there works). tested

Try it HTTP 200 · 807 ms · 16 Oct

https://api.gleif.org/api/v1/lei-records?filter[entity.legalAddress.country]=NL&filter[entity.registeredAs]=33231073&page[size]=1
{
  "meta": {
    "goldenCopy": {
      "publishDate": "2026-10-16T08:00:00Z"
    },
    "pagination": {
      "currentPage": 1,
      "perPage": 1,
      "from": 1,
      "to": 1,
      "total": 1,
      "lastPage": 1
    }
  },
  "links": {
    "first": "https://api.gleif.org/api/v1/lei-records?filter%5Bentity.legalAddress.country%5D=NL&filter%5Bentity.registeredAs%5D=3…",
    "last": "https://api.gleif.org/api/v1/lei-records?filter%5Bentity.legalAddress.country%5D=NL&filter%5Bentity.registeredAs%5D=3…"
  },
  "data": [
    {
      "type": "lei-records",
      "id": "549300NYKK9MWM7GGW15",
      "attributes": {
        "lei": "549300NYKK9MWM7GGW15",
        "entity": {
          "legalName": {
            "name": "ING GROEP N.V.",
            "language": "en"
          },
          "otherNames": [
            {
              "name": "INTERNATIONALE NEDERLANDEN GROEP N.V.",
              "language": "nl",
              "type": "PREVIOUS_LEGAL_NAME"
            }
          ],
          "transliteratedOtherNames": [],
          "legalAddress": {
            "language": "nl",
            "addressLines": [

Shortened response, saved at harvest time. Click the URL for the real, current response.

Read from GLEIF API documentation (Postman) · /fields: all 336 fields with type, operators, sortability and the filter context they work in · GLEIF: explanation of the API and the golden copy. Labels: from the description stated in what the api itself publishes. tested from our own small call. platform applies to every api on this platform, per its documentation. experience learned while building open data index.

How to fetch it

curl -g "https://api.gleif.org/api/v1/lei-records?filter[entity.registeredAs]=33231073&filter[entity.legalAddress.country]=NL"

More in this topic

See how this page is built
bron: gleif-lei
blokken: []
secties:
  - ideeen
  - verwerken
  - koppelingen
  - vergelijkbaar
  - beperkingen
  - code
cache:
  tag: bron:gleif-lei
  ververs: na statuscheck, als de bron nieuwer is
statuscheck:
  methode: publicatiemoment van de golden copy in de API (meta.goldenCopy.publishDate)
  verwacht: dagelijks

Source: content/bronnen/gleif-lei.yaml · Markdown