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/jobsSession

Create a new scrape job by uploading a CSV file

Parameters

fileFile (multipart)requiredCSV file with companies, names, or domains
namestringCustom name for the job

Response

{
  "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/jobsSession

List all scrape jobs for the organization

Parameters

pagenumberPage number (default: 1)
limitnumberResults per page (default: 20)
statusstringFilter by status: pending, processing, paused, completed, failed

Response

{
  "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/:jobIdSession

Get details for a specific scrape job

Parameters

jobIdstring (UUID)requiredThe scrape job ID

Response

{
  "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/downloadSession

Download scrape results as CSV

Parameters

jobIdstring (UUID)requiredThe scrape job ID
foundOnlybooleanIf true, only include items with found LinkedIn URLs
POST/api/scrape/jobs/:jobId/pauseSession

Pause a running scrape job

Parameters

jobIdstring (UUID)requiredThe scrape job ID
POST/api/scrape/jobs/:jobId/resumeSession

Resume a paused scrape job

Parameters

jobIdstring (UUID)requiredThe scrape job ID
POST/api/scrape/jobs/:jobId/syncSession

Sync scrape results to a list (creates leads)

Parameters

jobIdstring (UUID)requiredThe scrape job ID

Response

{
  "success": true,
  "listId": "list-123",
  "leadsCount": 127,
  "message": "127 leads synced to list"
}

Job Statuses

StatusDescription
pendingJob created, waiting to start
processingJob is actively scraping
pausedJob paused by user
completedAll items processed
failedJob failed due to an error