The RocketReach API is free for individual use. Create your API Key absolutely free - Signup Now!
Use this API key for all your API calls.
E.g. Get Travis Kalanick's contact info, by calling…
The RocketReach API allows you retrieve rich contact info and social data for people and companies. Our APIs are powered by the same search engine, data and algorithms that power our website.
The RocketReach API is very consistent in the way it accepts parameters and returns responses/errors. Please take a moment to read Using the API to learn more about common patterns of interaction with our API.
We're constantly working to improve and expand our API. We can't wait to see what you do with it. Need help? Have Feedback?
The general structure of all API calls is shown below.
All requests are made to api.rocketreach.co
and require your API KEY
as a URL parameter. Normal responses are returned with error code 200
.
Error responses return 4xx/5xx
error codes. Read more about error responses below.
For use within an AJAX application, the API supports both CORS and JSONP. You can restrict the CORS headers to specific domains, by configuring your domains in API Settings.
If you'd like to use JSONP, and wrap our response with a callback, you can specify a
callback parameter with any API call. E.g.
4xx/5xx
HTTP status.
E.g If the profile being searched for cannot be found, we will return a 404
.
If we start receiving unusually heavy call volumes,
you may receive responses with 429: Too Many Requests
In general calls to all end points are rate limited to protect against abuse/attacks. However calls to /checkStatus
do not count against your daily limits.
If you have hit some sort of rate limit, you'll see a HTTP: 429
.
HTTP: 403
.
/lookupProfile
The /lookupProfile
API is used to lookup contact information.
The call is pretty straightforward – you provide information about the person you are looking for
i.e name, employer etc. and RocketReach searches for a person matching this information.
The search for a persons's contact info can take a few seconds.
If the info is immediately available, the status: "complete"
will be returned by the API call.
Status code can have one of the 4 possible values
E.g. If contact information wasn't immediately available for Travis Kalanick, you'd see
Name | Description | Schema |
---|---|---|
api_key | User's API Key | string |
name | Name of the person you are looking for | string |
current_employer | Current employer name (e.g. 'Google', 'General Electric') | string |
title | Job Title (e.g. 'VP of Marketing', 'CEO') | string |
If you already know the ID of the person, form a previous call to /search
,
you can call this end point with id.
Name | Description | Schema |
---|---|---|
api_key | User's API Key | string |
id | Id of the person you are looking for | string |
In certain cases, you may find the the lookup returns multiple matches. In that case the response
will contain a list of profiles. You can select one of the matching profiles, and then
call /lookupProfile
again, with a specific Id.
You can then call lookupProfile
using the right Id:
/checkStatus
The /checkStatus
API call retrieves the status of profiles returned by
/lookupProfile
.
When you make a call to /lookupProfile
, the response can contain one of the following 5 values:
complete
or failed
, the client must poll for status till it returns
either complete
or failed
.
In a normal lookup request states transition from "waiting" to "completed" as shown in the state diagram below. If there is a unrecoverable error at any stage, the status becomes "failed"
Assume that you made a call to lookup contact info for 'Travis Kalanick' and the response was
status:"complete", along with the complete data.
You can also club together multiple profile Ids
in one call. E.g.
Name | Description | Schema |
---|---|---|
api_key | User's API Key | string |
ids | Comma separated list of profile Ids, for which you need the status returned. | string |
/search
The /search
API is used to find people. The result is always a list of possible matches.
You can search by name, keyword, title, company or location. The behaviour is similar to what you see in our UI.
A call to /search
does not return contact information in the result.
In order to retreive contact information for someone in the list,
please make a separate call to /lookupProfile?id=$id
You can specifiy multiple keywords or titles etc. Our search system will try and find
results that match closest to your query.
E.g. in the search below, we have two keywords.
When you make calls to /search
, each item in the resulting array will contain an id
You can then use this id
to lookup contact information for the person.
E.g. You may perform a search for Elon Musk, which returns
You can then make a call to /lookupProfile
to get the contact information for Elon Musk.
Name | Description | Schema |
---|---|---|
api_key | User's API Key | string |
name | Name of the person you are looking for | string |
keyword | Keyword: Any keywords in a person's profile | string |
title | Title: (e.g. 'VP of Marketing', 'CEO') | string |
company | Company: (e.g. 'Google', 'General Electric') | string |
location | Location: (e.g. 'San Francisco', 'San Francisco Bay Area') | string |
/account
The /account
API allows you to retrieve your account information. The response will
return your basic usage and profile information.
Name | Description | Schema |
---|---|---|
api_key | User's API Key | string |
In this example, we will retrieve the full profile of a person, by name and current_employer
( Edit in plunker )
If you are calling the Web Services directly, you will essentially need to use 2 calls.
First call /lookupProfile
If the status
returned by the call is not "complete"
or "failed"
,
then you will need to poll /checkStatus
till it returns one of those values.
E.g. Assuming that Travis Kalanick's profile Id is 5262
This is very similar to the previous example, except for one difference. The call to /lookupProfile
is made using the li_url
parameter.
( Edit in plunker )
Similary, if you are calling the Web Services directly, you will make the same 2 calls, except the call to /lookupProfile
will use the li_url
parameter
In this example, we will search for people with a specific name, title, at a company. We will then lookup contact info for one of the search results.
( Edit in plunker )
If you use the API directly, you will essentially need to use 3 calls.
First call /search
Assuming that the id
for Travis's profile is 5262
, you then call /lookupProfile
If the status
returned by the call is not "complete"
or "failed"
,
then you will need to poll /checkStatus
till it returns one of those values.
If you're using the API in a browser, the Javascript Library allows you to get going very quickly. Find anyone's emails, social media and complete contact data, using only a few lines of code.
The first step is to initialize the library. To initialize the library, call init()
using your API key.
lookupProfile()
, search()
etc.Once the library has been initialized you can call any of our methods. E.g. Here we call lookupProfile().
More detailed examples are listed below.
View the complete API reference.
All the methods of the Javascript Library, and their parameters are listed below. All methods receive a settings
object as input. All methods (except for init()
) return a jQuery promise to listen for success/errors
E.g. init()
is invoked as follows.
and lookupProfile()
will be invoked as follows.
Name | Description | Schema |
---|---|---|
api_key | User's API Key | string |
success | Callback for succesful initialization of RocketReach. Recieves account information. | function |
error | Callback function invoked on error during initialization. Receives error information. | function |
Name | Description | Schema |
---|---|---|
id | id returned by any of the other methods. | int |
name | Name of the person you are looking for | string |
current_employer | Current employer name (e.g. 'Google', 'General Electric') | string |
title | Job Title (e.g. 'VP of Marketing', 'CEO') | string |
twitter_handle | Twitter Handle (e.g. use 'joandoe' instead of '@joandoe') | string |
twitter_url | Twitter Handle (e.g. 'https://twitter.com/joandoe') | string |
Name | Description | Schema |
---|---|---|
name | Name of the person you are looking for | string |
keyword | Keyword: Any keywords in a person's profile | string |
title | Title: (e.g. 'VP of Marketing', 'CEO') | string |
company | Company: (e.g. 'Google', 'General Electric') | string |
location | Location: (e.g. 'San Francisco', 'San Francisco Bay Area') | string |
This method takes no arguments. On success, the callback receives account information.