LinkedIn Profile Finder API
Find the LinkedIn profile behind every name, from your AI assistant, no-code workflow or own code.
- From $0.0017 per Profile Lookup
- Confidence Level for Every Match
- 10,000 Profiles per Task
| Name and company |
|---|
| Maya Lindqvist, Brightwave |
| Tom Okafor, Northpeak |
| Léa Moreau, Juniper & Vale |
Trusted by 38,000+ users at startups and Fortune 500 teams
Works with any tool that can send HTTP requests
Claude
Cursor
Codex
Make
n8n
Zapier
- Your own code
Pick Your Way In
Let an AI assistant or your automation tool do the setup, or call the REST API from your own code.
Paste the setup prompt
Copy the prompt for Claude Code, Codex or Cursor, or for Make, n8n or Zapier, and paste it in. The AI creates a Datablist folder on your computer and sets everything up.
Paste your API key
When the AI asks, copy your API key from the Datablist app and paste it into the .env file it opened. Never paste it into the chat.
Get your results
Send your list of names with a company or school and get one row back per person: the LinkedIn profile URL, its page title and a confidence level.
See a sample resultUsing Make, n8n or Zapier? Here is every field for the HTTP request
Use the HTTP request module or node your tool offers. You need three steps: send the list, wait, then read the results.
1. Send your list (HTTP request)
- Method
POST- URL
https://api.datablist.com/v1/enrichments/tasks- Headers
X-API-Key= your API keyContent-Type=application/json- Body (JSON)
- json{"enrichmentId": "linkedin-profile-lookup","uniqueId": "linkedin-profile-lookup-import-1","settings": {"searchCountry": "US","skipIfNotName": false},"inputs": [{"inputId": "row-1", "data": {"fullName": "Maya Lindqvist", "keyword": "Brightwave Analytics"}},{"inputId": "row-2", "data": {"fullName": "Tom Okafor", "keyword": "Northpeak Logistics"}},{"inputId": "row-3", "data": {"fullName": "Lea Moreau", "keyword": "Juniper & Vale Studio"}}]}
- Keep
- The
@idfrom the response. That is your task ID.
2. Wait until it is done
Add a short wait or delay, then a GET request to https://api.datablist.com/v1/enrichments/tasks/TASK_ID with the same X-API-Key header. Repeat until status is completed.
3. Read the results
GET https://api.datablist.com/v1/enrichments/tasks/TASK_ID/results?limit=50. Map outputs to your columns. If nextCursor is not empty, call again with &cursor= plus that value.
At a Glance
Search LinkedIn profiles by name, narrow them down with a company or school, and see how sure each match is. No Datablist workspace, collection or import needed.
What you give it
- Names: A full name, or first and last name, per row
- A keyword (optional): The company or school, to tell people with the same name apart
- A country (optional): The search country, US by default
What you get back
- The LinkedIn profile URL: For example linkedin.com/in/maya-lindqvist
- The page title and summary: Often shows the current job and company
- A confidence level: High, Medium, Low or Very Low, so you know what to double-check
What it costs
- 2.5 credits per lookup: Charged whether a profile is found or not
- Empty rows are free: Rows without a usable name are not searched
- 1,000 credits = $1: Shared with the Datablist app
What Teams Build With It
Put LinkedIn Profile Finder wherever your data already flows.
Add LinkedIn to your leads
- Name and company
- LinkedIn URL on the lead
Add the profile URL to every lead, so reps can connect on LinkedIn and you can run the profile scraper or phone finder next.
Find candidates from a list
- Names from a conference or alumni list
- Candidate pipeline
Turn a list of names into LinkedIn profiles you can review and contact.
Complete CRM contacts
- Contact without LinkedIn
- URL saved on the record
Fill the LinkedIn field for contacts in HubSpot, Salesforce or Pipedrive and keep the confidence level to review weak matches.
What Will It Cost You?
Pay per lookup with credits. API access starts on the Growth plan.
How much will it cost you?
Tell us how many people you need LinkedIn profiles for and we'll show you the cheapest way to get them.
= 2,500 credits at 2.5 credits per lookup
How credits work
1,000 credits = $1, so each credit costs a tenth of a cent. Each lookup costs 2.5 credits, whether a profile is found or not. Rows without a usable name are not searched and cost nothing. Every result returns creditsUsed, so you can track the real cost per row. Plan credits renew monthly and reset if unused. Top-up credits never expire.
Build It Into Your Code
Everything you need to call the REST API directly: code, responses, endpoints, fields, authentication and limits.
datablist/linkedin-profile-finder-api
Official examples: cURL, Python with Requests or async HTTPX, and TypeScript. Put your key in DATABLIST_API_KEY and run.
Copy, Paste, Run
A complete script that creates a task, waits for it and prints every result. Replace YOUR_PERSONAL_API_KEY with your key.
# 1. Create the task (returns 202 Accepted and the task "@id")
curl --request POST 'https://api.datablist.com/v1/enrichments/tasks' \
--header 'X-API-Key: YOUR_PERSONAL_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"enrichmentId": "linkedin-profile-lookup",
"uniqueId": "linkedin-profile-lookup-import-1",
"settings": {
"searchCountry": "US",
"skipIfNotName": false
},
"inputs": [
{"inputId": "row-1", "data": {"fullName": "Maya Lindqvist", "keyword": "Brightwave Analytics"}},
{"inputId": "row-2", "data": {"fullName": "Tom Okafor", "keyword": "Northpeak Logistics"}},
{"inputId": "row-3", "data": {"fullName": "Lea Moreau", "keyword": "Juniper & Vale Studio"}}
]
}'
# 2. Poll every few seconds until status is completed, failed or stopped
curl 'https://api.datablist.com/v1/enrichments/tasks/TASK_ID' \
--header 'X-API-Key: YOUR_PERSONAL_API_KEY'
# 3. Read the results, then follow nextCursor until it is null
curl 'https://api.datablist.com/v1/enrichments/tasks/TASK_ID/results?limit=50' \
--header 'X-API-Key: YOUR_PERSONAL_API_KEY'What the API Returns
One result per input, with your inputId, a status, the outputs and the credits used. Sample data.
{
"taskId": "00000000000040008000000000000001",
"results": [
{
"inputId": "row-1",
"status": "success",
"outputs": {
"profileUrl": "https://www.linkedin.com/in/maya-lindqvist",
"linkedInUrlTitle": "Maya Lindqvist - Head of Sales - Brightwave Analytics",
"linkedInSnippet": "Maya Lindqvist works at Brightwave Analytics.",
"profileConfidence": "High"
},
"creditsUsed": "2.5",
"error": null
}
],
"nextCursor": null
}Endpoints and Fields
All paths are relative to https://api.datablist.com. Field definitions come from GET /v1/enrichments/linkedin-profile-lookup (docs updated Oct 19, 2026). Schema version: 2026-09-12.
View API schema (JSON) (opens in a new tab)
- /v1/enrichments/linkedin-profile-lookup
- Read the schema, no key needed
- POST
- /v1/enrichments/tasks
- Create a task
- /v1/enrichments/tasks/{taskId}
- Poll status and progress
- /v1/enrichments/tasks/{taskId}/results
- Read results, 1 to 100 per page
- POST
- /v1/enrichments/tasks/{taskId}/stop
- Cancel a running task
- /v1/enrichments/tasks
- Task history, newest first
Schema Reference
Send settings once per task and one data object per input. Results can include extra fields as the enrichment evolves, so keep unknown keys when you parse outputs.
Show all settings, inputs and outputs
Settings
searchCountryTarget Country | Text | Search engine country setting. Default to US.Allowed values: |
|---|---|---|
skipIfNotNameSkip if not matching name | Boolean | Skip LinkedIn profile URLs with very low name confidence. Leave unchecked to retain candidates and review their confidence and page titles. |
Inputs (data)
fullNameFull Name | Text | Prospect Full Name. Map the "Full Name" input, or both "First Name" and "Last Name" |
|---|---|---|
firstNameFirst Name | Text | Prospect First Name. Map the "Full Name" input, or both "First Name" and "Last Name" |
lastNameLast Name | Text | Prospect Last Name. Map the "Full Name" input, or both "First Name" and "Last Name" |
keywordKeyword | Text | Extra keyword to narrow search. Ex: Company Name, School Name, etc. |
Outputs
profileUrlLinkedIn Page | Text | LinkedIn page URL when found.Format: |
|---|---|---|
linkedInUrlTitleLinkedIn Profile Page Title | Text | The page title can give you info about the current job position, the company, etc. |
linkedInSnippetLinkedIn Profile Summary | Text | Abstract of profile summary when possible. |
profileConfidenceProfile Confidence | Text | Confidence level of the match: High, Medium, Low, or Very Low. |
One Header, Clear Limits
Create a Personal API Key in your Datablist account and send it on every authenticated request.
Authentication
Send your key in the X-API-Key header. Datablist exchanges and renews access tokens for you.
- Header:
X-API-Key: YOUR_PERSONAL_API_KEY - Optional: manage tokens yourself with
Authorization: BearerfromPOST /v1/account/token - One or the other: sending both headers returns
400 AmbiguousCredentials - Server side only: keep keys out of URLs, browser code and logs
Limits
- Inputs per task: 1 to 10,000
- Size: 16 KiB per input, 10 MiB per request
- Run time: up to 24 hours per task
- Task creation: 10 requests per 60 seconds per account
- Polling and results: 120 requests per 60 seconds per operation
- Active tasks: about 20 at once per account
- Retention: tasks and results are kept for 90 days
Frequently Asked Questions
Everything you or your AI coding agent need to integrate the LinkedIn Profile Finder API: auth, request, polling, results, limits and retries.


