curl --request POST \
--url https://api.edges.run/v1/actions/linkedin-extract-people/run/async \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"inputs": [
{
"linkedin_profile_url": "<string>",
"custom_data": {}
}
],
"parameters": {},
"name": "<string>",
"identity_ids": [
"44444444-4444-4444-4444-444444444444"
],
"identity_mode": "direct"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
inputs: [{linkedin_profile_url: '<string>', custom_data: {}}],
parameters: {},
name: '<string>',
identity_ids: ['44444444-4444-4444-4444-444444444444'],
identity_mode: 'direct'
})
};
fetch('https://api.edges.run/v1/actions/linkedin-extract-people/run/async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.edges.run/v1/actions/linkedin-extract-people/run/async"
payload = {
"inputs": [
{
"linkedin_profile_url": "<string>",
"custom_data": {}
}
],
"parameters": {},
"name": "<string>",
"identity_ids": ["44444444-4444-4444-4444-444444444444"],
"identity_mode": "direct"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"run_id": 123,
"run_uid": "<string>",
"workspace_uid": "<string>",
"user_uid": "<string>",
"action_name": "<string>",
"status": "pending",
"postponed_until": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"name": "<string>"
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}Extract LinkedIn People Async
Extract detailed LinkedIn profile information asynchronously. Results are delivered via callback.
curl --request POST \
--url https://api.edges.run/v1/actions/linkedin-extract-people/run/async \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"inputs": [
{
"linkedin_profile_url": "<string>",
"custom_data": {}
}
],
"parameters": {},
"name": "<string>",
"identity_ids": [
"44444444-4444-4444-4444-444444444444"
],
"identity_mode": "direct"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
inputs: [{linkedin_profile_url: '<string>', custom_data: {}}],
parameters: {},
name: '<string>',
identity_ids: ['44444444-4444-4444-4444-444444444444'],
identity_mode: 'direct'
})
};
fetch('https://api.edges.run/v1/actions/linkedin-extract-people/run/async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.edges.run/v1/actions/linkedin-extract-people/run/async"
payload = {
"inputs": [
{
"linkedin_profile_url": "<string>",
"custom_data": {}
}
],
"parameters": {},
"name": "<string>",
"identity_ids": ["44444444-4444-4444-4444-444444444444"],
"identity_mode": "direct"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"run_id": 123,
"run_uid": "<string>",
"workspace_uid": "<string>",
"user_uid": "<string>",
"action_name": "<string>",
"status": "pending",
"postponed_until": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"name": "<string>"
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}1 credit per result · credit_ratio 1 · Credit costs
Profile enrichments 1,400–2,100 / 24 h · Action limits
Agent skill
edges-linkedin-extract-people — ready-made instructions for coding agents calling this endpoint.null:birth_datelinkedin_thread_idconnected_at
Experiences parameter
Experiences parameter
has_more_experiences is true when LinkedIn has more experiences than this list. Use it to decide whether to call linkedin-extract-people-experiences. The field is omitted when experiences were not requested.| Field | Description |
|---|---|
date | Employment date ranges only — e.g. Sep 2024 - Present, Sep 2005 - Aug 2008 |
title | Job title |
company_name | Company name |
Skills parameter
Skills parameter
has_more_skills is true when LinkedIn has more skills than this list. Use it to decide whether to call linkedin-extract-people-skills. The field is omitted when skills were not requested.Sections parameter
Sections parameter
education · languages · volunteer_experiences · summary · company_name · job_title · linkedin_company_urlEducation fields (when education is included):| Field | Description |
|---|---|
title | degreeName + fieldOfStudy (e.g. Bachelor of Science, Computer Science) |
degree_name | First part of title when comma-separated; otherwise empty |
field_of_study | Second part of title when comma-separated; otherwise empty |
Highlights parameter
Highlights parameter
linkedin_company_url · connection_degree · number_followers · number_connectionshas_more_* — has_more_experiences and has_more_skills tell you whether the arrays in this response are partial. Use them to skip unnecessary linkedin-extract-people-experiences and linkedin-extract-people-skills calls (and the LinkedIn rate-limit cost that comes with them).Treat true as a signal that additional records may be available — the value can vary by LinkedIn response source. Do not assume the returned arrays are complete when the field is true, especially if the data is not from a fresh extraction.profile_country — Inferred from recent experience locations when LinkedIn does not expose it directly. Remote and hybrid locations are excluded.async and schedule modes deliver results via the callback URL provided in your request.Consistent Format: All execution modes use the same action logic, so inputs and results are identical regardless of mode.Error Handling: Errors follow the standard API error format.async and schedule modes, you have to implement some kind of callback management. Be sure to check the Managing Callbacks guide to better understand how it works and what your can do.Authorizations
Body
1 - 100000 elementsShow child attributes
Show child attributes
Show child attributes
Show child attributes
Optional user-defined label for the run.
255An array of Identity UUIDs linked to identities (e.g. LinkedIn) used to execute the Action. You must provide at least one valid UID with access to the integration. Do not use account_uid values — only user_uid is supported.
["44444444-4444-4444-4444-444444444444"]
If "auto", the Action will use any identities from the current workspace (unless you have provided a list of identity_ids). "managed" will use the Edges pool of identities for an extra credit cost
direct, auto, managed Show child attributes
Show child attributes
Callbacks
POST{$request.body#/callback/url}onSave
Body
Stable callback identifier (remains identical across retries). Used by clients for deduplication.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Represents an error returned by the API. This schema defines the standard structure of error messages to ensure consistent error handling across the application.
Show child attributes
Show child attributes
Number of results included in this callback.
Results of the current callback
Show child attributes
Show child attributes
Response
Callback successfully processed
Response
Default Response
The ID of the run.
The UID of the run.
The UID of the workspace.
The UID of the user.
The name of the action.
The status of the run.
pending, running, completed, failed If the run is postponed, this field indicates when it will be retried.
The date and time when the run was created.
The date and time when the run was last updated.
Optional user-defined label for the flow run.
255
