Records API
To facilitate targetted data retrieval and API behavior on both the Records API, World-Check On Demand offers multiple filters and parameters. These allow you to refine your queries based on various criteria such as record and keyword types, categories, and more. Filters are also used for delta retrieval, deleted records, and getting the details of specific World-Check records using their UIDs.
To quickly explore these filters and parameters, please refer to the Quick Start.
URL Parameters
Limit
Parameter: limit
Default: 1000
Allows the calling application to set the maximum number of World-Check records within an API response page. The allowable range is between 20-1000, with a default of 1000 records. Higher values provide better overall data retrieval throughput at the expense of response time. Lower values are useful when calling the API to display the returned records directly on a graphical user interface.
https://api.risk.lseg.com/data/world-check/v1/records?limit=200
Cursor
Parameter: cursor
Default: None
When the number of total records in the API response is more than the page limit, the resulting records are provided in multiple API pages. To retrieve these additional pages, a cursor value is provided in the first response page which must be provided in the subsequent API request. The cursors are provided in both the meta.cursors
object in the response payload and in the response headers, providing you flexibility with your integration.
Cursor Type | Response Payload | Response Header |
---|---|---|
Next Page | meta.cursors.next | Wcod-Cursor-Next |
Previous Page | meta.cursors.previous | Wcod-Cursor-Previous |
https://api.risk.lseg.com/data/world-check/v1/records?limit=200&cursor=gAAAAABors8fpNh2sWOfMx62s2EbRjQDLDZO2GORZOVsXDfaUp4AMF_XnQlcjv_TbKhtWUpuz4FRjKqMX7uORnNUfVAkPEkE06vVWGsyiWe7KXDJra0zdQo= <-------------------
When sending an API request with a cursor, the queryHash
header parameter is required (see below).
Header Parameters
Query Hash
Parameter: queryHash
Default: None
Lifetime: 48 hours
World-Check On Demand API queries are deterministic across multiple pages. This means that results of queries that span multiple pages remain are not affected by continuous background updates to these records. The records on the subsequent pages will remain as they are at the time of the initial query (i.e., query that generated page #1). To facilitate this deterministic behavior, a queryHash
value is provided on the first response page, within the meta
object. This value is also provided in the first response header.
This parameter ensures that the request payload has not changed on each paging request, allowing the API to correctly respond with the right state of the records.
Data | Response Payload | Response Header |
---|---|---|
Query Hash | meta.queryHash | Wcod-Query-Hash |
This query hash value must be sent in the queryHash
request header key when requesting any page with a cursor
URL parameter. The original query payload should also be sent as request payload.
curl --location 'https://api.risk.lseg.com/data/world-check/v1/records?limit=200&cursor=gABCDEFor1PWIAuKok2tuXtSGjZpuUPF-1EI3ORnQ5CHPAPtnQCYkCyGeUjrTc2s_Y7xWixpDZp15bxknawmK25r82XWYEa4KB2TnTx0Q3meLaTJsxtwfug%3D' \
--header 'Content-Type: application/json' \
--header 'queryHash: 0803c3f725f6789012345cf4b0c223d9328db29a123456789c38b96ceea962e70CYkCyGeUjrd9328xWixp' \
--header 'Authorization: ••••••' \
--data '{}'
Query hash values are only valid for 48 hours.
Mode
Parameter: mode
Default: records
The default behaviour of the Records API is to return World-Check records that meet the criteria provided by the calling application through the input query. Setting the mode
header key to count
will cause the API to respond with a count of the records meeting the provided query criteria instead of the actual records. The default mode value is records
, which is active even if mode is not explicitly declared in the header.
This capability provides the calling application with a quick way to count the number of qualified records and allow those numbers to help decide the behaviour of an automated workflow. This can also be used for creating dashboards, for example, by showing counts of records that had been added or updated across different time ranges and/or data segment.
curl --location 'https://api.risk.lseg.com/data/world-check/v1/records' \
--header 'Content-Type: application/json' \
--header 'mode: count' \
--header 'Authorization: ••••••' \
--data '{}'
The ability to count the number of records can be combined with different filters.
There are known performance issues with the count
mode when used with other filters. This is currently being addressed.
Field Operators
Field operators are used by the API to determine the type of operation being requested against the provided filter and value.
Name | Operator | Description |
---|---|---|
Inclusion | includes | Records with one or more of the input values will be considered in the response. |
Exclusion | excludes | Records with one or more of the input values will not be considered in the response. |
Greater Than | gt | Records with a field value greater than the input value will be considered in the response. |
Greater Than or Equal | gte | Records with a field value greater than or equal to the input value will be considered in the response. |
Less Than | lt | Records with a field value less than the input value will be considered in the response. |
Less Than or Equal | lte | Records with a field value less than or equal to the input value will be considered in the response. |
These operators are used as values for the operator
parameter in the payload. Filters work with a set of operators, as indicated in the next section.
Filters work with a set of operators. For example, the date-related filters only work with comparison operators while other filters can only be inclusionary or exclusionary.
{
"query": {
"queryOperator": "and",
"criteria": [
{
"field": "lastPublishedDate",
"operator": "gt",
"value": "2025-08-27T12:30:15.887Z"
},
{
"field": "keywordType",
"operator": "includes",
"value": [
"wcKeywordType:SANCTIONS"
]
}
]
}
}
Query Filters
ALL Active Records (No filter)
{}
Retrieving the recent snapshots for all active records can be achieved by either sending an empty JSON in the request body or not sending any payload at all. Note that there are some additional constraints:
- Records returned will be limited by your subscription type. For example, if you are on a free-trial, you will only see a limited set of results even though you are not filtering the records.
- Only active records are returned. Deleted records must be requested using the
recordStatus
filter.
Initial Published Date
When records are made publicly available for the first time by World-Check On Demand, a timestamp is generated and assigned to its initialPublishedDate
field within the recordMeta
top-level object of a record. This filter allows the retrieval records that meet certain conditions against this first publication timestamp.
Attribute | Value |
---|---|
Value for field | initialPublishedDate |
Allowed values in value | full ISO-8601 datetime on either patterns: YYYY-MM-DDThh:mm:ss.sssZ YYYY-MM-DDThh:mm:ss.sss±hh:mm |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | gt , gte , lt , lte |
Sample queries:
{
"criteria": {
"field": "initialPublishedDate",
"operator": "gt",
"value": "2025-08-20T00:30:00.000Z"
}
}
{
"query": {
"queryOperator": "and",
"criteria": [
{
"field": "initialPublishedDate",
"operator": "gt",
"value": "2025-08-25T00:30:00.000+08:00"
},
{
"field": "recordType",
"operator": "includes",
"value": [
"wcRecordType:IND"
]
},
{
"field": "categoryPath",
"operator": "includes",
"value": [
"wcCat1:SANCTIONS_LISTED"
]
}
]
}
}
Records returned with queries that use any of the two publication date filters will also include the full Change History within the given period.
Sample conditions:
- Return all records that became available (new records) in World-Check On Demand in the past 24 hours.
- Return all new records in the past 10 minutes but only those with a SANCTION keyword type where the keyword status is CURRENT.
- Return all new records in the past 24 hours but exclude records with the SANCTION keyword type.
Last Published Date
When record updates are made publicly available by World-Check On Demand, a timestamp is generated and assigned to its lastPublishedDate
field within the recordMeta
top-level object of a record. This filter allows the retrieval records that meet certain conditions against the most recent publication timestamp.
Records that had not been updated since first publication in World-Check On Demand will have a lastPublishedDate
value equal to the initialPublishedDate
.
Attribute | Value |
---|---|
Value for field | lastPublishedDate |
Allowed values in value | full ISO-8601 datetime on either patterns: YYYY-MM-DDThh:mm:ss.sssZ YYYY-MM-DDThh:mm:ss.sss±hh:mm |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | gt , gte , lt , lte |
This is the filter used for retrieving new and updated records (i.e., delta) within a certain lookback period.
Sample queries:
{
"criteria": {
"field": "lastPublishedDate",
"operator": "gt",
"value": "2025-08-20T00:30:00.000Z"
}
}
{
"query": {
"queryOperator": "and",
"criteria": [
{
"field": "lastPublishedDate",
"operator": "gt",
"value": "2025-08-25T00:30:00.000+08:00"
},
{
"field": "keywordType",
"operator": "includes",
"value": [
"wcSourceType:SANCTIONS"
]
}
]
}
}
Records returned with queries that use any of the two publication date filters will also include the full Change History within the given period.
Sample conditions:
- Return all records that either became available for the first time (new records) or those that had updates (updated records) in the past 24 hours.
- Return all new or updated records in the past 10 minutes but only those with a SANCTION keyword type where the keyword status is CURRENT.
- Return all new or updated records in the past 24 hours but exclude records with the SANCTION keyword type.
Update Category
This filter allows the retrieval of World-Check records based on the update category:
- if this filter is used without either publication date filters, it will only look at the most recent update category of the record
- if the filter is used with either publication date filters, it will consider all the update categories within the period
Attribute | Value |
---|---|
Value for field | updateCategory |
Scheme for allowable values in value | wcUpdateCat |
Support multiple values in value (OR behaviour) | yes (includes / excludes )no (comparison operators) |
Supported field operators | includes , excludes , gt , gte , lt , lte |
Sample queries:
{
"criteria": {
"field": "updateCategory",
"operator": "includes",
"value": [
"wcUpdateCat:C0"
]
}
}
{
"criteria": {
"field": "updateCategory",
"operator": "gte",
"value": "wcUpdateCat:C4"
}
}
{
"query": {
"queryOperator": "and",
"criteria": [
{
"field": "lastPublishedDate",
"operator": "gt",
"value": "2025-08-20T00:30:00.000Z"
},
{
"field": "updateCategory",
"operator": "gte",
"value": "wcUpdateCat:C2"
}
]
}
}
Since World-Check On Demand records can have updates published at any time, the last example above shows how to retrieve deltas based on a range of update categories for all these updates within a given period. This allows you to filter records that may have a C4 as the most recent update 10 minutes ago, but had a C1 update 45 minutes ago.
Sample conditions:
- Return all records published in the past 10 minutes with an update category of C1. This will only return updated records since new or reactivated records carries a C0 update category.
- Return all new or updated records in the past 24 hours with an update category of C4 or higher.
Record Type
This filter allows the retrieval of World-Check records with a specific record type/s.
Attribute | Value |
---|---|
Value for field | recordType |
Scheme for allowable values in value | wcRecordType |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Sample queries:
{
"criteria": {
"field": "recordType",
"operator": "includes",
"value": [
"wcRecordType:IND",
"wcRecordType:ENT"
]
}
}
{
"criteria": {
"field": "recordType",
"operator": "excludes",
"value": [
"wcRecordType:IND"
]
}
}
Sample conditions:
- Return only all INDIVIDUAL record types.
- Return all INDIVIDUAL or ENTITY record types.
- Return all records, except those with VESSEL record types.
- Return all records, except those with VESSEL or AIRCRAFT record types.
- Return all INDIVIDUAL record types, but only those that are of the DIPLOMAT record subtype.
Record Sub-Type
This filter allows the retrieval of World-Check records with a specific record subtype/s.
Attribute | Value |
---|---|
Value for field | recordSubType |
Scheme for allowable values in value | wcRecordSubType |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Sample query:
{
"criteria": {
"field": "recordSubType",
"operator": "includes",
"value": [
"wcRecordSubType:DIPLOMAT",
"wcRecordSubType:MILITARY"
]
}
}
Sample conditions:
- Return all records of the DIPLOMAT record subtype.
- Return all records of the DIPLOMAT or MILITARY record subtype.
- Return all records of the DIPLOMAT or MILITARY record subtype, and only those associated with a SANCTION keyword type.
Category Path
World-Check On Demand provides a new categorisation taxonomy that gives a high-level overview on why the record subject is in World-Check. This filter allows the retrieval of records based on this taxonomy.
Attribute | Value |
---|---|
Value for field | categoryPath |
Scheme for allowable values in value | wcCat1 , wcCat2 , wcCat3 , wcCat4 |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Sample query:
{
"criteria": {
"field": "categoryPath",
"operator": "includes",
"value": [
"wcCat1:SANCTIONS_CONTROLLED",
"wcCat1:SANCTIONS_LISTED"
]
}
}
Sample conditions:
- Return all records with a Category 1 of POLITICALLY_EXPOSED.
- Return all records with a Category 1 of SANCTIONS_LISTED or SANCTIONS_CONTROLLED.
- Return all records with a Category 2 of CRIME_FINANCIAL.
Keyword
This filter allows the retrieval of World-Check records with a specific record-level keyword/s.
Attribute | Value |
---|---|
Value for field | keyword |
Scheme for allowable values in value | wcSourceKwd |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Sample queries:
{
"criteria": {
"field": "keyword",
"operator": "includes",
"value": [
"wcSourceKwd:OFAC"
]
}
}
{
"query": {
"queryOperator": "and",
"criteria": [
{
"field": "keyword",
"operator": "includes",
"value": [
"wcSourceKwd:OFAC",
"wcSourceKwd:UKHMT",
"wcSourceKwd:EU"
]
},
{
"field": "recordType",
"operator": "includes",
"value": [
"wcRecordType:IND"
]
}
]
}
}
Sample conditions:
- Return all records with the OFAC keyword at the record-level.
- Return all records with the OFAC or UKHMT keywords at the record-level.
- Return all records with the OFAC or UKHMT keywords at the record-level, but only those with a Category 2 of SANCTIONS_LISTED.
Keyword Type
Keywords are further grouped into types and this filter allows the retrieval of World-Check records with a specific record-level keywordtype/s.
Attribute | Value |
---|---|
Value for field | keywordType |
Scheme for allowable values in value | wcSourceType |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Sample queries:
{
"criteria": {
"field": "keywordType",
"operator": "includes",
"value": [
"wcKeywordType:SANCTIONS"
]
}
}
{
"query": {
"queryOperator": "and",
"criteria": [
{
"field": "keywordType",
"operator": "includes",
"value": [
"wcKeywordType:SANCTIONS"
]
},
{
"field": "recordType",
"operator": "excludes",
"value": [
"wcRecordType:VESL"
]
}
]
}
}
Sample conditions:
- Return all records with record-level keywords under the SANCTIONS keyword type.
- Return all records with record-level keywords under the SANCTIONS or REGULATORY_ENF keyword types.
- Return all records with record-level keywords under the LAW_ENF or REGULATORY_ENF keyword types, but only records of the INDIVIDUAL record type.
Keyword Status
World-Check On Demand retain certain types of keywords on the record even after the record subject has been removed from it or the associated regime has expired. This filter allows the retrieval of records based on the state of the record-level keywords.
Attribute | Value |
---|---|
Value for field | keywordStatus |
Scheme for allowable values in value | wcStatus |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Sample query:
{
"query": {
"queryOperator": "and",
"criteria": [
{
"field": "keywordType",
"operator": "includes",
"value": [
"wcKeywordType:SANCTIONS"
]
},
{
"field": "keywordStatus",
"operator": "includes",
"value": [
"wcStatus:CURRENT"
]
}
]
}
}
Sample conditions:
- Return all records with a CURRENT record-level keyword status.
- Return all records with record-level keywords under the SANCTIONS keyword type, but only those with a CURRENT keyword status.
- Return all records with record-level keywords under the LAW_ENF or REGULATORY_ENF keyword types, but only those with a CURRENT keyword status, or records under the SANCTION keyword type regardless of keyword status.
Keyword Issuing Authority
World-Check On Demand keywords represent official sources with Issuing Authorities. This filter allows the retrieval of records with record-level keywords issued by specific Issuing Authorities. This is useful as a covering filter that ensures all records with future keywords issued by the same authority are returned.
Attribute | Value |
---|---|
Value for field | keywordIssuingAuthority |
Scheme for allowable values in value | N/A - this is a literal value |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Sample query:
{
"criteria": {
"field": "keywordIssuingAuthority",
"operator": "includes",
"value": [
"U.S. Department of the Treasury - Office of Foreign Assets Control",
"Australian Government - Department of Foreign Affairs and Trade"
]
}
}
Sample conditions:
- Return all records with record-level keywords issued by “Office of Foreign Assets Control”.
- Return all records with record-level keywords issued by “Office of Foreign Assets Control”, but only those with a CURRENT keyword status.
- Return all records with record-level keywords issued by an authority within the United States but exclude records where the keyword issuing authority is the “Office of Foreign Assets Control”.
Country of Keyword Issuing Authority
World-Check On Demand keywords represent official sources with Issuing Authorities in different countries. This filter allows the retrieval of records with record-level keywords issued by authorities from specific countries. This is useful as a covering filter that ensures all records with future keywords issued by authorities from specific countries are returned.
Attribute | Value |
---|---|
Value for field | countryKeywordIssuingAuthority |
Scheme for allowable values in value | wcCountry |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Sample query:
{
"query": {
"queryOperator": "and",
"criteria": [
{
"field": "keywordType",
"operator": "includes",
"value": [
"wcKeywordType:SANCTIONS"
]
},
{
"field": "countryKeywordIssuingAuthority",
"operator": "includes",
"value": [
"wcCountry:AU",
"wcCountry:SG"
]
}
]
}
}
Sample conditions:
- Return all records with record-level keywords issued by the United States.
- Return all records with record-level keywords issued by any of the following: United States, United Kingdom, Singapore, Hong Kong, Australia.
- Return all records with record-level keywords issued by an authority within the United States but exclude records where the keyword issuing authority is the “Office of Foreign Assets Control”.
Location Type
In a World-Check On Demand record, locations are expressed using three attributes in the context of the record subject. This filter allows the retrieval of records where one or more location entries within the Location Information record area matches the provided location filter values. While it is possible for each location filters to be used individually, these are normally used together.
Attribute | Value |
---|---|
Value for field | locationType |
Scheme for allowable values in value | wcLocationType |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Sample query:
{
"query": {
"queryOperator": "and",
"criteria": [
{
"field": "locationType",
"operator": "includes",
"value": [
"wcLocationType:CITIZENSHIP_LOCATION"
]
},
{
"field": "locationRole",
"operator": "includes",
"value": [
"wcLocationRole:COUNTRY"
]
},
{
"field": "locationCode",
"operator": "includes",
"value": [
"wcCountry:US"
]
}
]
}
}
Sample conditions:
- Return all records where CITIZENSHIP_LOCATION is present as COUNTRY with a value of GB (United Kingdom).
- Return all records where PEP_LOCATION is present as COUNTRY with a value of US (United States).
- Return all records with a Place of Birth, regardless of its value.
Location Role
In a World-Check On Demand record, locations are expressed using three attributes in the context of the record subject. This filter allows the retrieval of records where one or more location entries within the Location Information record area matches the provided location filter values. While it is possible for each location filters to be used individually, these are normally used together.
Attribute | Value |
---|---|
Value for field | locationRole |
Scheme for allowable values in value | wcLocationRole |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Please see the sample query and conditions in Location Type.
Location Code
In a World-Check On Demand record, locations are expressed using three attributes in the context of the record subject. This filter allows the retrieval of records where one or more location entries within the Location Information record area matches the provided location filter values. While it is possible for each location filters to be used individually, these are normally used together.
Attribute | Value |
---|---|
Value for field | locationCode |
Scheme for allowable values in value | wcCountry , wcStateProvince , wcCityList |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Please see the sample query and conditions in Location Type.
Record Status
All other filters in World-Check On Demand return active records only without having to specify the record status. This filter allows the retrieval of records that had been deactivated by World-Check within a certain lookback period. This operation is equivalent to retrieving the Deleted Profiles files in World-Check Data File.
Attribute | Value |
---|---|
Value for field | recordStatus |
Allowed value in value | wcRecordStatus:DELETED |
Support multiple values in value (OR behaviour) | no |
Supported field operators | includes |
Sample query:
{
"query": {
"queryOperator": "and",
"criteria": [
{
"field": "lastPublishedDate",
"operator": "gt",
"value": [
"2025-08-15T00:00:00.000Z"
]
},
{
"field": "recordStatus",
"operator": "includes",
"value": "wcRecordStatus:DELETED"
}
]
}
}
This filter must be used in combination with the lastPublishedDate
filter.
Sample conditions:
- Return only records having the DELETED record status updated in the past 72 hours.
- Return records with DELETED or ACTIVE record status updated in the past 7 days.
- Return records with DELETED record status updated in the past 24 hours or ACTIVE records with the SANCTION keyword type updated in the past 24 hours.
Subject Status
This filter allows the retrieval of World-Check record that are either Deceased individuals, or Dissolved or Liquidated entities.
There are no World-Check On Demand records with this attribute at this time. This is will be populated as part of the data enrichment roadmap.
Attribute | Value |
---|---|
Value for field | subjectStatus |
Scheme for allowable values in value | wcSubjectStatus |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Sample query:
{
"criteria": {
"field": "subjectStatus",
"operator": "includes",
"value": [
"wcSubjectStatus:DECEASED"
]
}
}
Sample conditions:
- Return all records of the INDIVIDUAL record type but exclude those who are of the DECEASED subject status.
- Return all records of the ENTITY record type with the SANCTION keyword type but exclude those that have a subject status of DISSOLVED or LIQUIDATED.
UID
This filter allows the retrieval of World-Check records given a specific UID or list of UIDs (up to 1000 per request).
Attribute | Value |
---|---|
Value for field | uid |
Allowed values in value | Record UIDs |
Support multiple values in value (OR behaviour) | yes |
Supported field operators | includes , excludes |
Sample query:
{
"criteria": {
"field": "uid",
"operator": "includes",
"value": [
"7408097"
]
}
}
{
"criteria": {
"field": "uid",
"operator": "includes",
"value": [
"7408097",
"8113905",
"798032"
]
}
}
{
"query": {
"queryOperator": "and",
"criteria": [
{
"field": "lastPublishedDate",
"operator": "gt",
"value": "2024-01-01T01:51:26.999Z"
},
{
"field": "uid",
"operator": "includes",
"value": [
"7408097"
]
}
]
}
}
Sample conditions:
- Return the record with a UID = 12345.
- Return the records with UIDs in the list (12345, 23456, 9876, 567).
- Return the records given a list of input UIDs, but only those records that had a C1 update category in the past 10 minutes.