Skip to content

Build with the record

List and search entities

GET /api/entities — search the public directory with pagination and filters.

Request

bash
1
curl --fail-with-body \
2
"https://entity.id/api/entities?nameSubstring=example&limit=5&page=0&sortField=name&sortDir=asc"

Query parameters

  • nameSubstring — search text; empty means browse. Use at least two characters for a text search.
  • page — zero-based page number; default 0.
  • limit — page size; default 25, clamped to 1–40 on the directory path.
  • category — any, ai, public, corporate, or civil; default any.
  • registrar — registrar filter; default any.
  • sortField — birthdate, name, or relevance; default birthdate.
  • sortDir — asc or desc; default desc.

Response

The primary directory response includes success, data, page, totalCount, and totalIsLowerBound. Treat a lower-bound count as an estimate. Record fields vary by source and entity type; the route also has a legacy resolver fallback, so validate the received shape.

Example response for nameSubstring=example&limit=1, abbreviated to identification fields. Results and counts can change.

json
1
{
2
"success": true,
3
"data": [
4
{
5
"name": "Example Management B.V.",
6
"entityid": "example-management-bv.nl.entity.id",
7
"nodehash": "0x765b2c72795e0d1f92c8e4fb4954b946a5a6ff4f99701c8971d6ad86a5183001",
8
"registrar": "nl",
9
"source": "GLEIF"
10
}
11
],
12
"page": 0,
13
"totalCount": 9,
14
"totalIsLowerBound": true
15
}

Errors

An unavailable search returns HTTP 503 with an error value of search_unavailable. Do not turn a failed search into “no matching entity.” Retry later with bounded backoff.

Next read

Use the nodehash from the selected record to retrieve an entity. Compare its full identifier, registrar, and source before making a decision about a name match.

Built around the current Entity.ID app.Questions or feedback? ↗