List Connections
curl --request POST \
--url https://api.linkupapi.com/v2/network \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"account_id": "<string>",
"action": "<string>",
"params": {
"count": 123,
"offset": 123,
"use_cache": true
}
}
'import requests
url = "https://api.linkupapi.com/v2/network"
payload = {
"account_id": "<string>",
"action": "<string>",
"params": {
"count": 123,
"offset": 123,
"use_cache": True
}
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '<string>',
action: '<string>',
params: {count: 123, offset: 123, use_cache: true}
})
};
fetch('https://api.linkupapi.com/v2/network', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.linkupapi.com/v2/network",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>',
'action' => '<string>',
'params' => [
'count' => 123,
'offset' => 123,
'use_cache' => true
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.linkupapi.com/v2/network"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"count\": 123,\n \"offset\": 123,\n \"use_cache\": true\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.linkupapi.com/v2/network")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"count\": 123,\n \"offset\": 123,\n \"use_cache\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v2/network")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"count\": 123,\n \"offset\": 123,\n \"use_cache\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"connections": [
{
"name": "Jane Doe",
"job_title": "Founder @ Acme Corp — AI recruiting platform",
"profile_url": "https://www.linkedin.com/in/jane-doe-42/",
"profile_picture": "https://media.licdn.com/dms/image/v2/.../profile.jpg"
}
],
"total_results": 1,
"total_available_results": 1201,
"pagination": {
"offset": 0,
"count": 1,
"next_offset": 1,
"has_more": true,
"results_per_page": 10,
"pages_fetched": 1
}
},
"metadata": {
"action": "list_connections",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": true,
"data": {
"connections": [
{
"name": "Jane Doe",
"job_title": "Founder @ Acme Corp — AI recruiting platform",
"profile_url": "https://www.linkedin.com/in/jane-doe-42/",
"profile_picture": "https://media.licdn.com/dms/image/v2/.../profile.jpg"
}
],
"total_results": 1,
"total_available_results": 1201,
"pagination": {
"offset": 0,
"count": 1,
"next_offset": 1,
"has_more": true,
"results_per_page": 1,
"pages_fetched": 0
},
"source": "cache",
"cache_synced": true,
"cache_synced_at": "2026-04-25T13:42:16.859000"
},
"metadata": {
"action": "list_connections",
"account_id": "your-account-id",
"credits_consumed": 0,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "account_id is required."
},
"metadata": {
"action": "list_connections",
"account_id": null,
"credits_consumed": 0,
"timestamp": "2026-04-26T10:35:00Z"
}
}
Network
List Connections
Retrieve a paginated list of connections.
POST
/
v2
/
network
List Connections
curl --request POST \
--url https://api.linkupapi.com/v2/network \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"account_id": "<string>",
"action": "<string>",
"params": {
"count": 123,
"offset": 123,
"use_cache": true
}
}
'import requests
url = "https://api.linkupapi.com/v2/network"
payload = {
"account_id": "<string>",
"action": "<string>",
"params": {
"count": 123,
"offset": 123,
"use_cache": True
}
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '<string>',
action: '<string>',
params: {count: 123, offset: 123, use_cache: true}
})
};
fetch('https://api.linkupapi.com/v2/network', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.linkupapi.com/v2/network",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>',
'action' => '<string>',
'params' => [
'count' => 123,
'offset' => 123,
'use_cache' => true
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.linkupapi.com/v2/network"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"count\": 123,\n \"offset\": 123,\n \"use_cache\": true\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.linkupapi.com/v2/network")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"count\": 123,\n \"offset\": 123,\n \"use_cache\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v2/network")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"count\": 123,\n \"offset\": 123,\n \"use_cache\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"connections": [
{
"name": "Jane Doe",
"job_title": "Founder @ Acme Corp — AI recruiting platform",
"profile_url": "https://www.linkedin.com/in/jane-doe-42/",
"profile_picture": "https://media.licdn.com/dms/image/v2/.../profile.jpg"
}
],
"total_results": 1,
"total_available_results": 1201,
"pagination": {
"offset": 0,
"count": 1,
"next_offset": 1,
"has_more": true,
"results_per_page": 10,
"pages_fetched": 1
}
},
"metadata": {
"action": "list_connections",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": true,
"data": {
"connections": [
{
"name": "Jane Doe",
"job_title": "Founder @ Acme Corp — AI recruiting platform",
"profile_url": "https://www.linkedin.com/in/jane-doe-42/",
"profile_picture": "https://media.licdn.com/dms/image/v2/.../profile.jpg"
}
],
"total_results": 1,
"total_available_results": 1201,
"pagination": {
"offset": 0,
"count": 1,
"next_offset": 1,
"has_more": true,
"results_per_page": 1,
"pages_fetched": 0
},
"source": "cache",
"cache_synced": true,
"cache_synced_at": "2026-04-25T13:42:16.859000"
},
"metadata": {
"action": "list_connections",
"account_id": "your-account-id",
"credits_consumed": 0,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "account_id is required."
},
"metadata": {
"action": "list_connections",
"account_id": null,
"credits_consumed": 0,
"timestamp": "2026-04-26T10:35:00Z"
}
}
Overview
Returns a paginated list of the account’s connections. Pagination is offset-based (the platform provides a stable, addressable list — no opaque cursor needed). Setcount for the page size and offset to skip ahead.
This endpoint consumes 1 credit per 50 results returned. The platform returns up to 100 connections per internal request, so requesting
count: 250 triggers ~3 upstream calls automatically. Ignore this if you’re on per-seat pricing: usage is unlimited.Is one profile a connection?
Same stored copy, one profile: sendaction: "check_connection" with params.profile_url (full URL or public identifier). Returns connected: true/false, name, cache_synced and cache_synced_at. 0 credit, no LinkedIn traffic.
{ "account_id": "your-account-id", "action": "check_connection", "params": { "profile_url": "https://www.linkedin.com/in/jane-doe-42/" } }
Request
string
required
Your API key for authentication.
string
required
The unique identifier of the account to use.
string
required
Must be
"list_connections".object
Show params properties
Show params properties
integer
default:10
Number of connections to return. Defaults to
10. Capped at 1000 per call — to retrieve more, paginate with offset.integer
default:0
Zero-indexed offset into the connections list. Defaults to
0. Use pagination.next_offset from a previous response to fetch the next page.boolean
default:false
Serve the list from our stored copy of the account’s connections instead of LinkedIn: 0 credit, no LinkedIn traffic, newest connection first. The copy exists for accounts subscribed to the
accepted_invitation webhook event (full sync at subscription, then every detected acceptance is added). Without it the response is empty with cache_synced: false.Response
boolean
Indicates whether the request was successful.
object
Show data properties
Show data properties
array
integer
Number of connections returned in this response.
integer
Total number of connections available in the account.
string
"cache" when served with use_cache. Absent otherwise.boolean
With
use_cache only: false when the account has no stored copy yet.string
With
use_cache only: ISO 8601 date of the most recent stored connection.object
Show pagination properties
Show pagination properties
integer
Offset of the first connection in this response.
integer
Number of connections returned (mirrors
total_results).integer
Offset to send as
offset in the next request to fetch the next page. null when there are no more results.boolean
true if more connections are available beyond this batch.integer
Maximum batch size used per upstream request.
integer
Number of internal upstream batches consumed to assemble this response.
object
{
"success": true,
"data": {
"connections": [
{
"name": "Jane Doe",
"job_title": "Founder @ Acme Corp — AI recruiting platform",
"profile_url": "https://www.linkedin.com/in/jane-doe-42/",
"profile_picture": "https://media.licdn.com/dms/image/v2/.../profile.jpg"
}
],
"total_results": 1,
"total_available_results": 1201,
"pagination": {
"offset": 0,
"count": 1,
"next_offset": 1,
"has_more": true,
"results_per_page": 10,
"pages_fetched": 1
}
},
"metadata": {
"action": "list_connections",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": true,
"data": {
"connections": [
{
"name": "Jane Doe",
"job_title": "Founder @ Acme Corp — AI recruiting platform",
"profile_url": "https://www.linkedin.com/in/jane-doe-42/",
"profile_picture": "https://media.licdn.com/dms/image/v2/.../profile.jpg"
}
],
"total_results": 1,
"total_available_results": 1201,
"pagination": {
"offset": 0,
"count": 1,
"next_offset": 1,
"has_more": true,
"results_per_page": 1,
"pages_fetched": 0
},
"source": "cache",
"cache_synced": true,
"cache_synced_at": "2026-04-25T13:42:16.859000"
},
"metadata": {
"action": "list_connections",
"account_id": "your-account-id",
"credits_consumed": 0,
"timestamp": "2026-04-26T10:35:00Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "account_id is required."
},
"metadata": {
"action": "list_connections",
"account_id": null,
"credits_consumed": 0,
"timestamp": "2026-04-26T10:35:00Z"
}
}
Was this page helpful?