Getting started with the API
One read-only JSON API serves matching, entity look-ups and search over every record we publish. This page explains what each part does and where to go next.
What the API does
The Crown Intelligence data service is a read-only JSON API over the same records this site shows. Three endpoints do most of the work:
POST /api/match/<collection>compares what you know about a party (names, birth date, nationality, IMO number, entity type) with every candidate record in a collection and returns scored, explained results. Use it for screening.GET /api/entity/<id>returns one record with its listings and the other registers that name the same party, or a merged entity built from all of them.GET /api/search/<collection>?q=finds records by name with filters. Use it for look-ups and interfaces, not for screening decisions: search results are not scored.
Supporting endpoints list the collections (/api/catalog), the scoring methods (/api/algorithms), sources, programmes, countries and facets. The endpoint reference lists them all.
Getting access
No API key is needed today. The public endpoints answer anonymous requests. Use in a business process, systematic screening and redistribution are covered by a commercial licence; see Authentication for details.
Make your first request
- Follow the quick start to send a match request and read the result.
- Read Authentication for how access and limits work.
- Load the OpenAPI 3 description into your API client or code generator.
- Try the same matcher interactively on Screening; it shows the cURL command for each check.
The endpoints
- The matching APIBatch screening with scores and explanations. Deep dives: the request and the response.
- The entities APIA record with its listings nested, or a merged entity across registers.
- The search APIName search with filters and facets; not for screening decisions.
- Endpoint referenceEvery route, parameter and field, with code samples.
Understand the results
- Model reference: entity types and the properties we publish.
- Risk topics: the
topicstags on every result. - Sanctions programmes: the
programmeon each listing. - Flat and nested entities: how records, listings and merged entities fit together.
Build a screening process
- Tune the matcher: threshold, scoring method, filters and inputs.
- Matching algorithms: features, effects and constants of each scoring method.
- Building a monitoring workflow: re-screen as lists change.
- On-premise deployment: screen inside your own network against a local copy of the data.
What the API supports today
A plain list of what is and is not available, so you can plan around it.
| Capability | Available | Notes |
|---|---|---|
| Batch matching | Yes | Up to 20 queries per request, up to 50 results each. |
| Score threshold | Yes | ?threshold=, 0 to 1; default 0.75. |
| Choice of scoring method | Yes | ?algorithm=standard or name-only; listed by /api/algorithms. |
| Topic and register filters | Yes | topics, include_dataset, exclude_dataset on match and search. |
| Merged entities | Yes | /api/entity/<entity_id> combines every record of one party. |
| OpenRefine reconciliation | Yes | /api/reconcile/<collection>, Reconciliation API 0.2. |
| Collection catalogue | Yes | /api/catalog, from the current build index. |
| OpenAPI description | Yes | openapi.json. |
| API keys and usage reporting | Not yet | See Authentication. |
| Custom feature weights | Not yet | Each scoring method has fixed effects; see Matching algorithms. |
| Identifier matching beyond IMO numbers | Not yet | Registration, tax and LEI numbers are not yet scored. |
| Changes-since filter on match | Yes | ?changed_since= on match and search; see Monitoring. |
| Statement-level lineage endpoint | Not yet | Use statements.csv in the bulk files. |
| Paginating related records | Not yet | Related records are capped at 100 per record. |
Commercials
The API is part of our commercial offer. See pricing, the commercial FAQ, or talk to sales.
Last updated 2026-10-03