Authentication overview

Authentication for the LexisNexis API ensures that only authorized applications and users can access the extensive datasets and services related to identity verification, fraud prevention, and risk assessment. Given the sensitive nature of the data involved, robust authentication mechanisms are critical for maintaining data integrity and compliance with regulatory requirements such as GDPR and CCPA. The LexisNexis developer portal provides resources to guide integrators through the authentication process, which typically begins with registering an application and obtaining necessary credentials.

The authentication process is a prerequisite for making any API call to LexisNexis endpoints, which include services for identity verification & authentication, fraud & AML solutions, due diligence, credit risk assessment, and public records search. Successful authentication grants access tokens or permits direct API key usage, allowing applications to retrieve and submit data securely. Adhering to the specified authentication flows and security best practices is essential for preventing unauthorized access and protecting customer information.

Supported authentication methods

LexisNexis API supports standard authentication methods designed to offer both security and flexibility for various integration scenarios. The choice of method often depends on the specific API endpoint being accessed and the application's architecture. The primary methods include API keys for simpler integrations and OAuth 2.0 (Client Credentials Grant) for more secure, machine-to-machine communications requiring token-based access.

Below is a table summarizing the supported authentication methods:

Method When to Use Security Level
API Key Simple server-to-server applications, internal tools, quick prototyping where direct access is sufficient. Moderate (requires secure storage and transmission)
OAuth 2.0 (Client Credentials Grant) Server-to-server applications requiring token-based access, machine-to-machine communication, enhanced security, and token expiration management. High (industry standard for robust API security)

API keys are unique identifiers used to authenticate requests. They are typically passed in the request header or as a query parameter. While convenient, API keys should be treated as sensitive credentials and protected accordingly to prevent unauthorized use. The LexisNexis API documentation provides specific guidance on how to include API keys in requests to their various endpoints.

OAuth 2.0, specifically the Client Credentials Grant flow, is recommended for applications where a client (e.g., your backend server) needs to access protected resources on its own behalf, without the involvement of an end-user. This flow involves exchanging a client ID and client secret for an access token from an authorization server. The access token is then used to authenticate subsequent API requests to the resource server. This method offers benefits like token expiration and easier credential rotation, enhancing overall security, as detailed in the OAuth 2.0 Client Credentials Grant specification.

Getting your credentials

To begin authenticating with the LexisNexis API, you must first obtain the necessary credentials. The process typically involves registering on the LexisNexis developer portal and engaging with their sales or support team, reflecting the enterprise nature of their solutions. The LexisNexis developer documentation serves as the primary resource for detailed steps on credential acquisition.

The general steps to acquire credentials are:

  1. Developer Portal Registration: Visit the LexisNexis developer portal and register for an account. This typically involves providing contact information and details about your intended use case.
  2. Application Registration: Within your developer account, you may need to register your application. This step helps LexisNexis understand how you plan to integrate with their APIs and configure the appropriate access permissions.
  3. Engagement with LexisNexis Team: Due to the custom enterprise pricing and specialized nature of LexisNexis's core products, direct engagement with their sales or account management team is often required to finalize access and obtain specific API keys or OAuth client credentials. They will provide the unique identifiers (e.g., API keys, client ID, client secret) necessary for authentication.
  4. Environment Setup: Once credentials are provided, you will typically receive separate credentials for testing (sandbox) and production environments. It is crucial to use the correct credentials for each environment to avoid issues.

During the credential acquisition process, you may also define your IP whitelist to restrict API access to known, secure networks, further enhancing security. Ensure that all communication during this phase is secure and that credentials are not shared through insecure channels.

Authenticated request example

Making an authenticated request to the LexisNexis API will depend on the chosen authentication method. Below are examples for both API Key and OAuth 2.0 Client Credentials Grant. These examples illustrate how to include the authentication information in your HTTP requests.

API Key Authentication Example

When using an API key, it is typically passed in a custom HTTP header, often named x-api-key or Authorization with a custom scheme. Consult the LexisNexis API reference for the exact header name and format required for specific endpoints.

Example using curl:

curl -X GET \
  'https://api.risk.lexisnexis.com/v1/identity/verify?firstName=John&lastName=Doe' \
  -H 'Accept: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

In this example, YOUR_API_KEY_HERE should be replaced with the actual API key provided by LexisNexis. The x-api-key header is a common practice for transmitting API keys securely over HTTPS.

OAuth 2.0 Client Credentials Grant Example

For OAuth 2.0, you first need to obtain an access token by sending your client ID and client secret to the LexisNexis token endpoint. This token is then included in subsequent API requests via the Authorization header with the Bearer scheme. The Bearer authentication scheme is a standard method for sending access tokens.

Step 1: Obtain an Access Token

curl -X POST \
  'https://auth.risk.lexisnexis.com/oauth/token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET'

The response will contain an access_token and its expires_in duration (in seconds). Store this token securely and use it before it expires.

Step 2: Make an API Request with the Access Token

curl -X GET \
  'https://api.risk.lexisnexis.com/v1/fraud/check?transactionId=12345' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN_HERE'

Replace YOUR_ACCESS_TOKEN_HERE with the token obtained in Step 1. Remember to refresh the token before it expires by repeating Step 1.

Security best practices

Given the sensitive nature of the data accessed through the LexisNexis API, adherence to security best practices is paramount. Implementing these measures helps protect credentials, prevent unauthorized access, and ensure compliance.

  • Use HTTPS/TLS 1.2+ for All Communications: Always ensure that all API requests are made over HTTPS (TLS 1.2 or higher) to encrypt data in transit. This protects sensitive information, including credentials and data payloads, from interception.
  • Secure Credential Storage: Never hardcode API keys or client secrets directly into your application's source code. Instead, store them in secure environment variables, a secrets management service (e.g., AWS Secrets Manager, Google Secret Manager), or a secure configuration file that is not committed to version control.
  • Restrict API Key Privileges: If using API keys, ensure they are granted only the minimum necessary permissions required for your application's functionality. Avoid using a single API key for all purposes if granular permissions are available.
  • Rotate Credentials Regularly: Implement a policy for regular rotation of API keys and OAuth client secrets. This reduces the risk associated with a compromised credential, as the old credential will eventually become invalid.
  • IP Whitelisting: Configure IP whitelisting on your LexisNexis API account to restrict API access to a predefined list of trusted IP addresses. This adds an extra layer of security, ensuring that even if credentials are stolen, access is limited to authorized networks.
  • Monitor API Usage and Logs: Regularly monitor your API usage logs for unusual activity or unauthorized access attempts. Implement alerting mechanisms to detect and respond to potential security incidents promptly.
  • Error Handling and Information Disclosure: Ensure that your application's error messages do not inadvertently reveal sensitive information about your system or LexisNexis API. Generic error messages are preferred for external-facing applications.
  • Implement Rate Limiting and Throttling: While LexisNexis may have its own rate limits, implement your own application-level rate limiting to prevent abuse, brute-force attacks, and to manage your usage effectively.
  • Validate and Sanitize Inputs: Always validate and sanitize all user inputs before sending them to the LexisNexis API to prevent injection attacks and ensure data integrity.
  • Maintain Compliance: Stay informed about data protection regulations (e.g., GDPR, CCPA) and ensure your application's handling of LexisNexis data aligns with these requirements. LexisNexis itself maintains SOC 2 Type II, GDPR, and CCPA compliance.