NAV Navbar
Find emails logo
shell ruby python

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
email 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
email 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.