LinkedIn Username Profile Checker API: Bulk Profiles
Check LinkedIn public profiles by username or profile URL and return profile photo, name, location, country, company, follower count, about, languages, current title, education and work experience. Each row is also enriched with the phone number and email address linked to that profile in our offline LinkedIn dataset (empty when unknown). Profiles that do not exist or are set to private are returned as not activated. The task uses the standard asynchronous batch workflow.
Input format
Upload a text file with one LinkedIn username per line. The public-profile slug, @slug and full linkedin.com/in/<slug> URLs are all accepted; values are matched case-insensitively.
williamhgates@satyanadellahttps://www.linkedin.com/in/john-smith-1a2b3c4/Create a task
POST https://api.numberchecker.ai/v1/tasks
curl --location 'https://api.numberchecker.ai/v1/tasks' \--header 'X-API-Key: YOUR_API_KEY' \--form 'file=@"./input.txt"' \--form 'task_type="linkedin_username"'The API returns a task ID. Keep this ID and use it to poll the task status.
Upload response
{ "task_id": "d4g8o46p2jvh04o9uolg", "status": "pending", "total": 5000, "estimated_amount": { "amount": "0.500000", "currency": "USD" }, "message": "Task created successfully"}Check task status
POST https://api.numberchecker.ai/v1/gettasks
curl --location 'https://api.numberchecker.ai/v1/gettasks' \--header 'X-API-Key: YOUR_API_KEY' \--form 'task_id="d4g8o46p2jvh04o9uolg"'Poll until status becomes exported. Do not treat pending or processing as a completed result.
Processing response
{ "task_id": "d4g8o46p2jvh04o9uolg", "status": "processing", "total": 5000, "success": 2500, "failure": 0}Exported response
{ "task_id": "d4g8o46p2jvh04o9uolg", "status": "exported", "total": 5000, "success": 5000, "failure": 0, "result_url": "https://example-link-to-results.zip", "actual_amount": { "amount": "2.000000", "currency": "USD" }}Result Fields
| Field | Description | Example |
|---|---|---|
username | Input username or profile URL exactly as submitted. | williamhgates |
activated | Whether a public profile was found for the username (no also covers private and non-existent profiles). | yes |
phone | Mobile number linked to this profile in our offline LinkedIn dataset, digits only (E.164 without +); empty when unknown. | 14255550100 |
email | Email address linked to this profile in our offline LinkedIn dataset; multiple values are ;-separated, empty when unknown. | user@example.com |
avatar | Whether the profile has a real photo (yes/no). | yes |
avatar_url | Profile photo URL (non-expiring). | https://media.licdn.com/dms/image/… |
name | Full name. | Bill Gates |
location | Location text as shown on the profile. | Seattle, Washington, United States |
country | ISO country code derived from the location. | US |
company | Current company. | Gates Foundation |
followers | Follower count. | 40653538 |
about | About section text. | Chair of the Gates Foundation. … |
languages | Languages, ;-separated. | English;German |
current_title | Current job title when not hidden by the owner. | Co-chair |
education | Name of the first education entry (school or university); empty when the owner hid it. | Harvard University |
experience | Organizations from the work experience entries, ;-separated, in profile order; empty when hidden. | Gates Foundation;Microsoft |
Result file handling
Download the file from result_url only after the task is exported. Preserve the returned column names when processing the file downstream.
Response fields
| Field | Description |
|---|---|
created_at | Timestamp when the task was created. |
updated_at | Timestamp of the latest task status update. |
task_id | Unique task identifier. |
status | pending, processing, exported, or failed. |
total | Total input values processed. |
success | Values processed successfully. |
failure | Values that failed processing. |
result_url | Download URL when the task is exported. |
actual_amount | Final settled amount, when available. |
estimated_amount | Estimated amount returned when the task is created. |
Status codes
| Status | Description |
|---|---|
200 | Request successful. |
202 | Task created successfully and estimated charge applied. |
400 | Invalid file, unsupported task type, or too few valid entries. |
401 | Missing or invalid API key. |
402 | Insufficient account balance. |
403 | Product not available for your account (discontinued or whitelist-only); contact support. |
404 | Task not found. |
413 | Uploaded file is too large. |
500 | Internal server error; retry later. |
503 | Product temporarily unavailable (paused for maintenance); nothing is charged, retry later. |
Operational notes
- The task is asynchronous; use the task ID for status polling.
- Check product-specific input limits before uploading.
- Failed rows are reported in the exported result and reflected in the task counters.
- The fields above are based on the current live sample and may change when the upstream export schema changes.