Scrape API
Bulk scrape LinkedIn profiles from CSV files.
The Scrape API enables bulk LinkedIn profile discovery from CSV uploads. Upload a list of companies, names, or domains, and the system will find matching LinkedIn profiles.
For detailed information about CSV formats and scraping workflows, see the LinkedIn Scraping Guide.
POST
/api/scrape/jobsSessionCreate a new scrape job by uploading a CSV file
Parameters
fileFile (multipart)requiredCSV file with companies, names, or domainsnamestringCustom name for the jobResponse
{
"job": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Q1 Prospects",
"status": "pending",
"inputType": "role",
"totalItems": 150,
"completedItems": 0,
"foundItems": 0,
"createdAt": "2024-01-15T10:30:00Z"
},
"message": "Scrape job created successfully"
}GET
/api/scrape/jobsSessionList all scrape jobs for the organization
Parameters
pagenumberPage number (default: 1)limitnumberResults per page (default: 20)statusstringFilter by status: pending, processing, paused, completed, failedResponse
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Q1 Prospects",
"status": "completed",
"inputType": "role",
"totalItems": 150,
"completedItems": 150,
"foundItems": 127,
"createdAt": "2024-01-15T10:30:00Z"
}
],
"total": 25,
"page": 1,
"limit": 20,
"totalPages": 2
}GET
/api/scrape/jobs/:jobIdSessionGet details for a specific scrape job
Parameters
jobIdstring (UUID)requiredThe scrape job IDResponse
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Q1 Prospects",
"status": "processing",
"inputType": "role",
"totalItems": 150,
"completedItems": 75,
"foundItems": 63,
"createdAt": "2024-01-15T10:30:00Z",
"items": [
{
"id": "item-1",
"status": "completed",
"company": "Anthropic",
"role": "VP of Sales",
"linkedinUrl": "https://linkedin.com/in/johndoe",
"firstName": "John",
"lastName": "Doe"
}
]
}GET
/api/scrape/jobs/:jobId/downloadSessionDownload scrape results as CSV
Parameters
jobIdstring (UUID)requiredThe scrape job IDfoundOnlybooleanIf true, only include items with found LinkedIn URLsPOST
/api/scrape/jobs/:jobId/pauseSessionPause a running scrape job
Parameters
jobIdstring (UUID)requiredThe scrape job IDPOST
/api/scrape/jobs/:jobId/resumeSessionResume a paused scrape job
Parameters
jobIdstring (UUID)requiredThe scrape job IDPOST
/api/scrape/jobs/:jobId/syncSessionSync scrape results to a list (creates leads)
Parameters
jobIdstring (UUID)requiredThe scrape job IDResponse
{
"success": true,
"listId": "list-123",
"leadsCount": 127,
"message": "127 leads synced to list"
}Job Statuses
| Status | Description |
|---|---|
| pending | Job created, waiting to start |
| processing | Job is actively scraping |
| paused | Job paused by user |
| completed | All items processed |
| failed | Job failed due to an error |