Get one LinkedIn scraper (poll its progress)

GET
/linkedin-scrappers/{id}

Returns one scraper with its progress. This is the call to poll while an extraction or an enrichment runs (every 30 to 60 seconds is enough).

Reading the progress

  • status: see ScrapperStatus. The extraction is over when status is done; error gives the reason when status is error.
  • scrapIndex contacts extracted out of totalContact (0 until LinkedIn reports the result count, then capped by the plan rules).
  • Segmented searches: segments, estimatedEnd, nextRunningSegment, betweenSegment.
  • After POST /{id}/enrich: status is enriching, then done again. enrichIndex and enrichFound are only filled at the end of the enrichment.
  • convertedListId: id of the Emelia list automatically created from a finished scraper (usually within a few minutes after done), null before.

Unlike the list route, this response also contains userId.

Authorization

apiKey
Authorization<token>

Your 48 character API key, sent as is (a Bearer prefix is tolerated). Create it at https://v3.emelia.io/settings/api.

In: header

Path Parameters

id*string

Scrapper id (_id returned by POST /linkedin-scrappers or GET /linkedin-scrappers). 24 hexadecimal characters.

Match^[0-9a-fA-F]{24}$

Response Body

application/json

application/json

application/json

text/html

application/json

curl -X GET "https://example.com/linkedin-scrappers/66f1a2b3c4d5e6f7a8b9c0d1" \  -H "Authorization: YOUR_API_KEY"
{  "success": true,  "scrap": {    "_id": "66f1a2b3c4d5e6f7a8b9c0d1",    "userId": "65a0b1c2d3e4f5a6b7c8d9e0",    "authes": [      "66e0f1a2b3c4d5e6f7a8b9c0",      "66e0f1a2b3c4d5e6f7a8b9c1"    ],    "name": "Acme CTOs France",    "url": "https://www.linkedin.com/sales/search/people?query=(filters%3AList((type%3ACURRENT_TITLE%2Cvalues%3AList((text%3ACTO%2CselectionType%3AINCLUDED)))%2C(type%3AREGION%2Cvalues%3AList((text%3AFrance%2CselectionType%3AINCLUDED)))))",    "scrapType": "people",    "status": "running",    "totalContact": 7400,    "scrapIndex": 5000,    "maxContacts": 0,    "segmented": true,    "segments": [      {        "_id": "66f1a2b3c4d5e6f7a8b9c101",        "url": "https://www.linkedin.com/sales/search/people?query=(filters%3AList((type%3ACURRENT_TITLE%2Cvalues%3AList((text%3ACTO%2CselectionType%3AINCLUDED)))%2C(type%3AREGION%2Cvalues%3AList((text%3AFrance%2CselectionType%3AINCLUDED)))%2C(type%3ACOMPANY_HEADCOUNT%2Cvalues%3AList((id%3AB%2Ctext%3A1-10%2CselectionType%3AINCLUDED)))))",        "scrapIndex": 2500,        "count": 2500,        "complete": true      },      {        "_id": "66f1a2b3c4d5e6f7a8b9c102",        "url": "https://www.linkedin.com/sales/search/people?query=(filters%3AList((type%3ACURRENT_TITLE%2Cvalues%3AList((text%3ACTO%2CselectionType%3AINCLUDED)))%2C(type%3AREGION%2Cvalues%3AList((text%3AFrance%2CselectionType%3AINCLUDED)))%2C(type%3ACOMPANY_HEADCOUNT%2Cvalues%3AList((id%3AC%2Ctext%3A11-50%2CselectionType%3AINCLUDED)))))",        "scrapIndex": 2500,        "count": 2500,        "complete": true      },      {        "_id": "66f1a2b3c4d5e6f7a8b9c103",        "url": "https://www.linkedin.com/sales/search/people?query=(filters%3AList((type%3ACURRENT_TITLE%2Cvalues%3AList((text%3ACTO%2CselectionType%3AINCLUDED)))%2C(type%3AREGION%2Cvalues%3AList((text%3AFrance%2CselectionType%3AINCLUDED)))%2C(type%3ACOMPANY_HEADCOUNT%2Cvalues%3AList((id%3AD%2Ctext%3A51-200%2CselectionType%3AINCLUDED)))))",        "scrapIndex": 0,        "count": 2400      }    ],    "estimatedEnd": "2026-10-12T13:40:00.000Z",    "nextRunningSegment": "2026-10-12T09:11:00.000Z",    "betweenSegment": true,    "date": "2026-10-11T08:02:41.512Z",    "lastUpdate": "2026-10-11T11:14:03.220Z",    "enrichEnabled": false,    "enrichIndex": 0,    "enrichFound": 0,    "enrichPhoneEnabled": false,    "enrichPhoneIndex": 0,    "enrichPhoneFound": 0,    "webhooks": [      {        "_id": "66f1a2b3c4d5e6f7a8b9c0f1",        "webhookUrl": "https://hooks.acme.example/emelia/scrapper",        "events": [          "FINISHED",          "ERROR"        ]      }    ],    "convertedListId": null  }}