Find Email
curl --request POST \
--url https://api.linkupapi.com/v2/enrich \
--header 'Content-Type: application/json' \
--data '
{
"action": "<string>",
"params": {
"first_name": "<string>",
"last_name": "<string>",
"company_domain": "<string>",
"company_name": "<string>",
"profile_url": "<string>"
}
}
'import requests
url = "https://api.linkupapi.com/v2/enrich"
payload = {
"action": "<string>",
"params": {
"first_name": "<string>",
"last_name": "<string>",
"company_domain": "<string>",
"company_name": "<string>",
"profile_url": "<string>"
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
action: '<string>',
params: {
first_name: '<string>',
last_name: '<string>',
company_domain: '<string>',
company_name: '<string>',
profile_url: '<string>'
}
})
};
fetch('https://api.linkupapi.com/v2/enrich', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.linkupapi.com/v2/enrich",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'action' => '<string>',
'params' => [
'first_name' => '<string>',
'last_name' => '<string>',
'company_domain' => '<string>',
'company_name' => '<string>',
'profile_url' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.linkupapi.com/v2/enrich"
payload := strings.NewReader("{\n \"action\": \"<string>\",\n \"params\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"company_name\": \"<string>\",\n \"profile_url\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.linkupapi.com/v2/enrich")
.header("Content-Type", "application/json")
.body("{\n \"action\": \"<string>\",\n \"params\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"company_name\": \"<string>\",\n \"profile_url\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v2/enrich")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"action\": \"<string>\",\n \"params\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"company_name\": \"<string>\",\n \"profile_url\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"email": "[email protected]",
"alternatives": [],
"catchall": true,
"domain_used": "acme-corp.com",
"domains_tested": ["acme-corp.com"],
"domains_filtered": ["acme-corp.com"]
},
"metadata": {
"action": "find_email",
"credits_consumed": 1,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": true,
"data": {
"email": null,
"alternatives": [],
"catchall": false,
"domain_used": null,
"domains_tested": ["acme-corp.com"],
"domains_filtered": ["acme-corp.com"]
},
"metadata": {
"action": "find_email",
"credits_consumed": 1,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Provide either linkedin_url, or first_name + last_name + (company_name or company_domain)"
},
"metadata": {
"action": "find_email",
"credits_consumed": 0,
"timestamp": "2026-04-26T10:35:00Z"
}
}
Email Enrichment
Find Email
Find a professional email address from name + company.
POST
/
v2
/
enrich
Find Email
curl --request POST \
--url https://api.linkupapi.com/v2/enrich \
--header 'Content-Type: application/json' \
--data '
{
"action": "<string>",
"params": {
"first_name": "<string>",
"last_name": "<string>",
"company_domain": "<string>",
"company_name": "<string>",
"profile_url": "<string>"
}
}
'import requests
url = "https://api.linkupapi.com/v2/enrich"
payload = {
"action": "<string>",
"params": {
"first_name": "<string>",
"last_name": "<string>",
"company_domain": "<string>",
"company_name": "<string>",
"profile_url": "<string>"
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
action: '<string>',
params: {
first_name: '<string>',
last_name: '<string>',
company_domain: '<string>',
company_name: '<string>',
profile_url: '<string>'
}
})
};
fetch('https://api.linkupapi.com/v2/enrich', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.linkupapi.com/v2/enrich",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'action' => '<string>',
'params' => [
'first_name' => '<string>',
'last_name' => '<string>',
'company_domain' => '<string>',
'company_name' => '<string>',
'profile_url' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.linkupapi.com/v2/enrich"
payload := strings.NewReader("{\n \"action\": \"<string>\",\n \"params\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"company_name\": \"<string>\",\n \"profile_url\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.linkupapi.com/v2/enrich")
.header("Content-Type", "application/json")
.body("{\n \"action\": \"<string>\",\n \"params\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"company_name\": \"<string>\",\n \"profile_url\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v2/enrich")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"action\": \"<string>\",\n \"params\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company_domain\": \"<string>\",\n \"company_name\": \"<string>\",\n \"profile_url\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"email": "[email protected]",
"alternatives": [],
"catchall": true,
"domain_used": "acme-corp.com",
"domains_tested": ["acme-corp.com"],
"domains_filtered": ["acme-corp.com"]
},
"metadata": {
"action": "find_email",
"credits_consumed": 1,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": true,
"data": {
"email": null,
"alternatives": [],
"catchall": false,
"domain_used": null,
"domains_tested": ["acme-corp.com"],
"domains_filtered": ["acme-corp.com"]
},
"metadata": {
"action": "find_email",
"credits_consumed": 1,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Provide either linkedin_url, or first_name + last_name + (company_name or company_domain)"
},
"metadata": {
"action": "find_email",
"credits_consumed": 0,
"timestamp": "2026-04-26T10:35:00Z"
}
}
Overview
Finds a professional email address from a person’s name and company. You can identify the target either by:- First name + last name + company (
company_nameorcompany_domain) - Profile URL — the service auto-extracts name and current company from the profile
This endpoint consumes 1 credit per request.
Request
string
required
Must be
"find_email".object
required
Show params properties
Show params properties
string
Person’s first name. Required unless
profile_url is provided.string
Person’s last name. Required unless
profile_url is provided.string
Company root domain (e.g.
"acme-corp.com"). Provide either this or company_name. Also accepts domain as an alias.string
Company display name (the service resolves it to a domain via Google search). Also accepts
company as an alias.string
Public URL of the person’s profile (e.g.
"https://www.linkedin.com/in/jane-doe-42"). When provided, name and current company are extracted automatically and first_name/last_name/company_* become optional.Response
boolean
Indicates whether the request was successful.
object
Show data properties
Show data properties
string
The validated email address found, or
null if no valid pattern matched.array
Other potential emails (typically empty when a primary match is locked, or populated when the domain is catch-all).
boolean
true if the company domain is catch-all (deliverability not guaranteed).string
The domain on which the matching email was found.
array
List of domains tested in order before stopping.
array
All candidate domains after blacklist filtering (social platforms, free providers, etc.).
object
{
"success": true,
"data": {
"email": "[email protected]",
"alternatives": [],
"catchall": true,
"domain_used": "acme-corp.com",
"domains_tested": ["acme-corp.com"],
"domains_filtered": ["acme-corp.com"]
},
"metadata": {
"action": "find_email",
"credits_consumed": 1,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": true,
"data": {
"email": null,
"alternatives": [],
"catchall": false,
"domain_used": null,
"domains_tested": ["acme-corp.com"],
"domains_filtered": ["acme-corp.com"]
},
"metadata": {
"action": "find_email",
"credits_consumed": 1,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Provide either linkedin_url, or first_name + last_name + (company_name or company_domain)"
},
"metadata": {
"action": "find_email",
"credits_consumed": 0,
"timestamp": "2026-04-26T10:35:00Z"
}
}
Was this page helpful?