Identity Insights API
The Identity Insights API allows clients to request real-time information related to a phone number. Users can retrieve any combination of different datasets, known as insights (e.g., number formatting, SIM swap information), in a single API call.
Each insight is processed independently, and the response includes a structured result for each insight along with a status code. The status code can contain the following values:
- OK All Insight attributes are available and included in the response.
- PARTIAL_SUCCESS Some response attributes were omitted because they are not applicable or were not available.
- INVALID_NUMBER_FORMAT The phone number format is not valid for assignment by carriers to users.
- NO_COVERAGE The country or mobile network is not supported by available suppliers.
- NOT_FOUND The phone number could not be found for this Insight.
- UNAUTHORIZED The request could not be authorized for the combination of application, supplier, and phone number.
- INVALID_PURPOSE The purpose used is not valid or allowed for this Insight.
- SUPPLIER_ERROR The supplier returned an error while processing the request.
- INTERNAL_ERROR An internal error occurred while processing the request.
Additionally, Subscriber Match Insight can return the following status codes:
- SUBSCRIBER_MATCH.ID_DOCUMENT_REQUIRED Operator requires idDocument to match any other attributes.
- SUBSCRIBER_MATCH.ID_DOCUMENT_MISMATCH Operator cannot match idDocument which is required to match any other attributes.
- SUBSCRIBER_MATCH.INVALID_PARAM_COMBINATION Indicated parameter combination is invalid.
Available Operations
Authentication
| Key | Description | Where | Example |
|---|---|---|---|
| Authorization | Your JSON web token. | Headers | Bearer <JWT> |
14040000000A single phone number you want insights on, starting with the country code. You may optionally include a leading +, but do not use 00 at the beginning. Ideally, the number should follow the E.164 format. However, the API is designed to extract the phone number even if the input string contains alphanumeric characters, spaces, or symbols like brackets.
FraudPreventionAndDetectionSpecifies the reason for the request. This property is required only for Insights that use the Network Registry. For a Network Registry of type Production, the value must match one of the network profile purposes associated with your application. For a Network Registry of type Playground, the value must be "FraudPreventionAndDetection".
A list of objects representing the insight(s) requested for the phone number. At least one insight must be requested.
[BETA FEATURE] Request the format insight. This field must always be set to an empty object {}.
[BETA FEATURE] Request the sim_swap insight.
12400240240Period in hours to be checked for SIM swap.
[BETA FEATURE] Request the original_carrier insight. This field must always be set to an empty object {}.
[BETA FEATURE] Request the current_carrier insight. This field must always be set to an empty object {}.
[DEVELOPER PREVIEW FEATURE] Request the location_verification insight.
CIRCLE20002000003000Expected accuracy for the verification in meters, from location (radius)
-9090-180180[DEVELOPER PREVIEW FEATURE] Request the subscriber_match insight.
66666666qId number associated to the official identity document in the country. It may contain alphanumeric characters.
FedericaFirst/given name or compound first/given name of the customer.
Sanchez ArjonaLast name, family name, or surname of the customer.
Crawfords Corner RoadName of the street of the customer's address. It should not include the type of the street.
4The street number of the customer's address. Number identifying a specific property on the 'streetName'.
07733Zip code or postal code
HolmdelLocality of the customer's address
Monmouth CountyRegion or prefecture of the customer's address
USCountry of the customer's address. Format ISO 3166-1 alpha-2
Suite 2416Specific identifier of the house needed depending on the property type. For example, number of apartment in an apartment building.
1978-08-22The birthdate of the customer, in ISO 8601 calendar date format (YYYY-MM-DD).
[DEVELOPER PREVIEW FEATURE] Request the roaming insight. This field must always be set to an empty object {}.
[DEVELOPER PREVIEW FEATURE] Request the reachability insight. This field must always be set to an empty object {}.
Example Request
{
"phone_number": "14040000000",
"purpose": "FraudPreventionAndDetection",
"insights": {
"format": {},
"sim_swap": {
"period": 240
},
"original_carrier": {},
"current_carrier": {},
"location_verification": {
"location": {
"type": "CIRCLE",
"radius": 3000,
"center": {
"latitude": -90,
"longitude": -180
}
}
},
"subscriber_match": {
"id_document": "66666666q",
"given_name": "Federica",
"family_name": "Sanchez Arjona",
"street_name": "Crawfords Corner Road",
"street_number": "4",
"postal_code": "07733",
"locality": "Holmdel",
"region": "Monmouth County",
"country": "US",
"house_number_extension": "Suite 2416",
"birthdate": "1978-08-22"
},
"roaming": {},
"reachability": {}
}
}{
"phone_number": "14040000000",
"purpose": "FraudPreventionAndDetection",
"insights": {
"format": {},
"sim_swap": {
"period": 240
},
"original_carrier": {},
"current_carrier": {},
"location_verification": {
"location": {
"type": "CIRCLE",
"radius": 3000,
"center": {
"latitude": -90,
"longitude": -180
}
}
},
"subscriber_match": {
"id_document": "66666666q",
"given_name": "Federica",
"family_name": "Sanchez Arjona",
"street_name": "Crawfords Corner Road",
"street_number": "4",
"postal_code": "07733",
"locality": "Holmdel",
"region": "Monmouth County",
"country": "US",
"house_number_extension": "Suite 2416",
"birthdate": "1978-08-22"
},
"roaming": {},
"reachability": {}
}
}aaaaaaaa-bbbb-cccc-dddd-0123456789abThe unique identifier for your request. This is a alphanumeric string up to 40 characters.
A map of objects representing the requested insight(s), where each key corresponds to the name of the insight and the value contains the result and status of that insight.
Validates the format of a phone number and provides information based on that format.
USTwo character country code for phone_number. This is in ISO 3166-1 alpha-2 format.
United StatesThe full name of the country where the phone_number is registered.
1The numeric prefix for the country where the phone_number is registered.
GeorgiaThe location where the number was originally assigned, based on its prefix. This does not represent the real-time location of the device. The value indicates the country of origin or, when available, the specific geographical area associated with the number. Only landline and mobile numbers are eligible for offline location data.
List of time zones corresponding to the format.offline_location field, or a single-element list with the default "unknown" time zone if no other time zone was found or if the number is invalid. Time zone values follow the tz database identifiers.
+14040000000The phone_number from your request, formatted in international E.164 format.
(404) 000-0000The phone_number from your request, formatted according to the local convention of the country it belongs to.
truePhone number format validation involves verifying the length and prefix details at various levels to ensure accuracy and compliance with global numbering standards. A valid format means the number can be legitimately assigned by carriers to users. However, it does not guarantee that the number is currently assigned to a carrier or that it is reachable.
Code indicating the status of the request.
OKCode indicating the status of the request.
NO_COVERAGEINVALID_PURPOSEUNAUTHORIZEDINTERNAL_ERRORSUPPLIER_ERRORNOT_FOUNDINVALID_NUMBER_FORMATPARTIAL_SUCCESSOKSuccessMore detailed status description.
Information about any recent SIM pairing changes related to a mobile account. A recent SIM swap may indicate a potential risk of account takeover.
2024-07-08T09:30:27.504ZDate and time in UTC ISO 8601 of latest SIM swap performed.
trueIndicates whether the SIM card has been swapped during the period.
Code indicating the status of the request.
OKCode indicating the status of the request.
NO_COVERAGEINVALID_PURPOSEUNAUTHORIZEDINTERNAL_ERRORSUPPLIER_ERRORNOT_FOUNDINVALID_NUMBER_FORMATPARTIAL_SUCCESSOKSuccessMore detailed status description.
Information about the network the number was initially assigned. Information based on the numbering plan prefix.
Orange Espana, S.A. UnipersonalThe full name of the original carrier associated with that phone_number. This is applicable to mobile numbers only.
MOBILEThe type of network of the original carrier associated with that phone_number.
MOBILELANDLINETOLLFREEPREMIUMVIRTUALESThe country that phone_number is associated with. This is in ISO 3166-1 alpha-2 format.
21403Mobile country codes (MCC) + Mobile network codes (MNC). E.212 International mobile subscriber identity.
Code indicating the status of the request.
OKCode indicating the status of the request.
NO_COVERAGEINVALID_PURPOSEUNAUTHORIZEDINTERNAL_ERRORSUPPLIER_ERRORNOT_FOUNDINVALID_NUMBER_FORMATPARTIAL_SUCCESSOKSuccessMore detailed status description.
Information about the network the number is currently assigned. This is applicable to mobile numbers only.
Orange Espana, S.A. UnipersonalThe full name of the carrier that phone_number is associated with.
MOBILEThe type of network that phone_number is associated with.
MOBILEESThe country that phone_number is associated with. This is in ISO 3166-1 alpha-2 format.
21403Mobile country codes (MCC) + Mobile network codes (MNC). E.212 International mobile subscriber identity.
Code indicating the status of the request.
OKCode indicating the status of the request.
NO_COVERAGEINVALID_PURPOSEUNAUTHORIZEDINTERNAL_ERRORSUPPLIER_ERRORNOT_FOUNDINVALID_NUMBER_FORMATPARTIAL_SUCCESSOKSuccessMore detailed status description.
Verify whether the location of certain user device is within the area specified.
PARTIALResult of a verification request:
TRUE: when the network locates the device within the requested area,FALSE: when the requested area does not match the area where the network locates the device,UNKNOWN: when the network cannot locate the device,PARTIAL: when the requested area partially match the area where the network locates the device. Amatch_ratecould be included in the response.
TRUEFALSEUNKNOWNPARTIAL2024-07-08T09:30:27.504ZDate and time in UTC ISO 8601 of the last location.
19985Estimation of the match rate between the area in the request (R), and area where the network locates the device (N), calculated as the percent value of the intersection of both areas divided by the network area, that is (R ∩ N) / N * 100. Included only if is_verified is PARTIAL.
Code indicating the status of the request.
OKCode indicating the status of the request.
NO_COVERAGEINVALID_PURPOSEUNAUTHORIZEDINTERNAL_ERRORSUPPLIER_ERRORNOT_FOUNDINVALID_NUMBER_FORMATPARTIAL_SUCCESSOKSuccessMore detailed status description.
Compare the information associated with a particular mobile phone user with that on file (and verified) by the mobile phone user's Operator in their own KYC records.
EXACTIndicates whether Id number associated to the ID document of the customer matches with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLEEXACTIndicates whether First name/given name of the customer matches with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLEEXACTIndicates whether last name/ family name/ surname of the customer matches with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLEPARTIALIndicates whether complete address of the customer matches with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLEEXACTIndicates whether the street name of the customer matches with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLEINCLUDED_WITH_ADDRESS_MATCHEXACTIndicates whether the street number of the customer matches with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLEINCLUDED_WITH_ADDRESS_MATCHEXACTIndicates whether the postal code / zip code of the customer matches with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLEINCLUDED_WITH_ADDRESS_MATCHEXACTIndicates whether the locality of the customer's address matches with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLEINCLUDED_WITH_ADDRESS_MATCHEXACTIndicates whether the region or prefecture of the customer matches with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLEINCLUDED_WITH_ADDRESS_MATCHEXACTIndicates whether the country of the customer's address matches with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLEINCLUDED_WITH_ADDRESS_MATCHLOWIndicates whether the house number extension of the customer's address with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLEINCLUDED_WITH_ADDRESS_MATCHEXACTIndicates whether the birthdate of the customer matches with the one on the Operator's system.
EXACTHIGHPARTIALLOWNONEDATA_UNAVAILABLECode indicating the status of the request.
OKCode indicating the status of the request.
NO_COVERAGEINVALID_PURPOSEUNAUTHORIZEDINTERNAL_ERRORSUPPLIER_ERRORNOT_FOUNDINVALID_NUMBER_FORMATPARTIAL_SUCCESSOKSUBSCRIBER_MATCH.ID_DOCUMENT_REQUIREDSUBSCRIBER_MATCH.ID_DOCUMENT_MISMATCHSUBSCRIBER_MATCH.INVALID_PARAM_COMBINATIONSuccessMore detailed status description.
Check roaming status and country for a given device on a mobile network.
2024-02-20T10:41:38.657ZDate and time in UTC ISO 8601 of the last time that the associated device roaming status was updated.
trueRoaming status. true if roaming.
An array of country codes in ISO 3166-1 alpha-2 format representing where the phone_number is roaming. The array usually contains one element, but in edge cases where the roaming network is associated with multiple countries, additional country codes are included.
Code indicating the status of the request.
OKCode indicating the status of the request.
NO_COVERAGEINVALID_PURPOSEUNAUTHORIZEDINTERNAL_ERRORSUPPLIER_ERRORNOT_FOUNDINVALID_NUMBER_FORMATPARTIAL_SUCCESSOKSuccessMore detailed status description.
Check the connectivity status for a given device, including if it is connected to the newtork for data, SMS, or both.
2024-02-20T10:41:38.657ZDate and time in UTC ISO 8601 of the last time that the associated device connectivity status was updated.
trueIndicates overall device reachability. true if the device is connected to the network.
Indicates if the device is connected to the network for DATA or SMS usage. Will only be returned if is_reachable is true
DATA,SMSCode indicating the status of the request.
OKCode indicating the status of the request.
NO_COVERAGEINVALID_PURPOSEUNAUTHORIZEDINTERNAL_ERRORSUPPLIER_ERRORNOT_FOUNDINVALID_NUMBER_FORMATPARTIAL_SUCCESSOKSuccessMore detailed status description.
Example Response
{
"request_id": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"insights": {
"format": {
"country_code": "US",
"country_name": "United States",
"country_prefix": "1",
"offline_location": "Georgia",
"time_zones": [
"America/New_York"
],
"number_international": "+14040000000",
"number_national": "(404) 000-0000",
"is_format_valid": true,
"status": {
"code": "OK",
"message": "Success"
}
},
"sim_swap": {
"latest_sim_swap_at": "2024-07-08T09:30:27.504Z",
"is_swapped": true,
"status": {
"code": "OK",
"message": "Success"
}
},
"original_carrier": {
"name": "Orange Espana, S.A. Unipersonal",
"network_type": "MOBILE",
"country_code": "ES",
"network_code": "21403",
"status": {
"code": "OK",
"message": "Success"
}
},
"current_carrier": {
"name": "Orange Espana, S.A. Unipersonal",
"network_type": "MOBILE",
"country_code": "ES",
"network_code": "21403",
"status": {
"code": "OK",
"message": "Success"
}
},
"location_verification": {
"is_verified": "PARTIAL",
"latest_location_at": "2024-07-08T09:30:27.504Z",
"match_rate": 85,
"status": {
"code": "OK",
"message": "Success"
}
},
"subscriber_match": {
"id_document_match": "EXACT",
"given_name_match": "EXACT",
"family_name_match": "EXACT",
"address_match": "PARTIAL",
"street_name_match": "EXACT",
"street_number_match": "EXACT",
"postal_code_match": "EXACT",
"locality_match": "EXACT",
"region_match": "EXACT",
"country_match": "EXACT",
"house_number_extension_match": "LOW",
"birthdate_match": "EXACT",
"status": {
"code": "OK",
"message": "Success"
}
},
"roaming": {
"latest_status_at": "2024-02-20T10:41:38.657Z",
"is_roaming": true,
"country_codes": [
"DE"
],
"status": {
"code": "OK",
"message": "Success"
}
},
"reachability": {
"latest_status_at": "2024-02-20T10:41:38.657Z",
"is_reachable": true,
"connectivity": [
"DATA"
],
"status": {
"code": "OK",
"message": "Success"
}
}
}
}