KYC Identity Verification API - Global AML and eIDV avatar

KYC Identity Verification API - Global AML and eIDV

Pricing

$15.00 / 1,000 verification results

Go to Apify Store
KYC Identity Verification API - Global AML and eIDV

KYC Identity Verification API - Global AML and eIDV

Verify a person against more than 200 government, credit bureau, utility, telco and electoral datasources in over 100 countries. One row per datasource, showing exactly which identity fields matched, plus the country and field configuration your own account is entitled to call.

Pricing

$15.00 / 1,000 verification results

Rating

0.0

(0)

Developer

Nabeel Hassan

Nabeel Hassan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Verify a person against more than 200 government registries, credit bureaus, utility files, telco records and electoral rolls across 100 or more countries, and get back exactly which identity fields each source matched.

What this actor does

  • Electronic identity verification (eIDV) against authoritative datasources, returning a field-by-field match rather than a single score.
  • One row per datasource, so you can see that the credit bureau matched the name and date of birth while the utility file matched the address.
  • Know your customer and anti-money laundering checks for onboarding, with the evidence stored alongside the decision.
  • Address and national ID verification, including the provider's cleansed version of an address where the country supports it.
  • Account configuration modes that read which countries your contract covers, which fields a given country needs, and the test identities to use against a sandbox account. These are never charged for.
  • Regional hosting, so a contract requiring data residency in the EU, Canada or Australia calls its own host.
  • Both credential generations are supported: OAuth client credentials for the current platform, and username and password for the long standing normalised API.

Input

Fill in the people list and choose a country. Plain field names are accepted and mapped into this provider's nested request document for you.

{
"mode": "verify",
"countryCode": "US",
"people": [
{
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1975-11-23",
"buildingNumber": "123",
"streetName": "Main",
"streetType": "St",
"city": "Seattle",
"state": "WA",
"postalCode": "98101"
}
],
"authMode": "oauth",
"clientId": "YOUR_CLIENT_ID",
"clientSecret": "YOUR_CLIENT_SECRET",
"maxResults": 100
}

Example output

{
"datasourceName": "Australia Citizen File",
"recordStatus": "match",
"matchedFields": ["BuildingNumber", "StreetName", "StreetType", "Suburb", "FirstGivenName", "FirstSurName"],
"unmatchedFields": ["MiddleName", "UnitNumber"],
"fieldStatuses": { "BuildingNumber": "match", "MiddleName": "missing", "StreetName": "match", "UnitNumber": "missing", "Suburb": "match", "StreetType": "match" },
"appendedFields": null,
"datasourceErrors": null,
"transactionId": "a1b2c3d4-0000-0000-0000-000000000000",
"transactionRecordId": "0ac8ccee-ab7a-495e-8b88-a6da1bdcb6ae",
"countryCode": "AU",
"productName": "Identity Verification",
"customerReferenceId": "batch-2026-08",
"errors": null,
"inputSummary": "Jane Doe | AU | Identity Verification",
"found": true
}

Frequently asked questions

What is an eIDV API?

Electronic identity verification, or eIDV, confirms that a person exists and that the details they gave you belong to them, by matching those details against independent authoritative sources rather than by inspecting a document. This actor returns the match status of every field against every datasource, which is the evidence anti-money laundering and know your customer rules require you to keep.

Which datasources does it check?

Whichever ones your account is configured for in that country. The provider draws on more than 200 sources worldwide, including citizen and resident files, credit bureaus, electoral rolls, government issued identifiers such as national insurance numbers, driver licences and passports, property files, utility and telephone files, national ID validation, and sanctions and watchlist data. Each one answers separately and gets its own row.

How do I find out which countries I can verify in?

Run the actor in country codes mode. Coverage is set by your contract rather than by the API, so the provider serves the list per account. The fields mode does the same thing one level down, returning the exact fields a given country needs and which of them are mandatory. Neither mode is charged for.

Which credential do I need?

Whichever your account was issued. Accounts on the current platform get an OAuth client id and client secret, which are exchanged for a bearer token. Long standing accounts on the normalised API get a username and password sent as HTTP Basic. Set the credential type to match what you hold, because the two generations authenticate at different endpoints and verify at different paths, so the wrong choice reads as a rejected credential.

Does a non-match cost anything?

No. This actor charges only for datasource results that matched at least one identity field. Records refused before they were sent, records the provider would not process, datasource results with no match at all, and configuration rows are stored but not charged for.

Can I test without spending live credits?

Yes, if your account has a sandbox. Sandbox accounts check against the provider's own test identities rather than live data, and the test entities mode returns those identities for the country you name so you have something valid to send.

Some datasources may only be queried with the individual's explicit consent. Name those sources in the consent for data sources field, and hold the consent yourself. Which sources need it, and what you may lawfully use the results for, is set by your contract with the provider and by the law of the country you are verifying in.

Why is the date of birth split into three fields?

Because the provider takes the day, month and year as separate integers rather than as a date. You can give an ordinary YYYY-MM-DD date and the actor splits it for you; a date it cannot parse is reported on that row rather than being sent as something the provider would misread.

Which routes this actor calls

Every route was confirmed live against the provider before release, using a deliberately invalid credential so no real data was touched. Each answers 401, while an invented path under the same prefix answers 404, which is what tells a real route from a wrong one:

  • POST /v3/verifications/verify verifies a person on the current platform.
  • POST /verifications/v1/verify verifies a person on the normalised API.
  • GET /configuration/v1/countrycodes/{package} lists the countries the account may call.
  • GET /configuration/v1/fields/{package}/{country} lists the fields a country needs.
  • GET /configuration/v1/testentities/{package}/{country} lists sandbox test identities.
  • POST https://auth-api.trulioo.com/connect/token exchanges OAuth credentials for a bearer token.

Worth knowing: the provider's newer documentation writes the configuration routes as /v3/configuration/..., and that spelling does not exist. It answers 404 exactly as an invented path does, while the /configuration/v1/ spelling answers 401. This actor uses the spellings that answer.

Keyword map

identity verification API, KYC API, eIDV API, AML compliance API, know your customer, anti money laundering, global identity verification, national ID verification, address verification API, age verification, watchlist screening, sanctions screening, PEP check, credit bureau verification, electoral roll check, customer onboarding API, identity data sources, document free verification, cross border KYC, regulated onboarding.