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 |
| twitter_handle | Twitter Handle (e.g. use 'joandoe' instead of '@joandoe') | string |
| twitter_url | Twitter Handle (e.g. 'https://twitter.com/joandoe') | 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 4 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
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. Lookup anyone's emails, social links 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.
© 2016 RocketReach, All Rights Reserved.