Skip to content

LinkedIn Email Profile Checker API: Bulk Enrichment

Check whether email addresses are registered on LinkedIn and enrich each with profile attributes. Upload one email address per line. The result always has a fixed set of columns.

Upload detection file — example:

Terminal window
curl --location 'https://api.numberchecker.ai/v1/tasks' \
--header 'X-API-Key: API-KEY' \
--form 'file=@"./numbers.txt"' \
--form 'task_type="linkedin_profile"'

Check task status — example:

Terminal window
curl --location 'https://api.numberchecker.ai/v1/gettasks' \
--header 'X-API-Key: API-KEY' \
--form 'task_id="task_id"'

Response after upload succeeds

{
"task_id": "d4g8o46p2jvh04o9uolg",
"status": "pending",
"total": 2049,
"estimated_amount": {
"amount": "0.500000",
"currency": "USD"
},
"message": "Task created successfully",
"created_at": "2026-04-28T11:58:08.916446594Z"
}

Response while processing

{
"created_at": "2026-04-28T08:27:09.933Z",
"updated_at": "2026-04-28T08:27:10.241Z",
"task_id": "d4g24nep2jvh04o9uoh0",
"user_id": "wfi7wGPS4B4PdtTMox5Y",
"status": "processing",
"total": 2049,
"success": 1024,
"failure": 0
}

Response when finished (exported)

{
"created_at": "2026-04-28T08:27:09.933Z",
"updated_at": "2026-04-28T08:27:10.241Z",
"task_id": "d4g24nep2jvh04o9uoh0",
"user_id": "wfi7wGPS4B4PdtTMox5Y",
"status": "exported",
"total": 2049,
"success": 2049,
"failure": 0,
"result_url": "https://example-link-to-results.zip",
"actual_amount": {
"amount": "2.000000",
"currency": "USD"
}
}

Upload file request URL

POST https://api.numberchecker.ai/v1/tasks

Upload file request parameters

ParameterDescription
filefile, one email address per line
task_typestring, set to linkedin_profile

Check task status request URL

POST https://api.numberchecker.ai/v1/gettasks

Check task status request parameters

ParameterDescription
task_idstring, Task ID returned from task creation

Result fields

FieldDescription
emailEmail address
activatedWhether the account is registered/activated (yes / no)
countryCountry / region
genderInferred gender
industryIndustry
job_titleJob title
inferred_salaryInferred salary range

Response format

FieldDescription
created_atTimestamp when task was created
updated_atTimestamp of last task status update
task_idUnique task identifier
user_idUser ID
statuspending · processing · exported · failed (refunded automatically)
totalTotal phone numbers processed
successNumbers successfully identified
failureNumbers that failed processing
result_urlDownload URL when status is exported
actual_amount(Optional) Actual charged amount, returned after the task is settled
estimated_amount(Create response) Estimated amount for the task; the final charge is settled when the task completes

Status codes

StatusDescription
200free, Request successful (e.g. status query)
202charge, Task created successfully; the estimated amount is deducted
400free, Bad request: invalid parameters or file format, unsupported task type, or fewer valid entries than the minimum batch size
401free, Missing or invalid API key
402free, Insufficient account balance
404free, Task not found
413free, Uploaded file too large
500free, Internal server error, retry later