Introduction
Welcome to the FindEmails Sales Hacking API! You can use our API to guess business emails, test emails, and extract prospects from webpages and our database.
We have language examples in Shell, Ruby, and Python. You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.
Authentication
Every FindEmails user has access to our API. API calls use credits in the same way that our web application use credits. For more information on how credits are used, view our FAQ.
To get an API key, first register for a free FindEmails account. Check your email for a confirmation message, click through the link, and log in. Your API key is available on your Account page.
If you run out of credits, you’ll need to sign up for a monthly plan to get more. Currently they start at just $19/mo.
Your API key is a long alphanumeric string that looks similar to this:
e3eabc123ccabcd3efg233hij06b7031
Companies
Get Company Industry and Agency Data
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/classify')
res = Net::HTTP.get(uri, 'key' => 'abc123yourkeyhere', 'company_name' => 'toofr.com')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/classify'
payload = {'key': 'abc123yourkeyhere', 'company_name': 'toofr.com'}
r = requests.get(uri, data = payload)
r.json()
curl https://www.findemails.com/api/v1/classify?key=abc123yourkeyhere&company_name=toofr.com
The above command returns JSON structured like this:
{
"industry":"marketing_and_advertising",
"agency_category":"advertising",
"is_agency":"no"
}
This endpoint uses our natural language processing engine to determine the industry and agency category and status of any website.
HTTP Request
GET https://www.findemails.com/api/v1/classify
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
company_name | This is the text of either the company name or website. |
Query Responses
Parameter | Description |
---|---|
industry | The general industry our artificial intelligence believes the website to be in. |
is_agency | A boolean (true / false) response on whether we believe the company is an agency. |
agency_category | If we believe the company is an agency, this is the more specific agency category it falls under. |
Convert Company Name to Domain
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/get_domain')
res = Net::HTTP.get(uri, 'key' => 'abc123yourkeyhere', 'company_name' => 'toofr')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/get_domain'
payload = {'key': 'abc123yourkeyhere', 'company_name': 'toofr'}
r = requests.get(uri, data = payload)
r.json()
curl https://www.findemails.com/api/v1/get_domain?key=abc123yourkeyhere&company_name=toofr
The above command returns JSON structured like this:
{
"domain":"toofr.com"
}
This endpoint uses our sophisticated processing engine and years of company name to domain matching to provide the best service on the internet for converting company names to domains.
HTTP Request
GET https://www.findemails.com/api/v1/get_domain
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
company_name | This is the text of the company name you need the website for. |
Query Responses
Parameter | Description |
---|---|
domain | The best matching domain we could find for the company_name you entered. |
Emails
Guess Emails
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/guess_email.json')
res = Net::HTTP.post_form(uri, 'key' => 'abc123yourkeyhere', 'first_name' => 'ryan', 'last_name' => 'buckley', 'company_name' => 'toofr.com', 'callback_url' => 'https://www.yourcallbackurlhere.com')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/guess_email.json'
payload = {'key': 'abc123yourkeyhere', 'first_name': 'ryan', 'last_name': 'buckley', 'company_name': 'toofr.com', 'callback_url' => 'https://www.yourcallbackurlhere.com'}
r = requests.post(uri, data = payload)
r.json()
curl --data "key=abc123yourkeyhere&first_name=ryan&last_name=buckley&company_name=toofr.com&callback_url=https://yourcallbackurlhere.com"" https://www.findemails.com/api/v1/guess_email.json
Response without callback URL parameter:
{
"ryan@toofr.com": {
"confidence": 100,
"state": "high",
"email": "ryan@toofr.com",
"detail": [
{"description": "Mailserver score", "response": "+40"},
{"description": "Pattern score", "response": "+27"},
{"description": "MX records score", "response": "+10"},
{"description": "Catchall score", "response": "+10"},
{"description": "Uniqueness score", "response": "+2"},
{"description": "List score", "response": "+2"},
{"description": "Name score", "response": "+2"},
{"description": "Disposable score", "response": "+2"},
{"description": "Gibberish score", "response": "+2"}
],
"employee": {
"first_name": "ryan",
"last_name": "buckley",
"title": "founder",
"profile": {
"fn":"Ryan Buckley",
"photo":"https://media.licdn.com/dms/image/C4D03AQFIi292VtKikw/profile-displayphoto-shrink_200_200/0?e=1536192000&v=beta&t=aXWOwRlu17VF_r96euIeWvX00I8OYfOrwhaK-Xbmksg",
"title":"Builder of ToOfr, Inlistio, and Voxloca. Author of The Parallel Entrepreneur. Resident of Contra Costa County.",
"linkedin_profile":"https://www.linkedin.com/in/rbuckley"
},
"email":
{
"email": "ryan@toofr.com",
"confidence": 70,
"state": "high"
}
}
}
}
}
Response with callback URL parameter:
{
"success": true
}
Response at your callback URL:
{
"ryan@toofr.com": {
"confidence": 100,
"state": "high",
"email": "ryan@toofr.com",
"detail": [
{"description": "Mailserver score", "response": "+40"},
{"description": "Pattern score", "response": "+27"},
{"description": "MX records score", "response": "+10"},
{"description": "Catchall score", "response": "+10"},
{"description": "Uniqueness score", "response": "+2"},
{"description": "List score", "response": "+2"},
{"description": "Name score", "response": "+2"},
{"description": "Disposable score", "response": "+2"},
{"description": "Gibberish score", "response": "+2"}
],
"employee": {
"first_name": "ryan",
"last_name": "buckley",
"title": "founder",
"profile": {
"fn":"Ryan Buckley",
"photo":"https://media.licdn.com/dms/image/C4D03AQFIi292VtKikw/profile-displayphoto-shrink_200_200/0?e=1536192000&v=beta&t=aXWOwRlu17VF_r96euIeWvX00I8OYfOrwhaK-Xbmksg",
"title":"Builder of ToOfr, Inlistio, and Voxloca. Author of The Parallel Entrepreneur. Resident of Contra Costa County.",
"linkedin_profile":"https://www.linkedin.com/in/rbuckley"
},
"email":
{
"email": "ryan@toofr.com",
"confidence": 70,
"state": "high"
}
}
}
}
This endpoint discovers emails based on the first name, last name, and company name.
HTTP Request
POST https://www.findemails.com/api/v1/guess_email.json
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
first_name | This is the text of the first name of your prospect, cleansed of spaces and non-ASCII characters (por favor!) |
last_name | This is the text of the last name of your prospect, cleansed of spaces and non-ASCII characters (por favor!) |
company_name | This is the text of either the company name or website |
callback_url (optional) | The URL where you want FindEmails to send the response. It is recommended to add a callback URL to get the best results from our system . |
Test or Verify Emails
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/test_email.json')
res = Net::HTTP.post_form(uri, 'key' => 'abc123yourkeyhere', 'email' => 'ryan@toofr.com', 'callback_url' => 'https://www.yourcallbackurlhere.com')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/guess_email.json'
payload = {'key': 'abc123yourkeyhere', 'email': 'ryan@toofr.com', 'callback_url': 'https://www.yourcallbackurlhere.com'}
r = requests.post(uri, data = payload)
r.json()
curl --data "key=abc123yourkeyhere&email=ryan@scripted.com&callback_url=https://www.yourcallbackurlhere.com" https://www.findemails.com/api/v1/test_email.json
The above command returns JSON structured like this:
{
"email": "ryan@toofr.com",
"confidence": 100,
"state": high,
"detail": [
{"description": "Mailserver score", "response": "+40"},
{"description": "Pattern score", "response": "+27"},
{"description": "MX records score", "response": "+10"},
{"description": "Catchall score", "response": "+10"},
{"description": "Uniqueness score", "response": "+2"},
{"description": "List score", "response": "+2"},
{"description": "Name score", "response": "+2"},
{"description": "Disposable score", "response": "+2"},
{"description": "Gibberish score", "response": "+2"}
],
"employee": {
"first_name": "ryan",
"last_name": "buckley",
"title": "founder",
"profile": {
"fn":"Ryan Buckley",
"photo":"https://media.licdn.com/dms/image/C4D03AQFIi292VtKikw/profile-displayphoto-shrink_200_200/0?e=1536192000&v=beta&t=aXWOwRlu17VF_r96euIeWvX00I8OYfOrwhaK-Xbmksg",
"title":"Builder of ToOfr, Inlistio, and Voxloca. Author of The Parallel Entrepreneur. Resident of Contra Costa County.",
"linkedin_profile":"https://www.linkedin.com/in/rbuckley"
},
"email":
{
"email": "ryan@toofr.com",
"confidence": 70,
"state": "high"
}
}
}
}
This endpoint delivers our confidence score for a given email address.
HTTP Request
POST https://www.findemails.com/api/v1/test_email.json
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
The properly formatted email address you want to test | |
callback_url | Where you want the response to be sent. |
HTTP Error Codes
The FindEmails API returns the following HTTP status codes for faulty queries:
Error Code | Meaning |
---|---|
401 | Unauthorized – There was a problem with your API key. |
404 | Not Found – The resource you requested could not be found. |
406 | Not Acceptable – You requested a format that isn’t compatible with our API. |
500 | Internal Server Error – We had an unexpected problem with your request. |
Lists
Get All Lists
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/lists')
res = Net::HTTP.get(uri, 'key' => 'abc123yourkeyhere')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/lists'
payload = {'key': 'abc123yourkeyhere'}
r = requests.get(uri, data = payload)
r.json()
curl https://www.findemails.com/api/v1/lists?key=abc123yourkeyhere
The above command returns a JSON array structured like this:
[
{
"id":137,
"name":"My first file upload",
"description":"Prospects generated from web scrape.",
"created_at":"2017-05-20T20:55:44.635Z",
"state":"finished",
"records_count_in":5,
"records_count_processed":5
},
{
"id":134,
"name":"Web results",
"description":"Good emails found by my VA.",
"created_at":"2017-05-16T19:56:10.155Z",
"state":"finished",
"records_count_in":null,
"records_count_processed":null
}
]
This endpoint delivers the array of lists seen in your account at https://www.findemails.com/lists/owned.
HTTP Request
GET https://www.findemails.com/api/v1/lists
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
marketplace | (optional) Set to true if you want to list only the lists for sale in the FindEmails marketplace |
page | (optional) Set to any integer to paginate through results |
Search Lists
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/lists/search')
res = Net::HTTP.get(uri, 'key' => 'abc123yourkeyhere', 'query' => 'foobar', 'marketplace' => true)
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/lists/search'
payload = {'key': 'abc123yourkeyhere', 'query': 'foobar', 'marketplace': 'true'}
r = requests.get(uri, data = payload)
r.json()
curl https://www.findemails.com/api/v1/lists?key=abc123yourkeyhere&query=foobar&marketplace=true
The above command returns a JSON array structured like this:
[
{
"id":137,
"name":"List for sale",
"description":"Prospects generated from web scrape.",
"created_at":"2017-05-20T20:55:44.635Z",
"state":"finished",
"records_count_in":5,
"records_count_processed":5
},
{
"id":134,
"name":"Prospects for sale",
"description":"Good emails found by my VA.",
"created_at":"2017-05-16T19:56:10.155Z",
"state":"finished",
"records_count_in":10,
"records_count_processed":10
}
]
This endpoint delivers the array of lists seen in your own account at https://www.findemails.com/lists/owned
or if you include the marketplace parameter then it will search the public marketplace lists at https://www.findemails.com/email-lists
.
HTTP Request
GET https://www.findemails.com/api/v1/lists/search
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
query | The term(s) you want to search for |
marketplace | (optional) Set to true if you want to list only the lists for sale in the FindEmails marketplace |
page | (optional) Set to any integer to paginate through results |
Get A Specific List
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/lists/:id')
res = Net::HTTP.get(uri, 'key' => 'abc123yourkeyhere')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/lists/:id'
payload = {'key': 'abc123yourkeyhere'}
r = requests.get(uri, data = payload)
r.json()
curl https://www.findemails.com/api/v1/lists/:id?key=abc123yourkeyhere
The above command returns JSON structured like this:
{
"id":137,
"name":"My first file upload",
"description":"Prospects generated from web scrape.",
"created_at":"2017-05-20T20:55:44.635Z",
"state":"finished",
"records_count_in":5,
"records_count_processed":5
}
This endpoint delivers the JSON hash of a specific list.
HTTP Request
GET https://www.findemails.com/api/v1/lists/:id
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
Create A List
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/lists')
res = Net::HTTP.post_form(uri, 'key' => 'abc123yourkeyhere', 'name' => 'API list', 'description' => 'Created via API')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/lists'
payload = {'key': 'abc123yourkeyhere', 'name': 'API list', 'description': 'Created via API'}
r = requests.post(uri, data = payload)
r.json()
curl --data "key=abc123yourkeyhere&name='API list'&description='Created via API'" https://www.findemails.com/api/v1/lists
The above command returns JSON structured like this:
{
"id":137,
"name":"My first file upload",
"description":"Prospects generated from web scrape.",
"created_at":"2017-05-20T20:55:44.635Z",
"state":"finished",
"records_count_in":5,
"records_count_processed":5
}
This endpoint delivers the array of lists seen in your account at https://www.findemails.com/lists/owned.
HTTP Request
POST https://www.findemails.com/api/v1/lists
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
name | A short string to name your list |
description | A longer string to describe your list |
file_type | For bulk processing, select the type of file it would be if you were to import it rather than use the API. See acceptable values below or leave blank if no processing is required. |
File Type | Description |
---|---|
guess | You provide the names and companies of prospects and FindEmails appends the best email and confidence score |
guess_all | Like guess, but FindEmails gives all emails and confidence scores, not just the best one |
test | You provide emails and FindEmails appends a confidence score |
get | You provide companies (names or websites) and FindEmails returns all the related emails with confidence scores in our database |
pattern | You provide companies (names or websites) and FindEmails returns the best related email pattern |
Purchase A Marketplace List
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/lists/:id/purchase')
res = Net::HTTP.get(uri, 'key' => 'abc123yourkeyhere')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/lists/:id/purchase'
payload = {'key': 'abc123yourkeyhere'}
r = requests.get(uri, data = payload)
r.json()
curl https://www.findemails.com/api/v1/lists/:id/purchase?key=abc123yourkeyhere
The above command returns JSON structured like this. Use the List ID returned to access the list records in the list:
{
"id":137,
"name":"My first file upload",
"description":"Prospects generated from web scrape.",
"created_at":"2017-05-20T20:55:44.635Z",
"state":"finished",
"records_count_in":5,
"records_count_processed":5
}
This endpoint delivers the JSON hash of a specific list.
HTTP Request
POST https://www.findemails.com/api/v1/lists/:id/purchase
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
List Records
Get All List Records On A List
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/lists/:list_id/list_records')
res = Net::HTTP.get(uri, 'key' => 'abc123yourkeyhere', 'page' => 1)
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/lists/:list_id/list_records'
payload = {'key': 'abc123yourkeyhere', 'page': 1}
r = requests.get(uri, data = payload)
r.json()
curl https://www.findemails.com/api/v1/lists/:list_id/list_records?key=abc123yourkeyhere&page=1
The above command returns a JSON array structured like this:
[
{
"id":16347,
"first_name":"ryan",
"last_name":"buckerooski",
"company":"toofr.com",
"email_address":"ryan@toofr.com",
"meta":{
"top":"true"
},
"created_at":"2017-05-24T03:33:37.234Z",
"processed_at":"2017-05-24T03:33:53.325Z"
},
{
"id":16346,
"first_name":"james",
"last_name":"bond",
"company":"toofr.com",
"email_address":"bondjamesbond@toofr.com",
"meta":{
"top":"true"
},
"created_at":"2017-05-24T03:32:29.271Z",
"processed_at":"2017-05-24T03:32:34.876Z"
},
]
This endpoint delivers the array of list records you would see if you exported your list from https://www.findemails.com/lists/:id.
HTTP Request
GET https://www.findemails.com/api/v1/lists/:list_id/list_records
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
page | Results are paginated 100 at a time so you can iterate through the pages numerically to extract list records |
Get A Specific List Record
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/lists/:list_id/list_records/:id')
res = Net::HTTP.get(uri, 'key' => 'abc123yourkeyhere')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/lists/:list_id/list_records/:id'
payload = {'key': 'abc123yourkeyhere'}
r = requests.get(uri, data = payload)
r.json()
curl https://www.findemails.com/api/v1/lists/:list_id/list_records/:id?key=abc123yourkeyhere
The above command returns JSON structured like this:
{
"id":16347,
"first_name":"ryan",
"last_name":"buckerooski",
"company":"toofr.com",
"email_address":"ryan@toofr.com",
"meta":{
"top":"true"
},
"created_at":"2017-05-24T03:33:37.234Z",
"processed_at":"2017-05-24T03:33:53.325Z"
}
This endpoint delivers the JSON hash of a specific list_record.
HTTP Request
GET https://www.findemails.com/api/v1/lists/:id
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
Create A List Record
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/lists/:list_id/list_records')
res = Net::HTTP.post_form(uri, 'key' => 'abc123yourkeyhere', 'first_name' => 'Ryan', 'last_name' => 'Buckley', 'company' => 'toofr.com')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/lists/:list_id/list_records'
payload = {'key': 'abc123yourkeyhere', 'first_name': 'Ryan', 'last_name': 'Buckley', 'company': 'toofr.com'}
r = requests.post(uri, data = payload)
r.json()
curl --data "key=abc123yourkeyhere&first_name=Ryan&last_name=Buckley&company=toofr.com" https://www.findemails.com/api/v1/lists/:list_id/list_records
The above command returns JSON structured like this:
{
"id":16348,
"first_name":"ryan",
"last_name":"buckerooski",
"company":"toofr.com",
"email_address":null,
"meta":{}
}
This endpoint creates and initiates a background process on the created list record. The type of process run will be based on the file_type of its associated list (the :list_id it’s created on).
HTTP Request
POST https://www.findemails.com/api/v1/lists/:list_id/list_records
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
Bulk List Records
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/lists/:list_id/list_records/bulk_list_Records')
res = Net::HTTP.post_form(uri, 'key' => 'abc123yourkeyhere', 'records' => '[{\"first_name\":\"Test0\",\"last_name\":\"Last\",\"company\":\"toofr.com\"},{\"first_name\":\"Test1\",\"last_name\":\"Last\",\"company\":\"toofr.com\"},{\"first_name\":\"Test2\",\"last_name\":\"Last\",\"company\":\"toofr.com\"}]')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/lists/:list_id/list_records/bulk_list_Records'
payload = {'key': 'abc123yourkeyhere', 'records': '[{\"first_name\":\"Test0\",\"last_name\":\"Last\",\"company\":\"toofr.com\"},{\"first_name\":\"Test1\",\"last_name\":\"Last\",\"company\":\"toofr.com\"},{\"first_name\":\"Test2\",\"last_name\":\"Last\",\"company\":\"toofr.com\"}]'}
r = requests.post(uri, data = payload)
r.json()
curl --data "key=abc123yourkeyhere&records=[{\"first_name\":\"Test0\",\"last_name\":\"Last\",\"company\":\"toofr.com\"},{\"first_name\":\"Test1\",\"last_name\":\"Last\",\"company\":\"toofr.com\"},{\"first_name\":\"Test2\",\"last_name\":\"Last\",\"company\":\"toofr.com\"}]" https://www.findemails.com/api/v1/lists/:list_id/list_records/bulk_list_Records
The above command returns JSON structured like this:
{
"message": "We are processing your request. It will take some time for completion."
}
HTTP Request
POST https://www.findemails.com/api/v1/lists/:list_id/list_records/bulk_list_Records
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
records | JSON string of all the records details i.e. first_name , last_name and company |
Prospects
Get Prospects By Title Or Company
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/prospect')
res = Net::HTTP.get(uri, 'key' => 'abc123yourkeyhere', 'company_name' => 'toofr.com', 'title' => 'ceo', 'count' => 10)
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/prospect'
payload = {'key': 'abc123yourkeyhere', 'company_name': 'toofr.com', 'title': 'ceo', 'count': 10}
r = requests.get(uri, data = payload)
r.json()
curl https://www.findemails.com/api/v1/prospect?key=abc123yourkeyhere&company_name=toofr.com&title=ceo&count=10
The above command returns JSON structured like this:
{
"id":137,
"name":"My first file upload",
"description":"Prospects generated from web scrape.",
"created_at":"2017-05-20T20:55:44.635Z",
"state":"finished",
"records_count_in":5,
"records_count_processed":5
}
This endpoint creates a list in your account of new prospects that match your submitted criteria. You’ll receive a JSON response of a new list which will contain your prospects. Refer to the List Records documentation for the call to view all records on a list.
HTTP Request
GET https://www.findemails.com/api/v1/prospect
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
company_name | This is the text of either the company name or website. |
title | This is a short title you want your prospects to have. |
count | This is how many prospects you want to find. |
tld | This is the country code you want to use. Default is USA. |
page | Optional integer to get another page of results (10 returned per page, 1 credit per page response). |
TLD Options
Top-Level Domains (TLD)
Country | TLD |
---|---|
Afghanistan | af |
Albania | al |
Algeria | dz |
Argentina | ar |
Australia | au |
Austria | at |
Bahrain | bh |
Bangladesh | bd |
Belgium | be |
Bolivia | bo |
Bosnia and Herzegovina | ba |
Brazil | br |
Bulgaria | bg |
Canada | ca |
Chile | cl |
China | cn |
Colombia | co |
Costa Rica | cr |
Croatia | hr |
Cyprus | cy |
Czech Republic | cz |
Denmark | dk |
Dominican Republic | do |
Ecuador | ec |
Egypt | eg |
El Salvador | sv |
Estonia | ee |
Finland | fi |
France | fr |
Germany | de |
Ghana | gh |
Greece | gr |
Guatemala | gt |
Hong Kong | hk |
Hungary | hu |
Iceland | is |
India | in |
Indonesia | id |
Iran | ir |
Ireland | ie |
Israel | il |
Italy | it |
Jamaica | jm |
Japan | jp |
Jordan | jo |
Kazakhstan | kz |
Kenya | ke |
Korea | kr |
Kuwait | kw |
Latvia | lv |
Lebanon | lb |
Lithuania | lt |
Luxembourg | lu |
Macedonia | mk |
Malaysia | my |
Malta | mt |
Mauritius | mu |
Mexico | mx |
Morocco | ma |
Nepal | np |
Netherlands | nl |
New Zealand | nz |
Nigeria | ng |
Norway | no |
Oman | om |
Pakistan | pk |
Panama | pa |
Peru | pe |
Philippines | ph |
Poland | pl |
Portugal | pt |
Puerto Rico | pr |
Qatar | qa |
Romania | ro |
Russian Federation | ru |
Saudi Arabia | sa |
Singapore | sg |
Slovak Republic | sk |
Slovenia | si |
South Africa | za |
Spain | es |
Sri Lanka | lk |
Sweden | se |
Switzerland | ch |
Taiwan | tw |
Tanzania | tz |
Thailand | th |
Trinidad and Tobago | tt |
Tunisia | tn |
Turkey | tr |
Uganda | ug |
Ukraine | ua |
United Arab Emirates | ae |
United Kingdom | uk |
Uruguay | uy |
Venezuela | ve |
Viet Nam | vn |
Zimbabwe | zw |
Get Prospects By Domain (database only)
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/get_prospects')
res = Net::HTTP.get(uri, 'key' => 'abc123yourkeyhere', 'company_name' => 'findemails.com')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/get_prospects'
payload = {'key': 'abc123yourkeyhere', 'company_name': 'findemails.com'}
r = requests.get(uri, data = payload)
r.json()
curl https://www.findemails.com/api/v1/profile?key=abc123yourkeyhere&company_name=findemails.com
The above command returns JSON structured like this:
{
"prospects":[
{
"first_name": "ryan",
"last_name": "buckley",
"title": "founder",
"profile":{
"fn":"Ryan Buckley",
"photo":"https://media.licdn.com/dms/image/C4D03AQFIi292VtKikw/profile-displayphoto-shrink_200_200/0?e=1536192000&v=beta&t=aXWOwRlu17VF_r96euIeWvX00I8OYfOrwhaK-Xbmksg",
"title":"Builder of ToOfr, Inlistio, and Voxloca. Author of The Parallel Entrepreneur. Resident of Contra Costa County.",
"linkedin_profile":"https://www.linkedin.com/in/rbuckley"
},
"email":{
"email":"ryan@toofr.com",
"confidence":70,
"state":"high"
},
"confidence_detail":{
[
{"description": "Mailserver score", "response": "+40"},
{"description": "Pattern score", "response": "+27"},
{"description": "MX records score", "response": "+10"},
{"description": "Catchall score", "response": "+10"},
{"description": "Uniqueness score", "response": "+2"},
{"description": "List score", "response": "+2"},
{"description": "Name score", "response": "+2"},
{"description": "Disposable score", "response": "+2"},
{"description": "Gibberish score", "response": "+2"}
]
}
},
]
}
This endpoint returns the emails and prospect data we have on a given domain in our database.
HTTP Request
GET https://www.findemails.com/api/v1/get_prospects
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
company_name | The company name or domain of the business |
Get Profiles
require 'net/http'
require 'json'
uri = URI('https://www.findemails.com/api/v1/profile')
res = Net::HTTP.get(uri, 'key' => 'abc123yourkeyhere', 'first_name' => 'ryan', 'last_name' => 'buckley', 'email' => 'ryan@toofr.com')
JSON.parse(res.body)
import requests
uri = 'https://www.findemails.com/api/v1/profile'
payload = {'key': 'abc123yourkeyhere', 'first_name': 'ryan', 'last_name': 'buckley', 'email': 'ryan@toofr.com'}
r = requests.get(uri, data = payload)
r.json()
curl https://www.findemails.com/api/v1/profile?key=abc123yourkeyhere&first_name=ryan&last_name=buckley&email=ryan@toofr.com
The above command returns JSON structured like this:
{
"profile": {
"fn":"Ryan Buckley",
"photo":"https://media.licdn.com/mpr/mpr/shrinknp_200_200/p/3/000/063/38c/276e158.jpg",
"title":"CEO of FindEmails",
"linkedin_profile":"https://www.linkedin.com/in/rbuckley"
}
}
This endpoint returns the profile data we have on a given prospect and attempts to fetch it in real-time if it’s not in our database.
HTTP Request
GET https://www.findemails.com/api/v1/profile
Query Parameters
Parameter | Description |
---|---|
key | Your key is required for any request and is found on your FindEmails account page |
first_name | The first name of the prospect |
last_name | The last name of the prospect |
The known email address of the prospect |
HTTP Success Codes
The FindEmails API returns the following HTTP status codes for successful queries:
Error Code | Meaning |
---|---|
200 | Successful – The request was completely successful. |
202 | Wait and Try Again – The request was successful but requires background processing. Try the request with the same parameters again in a minute. |