NAV
shell ruby python javascript

Introduction

Welcome to Lix's API! You can use this API to access all our API endpoints, such as the Person API to look up email addresses, or the Company API to look up company information related to a domain name.

The API is organized around REST. All requests should be made over SSL. All request and response bodies, including errors, are encoded in JSON.

We also have some specific language code examples to make integration easier. You can switch the programming language of the examples with the tabs in the top right.

Currently we have code examples for the following languages:

Should you have further questions, feel free to contact our tech team via email at help@lix-it.com or by using the web chat in the bottom right of your screen.

Authentication

To authorize, use this code:

require 'lix'

api = Lix::APIClient.authorize!('lixApiKey')
import lix

api = lix.authorize('lixApiKey')
# With shell, you can just pass the correct header with each request
curl "api_endpoint_here" \
  -H "Authorization: lixApiKey"
const lix = require('lix');

let api = lix.authorize('lixApiKey');

Make sure to replace lixApiKey with your API key.

Lix uses API keys to allow access to the API. If you do not have an API Token yet, please contact our sales team to receive one.

Lix expects for the API key to be included in all API requests to the server in a header that looks like the following:

Authorization: lixApiKey

or with a query variable:

https://api.lix-it.com/v1/person?profile_link=https://linkedin.com/in/alfie-lambert&api_key=lixApiKey

Please bear in mind to also specify the Content-Type as application/json format.

Enrichment API

This section describes the data you can expect from each returned profile. The same profile data structure will be returned from multiple profile collection endpoints as described below. Each profile is equivalent to 1 credit.

Person

require 'lix'

api = Lix::APIClient.authorize!('lixApiKey')
api.people.get(2)
import lix

api = lix.authorize('lixApiKey')
api.people.get(2)
curl "https://api.lix-it.com/v1/api/people/2" \
  -H "Authorization: lixApiKey"
const lix = require('lix');

let api = lix.authorize('lixApiKey');
let max = api.people.get(2);

The above command returns JSON structured like this:

{
  "id": 2,
  "name": "Max",
  "breed": "unknown",
  "fluffiness": 5,
  "cuteness": 10
}

This endpoint retrieves a specific profile.

HTTP Request

GET https://api.lix-it.com/v1/person

URL Parameters

Parameter Description
profile_link The link to the profile of the person.

Response Codes

HTTP Status Codes

Our API returns standard HTTP success or error status codes as listed below. For errors, we will also include extra information about what went wrong encoded in the response as JSON. The various HTTP status codes we might return are listed below.

CODE TITLE DESCRIPTION
200 Success The request was successful
400 Bad Request The request data has not been provided correctly
401 Unauthorized Your API key is not authorised to access this endpoint
402 Over quota Over plan quota on this endpoint. Please top-up your account or [mailto:] speak to sales to increase your quota.
404 Not found The endpoint does not exist
429 Too Many Requests The rate limit was exceeded
500 Internal Server Error An error occurred on the server. Should this error persist, please contact our technical team.
503 Service Unavailable The API is temporarily unavailable

Error types

All errors are returned in the form of JSON with a type and optional message.

Example error response:

   {
     "error": {
       "type": "params_invalid",
       "message": "profile_id is required"
     }
   }
Type Description
params_invalid Your parameters were not valid
unknown_record Record was not found
unknown_route URL was not valid
queued Lookup queued. Try this request again in a few minutes
rate_limit The request has been rate limited
api_error Internal API error
viewer_invalid the 'Viewer' was not found or does not have the correct permissions