API Documentation

Quick Start

Make your first API call in under 2 minutes.

1
Endpoint for everything
1 credit
Per enrichment request
~3 sec
Average response time
1

Get your API key

Sign up for a free trial — your API key is in your dashboard under Settings → API Key. You get 100 free credits to start.

2

Make your first call

All requests go to one endpoint: POST https://api.linkfinderai.com. Change the type field to select the enrichment you need.

3

Handle the response

Every response includes a status field ("success" or "error") and a result field with your data.

# Find a company's website — your first API call
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{
       "type": "company_name_to_website",
       "input_data": "Tesla"
     }'
import requests

API_KEY = "YOUR_API_KEY"

response = requests.post(
    "https://api.linkfinderai.com",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json",
    },
    json={
        "type": "company_name_to_website",
        "input_data": "Tesla",
    }
)

data = response.json()
print(data["result"])  # "tesla.com"
const API_KEY = "YOUR_API_KEY";

const response = await fetch("https://api.linkfinderai.com", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    type: "company_name_to_website",
    input_data: "Tesla",
  }),
});

const data = await response.json();
console.log(data.result); // "tesla.com"
// Success
{
  "result": "tesla.com",
  "status": "success"
}

// Not found
{
  "result": null,
  "status": "error",
  "message": "Company not found"
}
Every request costs 1 credit regardless of endpoint — including failed lookups where no data is found. Check your remaining credits in your dashboard.

Authentication

Pass your API key in the Authorization header on every request.

Authorization: Bearer YOUR_API_KEY
headers = {"Authorization": "Bearer YOUR_API_KEY"}
headers: { "Authorization": `Bearer ${API_KEY}` }
Never expose your API key in client-side JavaScript or public repositories. Rotate it immediately in your dashboard if compromised.

Credits & Rate Limits

1 credit = 1 API request, regardless of endpoint. Credits reset at the start of each billing cycle.

PlanCredits / monthRequests / secondBatch size
Starter5,0005 req/sUp to 500 URLs
Professional20,00010 req/sUp to 500 URLs
Enterprise50,00020 req/sUp to 500 URLs
HyperGrowth250,00050 req/sUp to 500 URLs
If you exceed your rate limit, requests return 429 Too Many Requests. Implement exponential backoff — wait 1s, then 2s, then 4s between retries.

AI Lead Finder New

Describe the leads you want in plain English. Get back a list of matching LinkedIn profiles with full contact details and company data.

This is the most powerful endpoint. Instead of looking up one profile at a time, describe your ideal customer in natural language and get up to 100 matching leads in one call. Each profile costs 1 credit.

Company Enrichment

Look up company details from a name or domain. Each request costs 1 credit.

POSTcompany_name_to_website
Find a company's official website from its name
1 credit
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"type": "company_name_to_website", "input_data": "Tesla"}'
requests.post(url, headers=headers, json={
    "type": "company_name_to_website",
    "input_data": "Tesla"
})
POSTcompany_name_to_phone
Get company contact phone number from company name
1 credit
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"type": "company_name_to_phone", "input_data": "Tesla"}'
POSTcompany_name_to_email
Get company contact email address from company name
1 credit
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"type": "company_name_to_email", "input_data": "Tesla"}'
POSTcompany_name_to_employee_count
Get total employee count from company name
1 credit
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"type": "company_name_to_employee_count", "input_data": "Tesla"}'
POSTcompany_name_to_linkedin_url
Find company LinkedIn profile URL from company name
1 credit
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"type": "company_name_to_linkedin_url", "input_data": "Tesla"}'
POSTcompany_domain_to_employees
Get a filtered list of employees from a company domain — filter by department and seniority
1 credit / employee
ParameterTypeRequiredDescription
input_datastringRequiredCompany domain e.g. tesla.com
departmentstringOptionalFilter by department e.g. "marketing", "engineering"
senioritystringOptionalFilter by seniority e.g. "director", "manager"
employee_countintegerOptionalMax results to return
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{
       "type": "company_domain_to_employees",
       "input_data": "tesla.com",
       "department": "marketing",
       "seniority": "director",
       "employee_count": 20
     }'

B2B Data Lookup

Look up business contacts profiles, company pages, and posts without using your own LinkedIn account. Zero ban risk.

POSTlinkedin_profile_to_linkedin_info
Extract full profile data from a LinkedIn profile URL
1 credit
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"type": "linkedin_profile_to_linkedin_info", "input_data": "https://linkedin.com/in/john-doe"}'
requests.post(url, headers=headers, json={
    "type": "linkedin_profile_to_linkedin_info",
    "input_data": "https://linkedin.com/in/john-doe"
})
POSTlinkedin_profile_to_email
Find a person's professional email address from their LinkedIn profile URL
1 credit
ParameterTypeRequiredDescription
input_datastringRequiredFull LinkedIn profile URL e.g. https://linkedin.com/in/john-doe
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{
       "type": "linkedin_profile_to_email",
       "input_data": "https://linkedin.com/in/john-doe"
     }'
response = requests.post(url, headers=headers, json={
    "type": "linkedin_profile_to_email",
    "input_data": "https://linkedin.com/in/john-doe"
})
print(response.json()["result"])  # "[email protected]"
// Success
{
  "result": "[email protected]",
  "status": "success"
}

// Not found
{
  "result": null,
  "status": "error",
  "message": "Email not found"
}
POSTlinkedin_profile_to_phone
Find a person's phone number from their LinkedIn profile URL
1 credit
ParameterTypeRequiredDescription
input_datastringRequiredFull LinkedIn profile URL e.g. https://linkedin.com/in/john-doe
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{
       "type": "linkedin_profile_to_phone",
       "input_data": "https://linkedin.com/in/john-doe"
     }'
response = requests.post(url, headers=headers, json={
    "type": "linkedin_profile_to_phone",
    "input_data": "https://linkedin.com/in/john-doe"
})
print(response.json()["result"])  # "+1 415 555 0198"
// Success
{
  "result": "+1 415 555 0198",
  "status": "success"
}

// Not found
{
  "result": null,
  "status": "error",
  "message": "Phone not found"
}
POSTlinkedin_company_to_linkedin_info
Extract detailed company data from a LinkedIn company page URL
1 credit
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"type": "linkedin_company_to_linkedin_info", "input_data": "https://linkedin.com/company/tesla"}'
POSTlinkedin_company_to_employee_count
Get employee count from a LinkedIn company page URL
1 credit
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"type": "linkedin_company_to_employee_count", "input_data": "https://linkedin.com/company/tesla"}'
POSTlead_full_name_to_linkedin_url
Find a person's LinkedIn URL from their full name and company
1 credit
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"type": "lead_full_name_to_linkedin_url", "input_data": "Bill Gates Microsoft"}'
POSTemail_to_linkedin_url
Reverse-lookup a person's LinkedIn profile URL from their email address
1 credit
ParameterTypeRequiredDescription
input_datastringRequiredProfessional email address e.g. [email protected]
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{
       "type": "email_to_linkedin_url",
       "input_data": "[email protected]"
     }'
response = requests.post(url, headers=headers, json={
    "type": "email_to_linkedin_url",
    "input_data": "[email protected]"
})
print(response.json()["result"])  # "https://linkedin.com/in/john-doe"
// Success
{
  "result": "https://linkedin.com/in/john-doe",
  "status": "success"
}

// Not found
{
  "result": null,
  "status": "error",
  "message": "LinkedIn profile not found"
}
POSTlinkedin_post_to_reactions
Get a list of people who reacted to a LinkedIn post
1 credit / profile
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"type": "linkedin_post_to_reactions", "input_data": "https://www.linkedin.com/feed/update/urn:li:activity:1234567890"}'

Instagram lookup

Extract profile data from public Instagram accounts.

POSTinstagram_profile_to_instagram_info
Extract followers, bio, posts, and profile details from any public Instagram account
1 credit
curl -X POST "https://api.linkfinderai.com" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"type": "instagram_profile_to_instagram_info", "input_data": "https://www.instagram.com/username"}'
requests.post(url, headers=headers, json={
    "type": "instagram_profile_to_instagram_info",
    "input_data": "https://www.instagram.com/username"
})

Error Codes

All errors return a JSON body with status: "error" and a message field.

HTTP CodeMeaningWhat to do
200SuccessCheck result field — may be null if data wasn't found (still costs 1 credit)
401UnauthorizedMissing or invalid API key — check your Authorization header
402Insufficient creditsTop up credits or wait for next billing cycle
422Invalid requestCheck the type value and input_data format
429Rate limit exceededImplement exponential backoff — wait 1s, 2s, 4s between retries
500Server errorRetry after 30 seconds. If persistent, contact support

Integrations

Connect LinkFinder AI to your CRM, automation tools, and data pipelines. No code required for Zapier and Make.

Zapier is the fastest path to CRM integration. One Zapier connection unlocks HubSpot, Salesforce, Pipedrive, Airtable, Google Sheets, and 6,000+ other apps — without writing custom integration code for each one.
Zapier
Coming soon
🔧
Make (Integromat)
Coming soon
🟠
HubSpot
Planned
☁️
Salesforce
Planned
🔵
Pipedrive
Planned
🌊
n8n
Planned

In the meantime, you can use the REST API directly with any HTTP action in Zapier or Make — no native integration needed.

# In Zapier: "Webhooks by Zapier" → POST action
URL:     https://api.linkfinderai.com
Method:  POST
Headers: Authorization: Bearer YOUR_API_KEY
         Content-Type: application/json
Body:    {"type": "company_name_to_website", "input_data": "{{company_name}}"}
# In Make: HTTP → Make a request module
URL:     https://api.linkfinderai.com
Method:  POST
Headers: Authorization: Bearer YOUR_API_KEY
Body:    JSON - {"type": "company_name_to_website", "input_data": "{{company}}"}
Want a native integration built faster? Email us — we prioritise integrations based on customer demand.