# LinkedIn Network Scraper (`scrapier/linkedin-network-scraper`) Actor

- **URL**: https://apify.com/scrapier/linkedin-network-scraper.md
- **Developed by:** [Scrapier](https://apify.com/scrapier) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🔗 LinkedIn Network Connections Scraper

Export **every profile in your personal LinkedIn network** into a clean, structured table — first/last name, professional headline, profile photo, vanity URL, and the exact date you connected. Built for founders, sales pros, recruiters, creators, and RevOps teams who want real visibility into their growing network. 🚀

> ⚖️ This Actor only reads **your own** network connections, using **your own** authenticated session. It does not access private data of accounts you aren't connected to.

---

### ✨ Why Choose This Actor?

- 🎯 **One row per connection** — results land in a tidy table you can sort, filter, and export to JSON / CSV / Excel.
- 💾 **Live saving** — every connection is saved the instant it's found, so a partial run is never a wasted run.
- 🌐 **Self-healing network layer** — starts on a direct connection and quietly escalates to Datacenter → Residential proxies only if LinkedIn pushes back.
- 📅 **Date monitoring** — capture *only today's* new connections, or everything up to a chosen date — perfect for daily network tracking.
- 🧘 **Polite by design** — randomized delays between pages keep things natural.
- 🪶 **Lightweight** — no headless browser, so it's fast and cheap to run.

---

### 🔑 Key Features

| Feature | Description |
|---------|-------------|
| 👤 Profile details | First name, last name, headline |
| 🗓️ Connection date | Both a pretty label and an ISO date |
| 🖼️ Profile photo | Highest-resolution available image URL |
| 🔗 Profile URL | Direct link to each connection's profile |
| 📄 Pagination | Walks your entire network, 40 per page |
| 🛡️ Proxy fallback | direct → datacenter → residential, sticky |

---

### 📥 Input

| Field | Type | Description |
|-------|------|-------------|
| `liAtCookie` 🍪 | string | **Required.** Your LinkedIn `li_at` session cookie. Masked in the UI, never logged. |
| `starting_page` 📄 | integer | Page to start from (40 connections/page). Default `1`. |
| `waiting_time` ⏱️ | number | Base delay (seconds) between pages; randomized up to ×2. Default `2`. |
| `date_limit_today` 📅 | boolean | Capture only connections added today. |
| `date_limit_str` 🗓️ | string | Stop once connections are older than this `YYYY-MM-DD` date. |
| `proxyConfiguration` 🌐 | object | Proxy / residential country settings. |

#### Example input

```json
{
  "liAtCookie": "AQEDA...your-li_at-cookie...",
  "starting_page": 1,
  "waiting_time": 2,
  "date_limit_today": false,
  "proxyConfiguration": { "useApifyProxy": true }
}
````

#### 🍪 How to get your `li_at` cookie

1. 🌐 Log in to [linkedin.com](https://www.linkedin.com) in your browser.
2. 🛠️ Open **DevTools** (`F12`) → **Application** → **Cookies** → `https://www.linkedin.com`.
3. 📋 Copy the **Value** of the cookie named `li_at`.
4. 📌 Paste it into the `liAtCookie` field. ✅

> 🔎 **Tip:** A `li_at` cookie is tied to your session. For the smoothest runs,
> use it from a trusted network, or pair it with a residential proxy if LinkedIn
> challenges requests from an unfamiliar IP.

***

### 📤 Output

Each item is one connection:

```json
{
  "vanityName": "seo-expert-raisul-islam",
  "firstName": "Raisul",
  "lastName": "Islam",
  "componentRef": "auto-component-4944675d-0046-4f5b-b02c-caa7ae82c97e",
  "connection_date": "Connected on May 21, 2026",
  "formated_connection_date": "2026-05-21",
  "picture": "https://media.licdn.com/dms/image/.../photo.jpg",
  "headline": "Digital Marketing Specialist | Meta & Google Ads Expert | SEO",
  "url": "https://www.linkedin.com/in/seo-expert-raisul-islam"
}
```

| Field | Description |
|-------|-------------|
| `vanityName` | Public profile slug |
| `firstName` / `lastName` | Connection's name |
| `connection_date` | Human-friendly "Connected on …" label |
| `formated_connection_date` | ISO `YYYY-MM-DD` date |
| `picture` | Best available profile photo URL |
| `headline` | Their LinkedIn headline |
| `url` | Direct profile link |

***

### 🚀 How to Use (Apify Console)

1. Log in at [console.apify.com](https://console.apify.com) → **Actors**.
2. Open **LinkedIn Network Connections Scraper**.
3. Paste your `li_at` cookie and tune the options (dates, max, proxy).
4. Click **Start**. ▶️
5. Watch the real-time log fill up with captured connections. 👀
6. Open the **Output** tab when the run finishes.
7. Export to **JSON / CSV / XLSX**. 📦

***

### 🤖 Use via API

```bash
curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"li_at":"AQEDA...","proxyConfiguration":{"useApifyProxy":true}}'
```

***

### 💡 Best Use Cases

- 📈 **Network growth tracking** — run daily with `date_limit_today` to log new connections.
- 🧲 **Lead generation** — export your network to a CRM.
- 🧑‍💼 **Recruiting** — search your connections by headline.
- 🗂️ **Personal backup** — keep a structured archive of who you know.

***

### 💳 Pricing

This Actor uses the **Pay-Per-Event** model. You're charged per connection saved to the dataset, plus standard Apify platform usage. See the Actor's Store page for current event pricing.

***

### ❓ FAQ

**Is my cookie safe?** Yes — `li_at` is marked secret, never written to logs, and only used to authenticate your own requests.

**Why did it stop early?** Either you hit a date limit, reached the end of your network, or your `li_at` cookie expired (grab a fresh one).

**Do I need a proxy?** No. It runs direct by default and only escalates to Apify proxies if LinkedIn throttles you.

**Will this get my account flagged?** The Actor uses polite, randomized delays, but you are responsible for respecting LinkedIn's Terms of Service and your local laws.

***

### 🛟 Support & Feedback

Found a bug or want a new field in the output? Open an issue on the Actor's **Issues** tab — feedback is welcome! 🙏

# Actor input Schema

## `liAtCookie` (type: `string`):

🔐 Your LinkedIn **`li_at`** session cookie — required to fetch your network connections via the authenticated Voyager API.

**🧭 How to get it:**

1. 🌐 Open [linkedin.com](https://www.linkedin.com) and sign in
2. 🛠️ Open DevTools (`F12`) → **Application** → **Cookies** → `https://www.linkedin.com`
3. 📋 Copy the **Value** of the cookie named `li_at`
4. 📌 Paste it here

🛡️ *The cookie is masked in the UI and never written to logs.*

## `starting_page` (type: `integer`):

Which page of your network to start from. Each page holds 40 connections. Leave at 1 to scan from the very beginning. ⏩

## `waiting_time` (type: `number`):

Polite pause between pages to keep things smooth. We add random jitter (your number → your number × 2) to look natural. 🧘

## `date_limit_today` (type: `boolean`):

Turn this on to capture only the connections you added today — perfect for daily network monitoring. ☀️

## `date_limit_str` (type: `string`):

Stop once connections become older than this date. Leave empty to grab everything. Format: YYYY-MM-DD. ⛳

## `proxyConfiguration` (type: `object`):

The scraper starts with a direct connection and only escalates to a Datacenter, then Residential proxy if LinkedIn pushes back. Configure the residential country / groups here. 🛡️

## Actor input object example

```json
{
  "starting_page": 1,
  "waiting_time": 2,
  "date_limit_today": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "liAtCookie": "",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapier/linkedin-network-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "liAtCookie": "",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapier/linkedin-network-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "liAtCookie": "",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call scrapier/linkedin-network-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapier/linkedin-network-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Network Scraper",
        "description": null,
        "version": "0.1",
        "x-build-id": "A7nwY6MNtw6C1ygRq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapier~linkedin-network-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapier-linkedin-network-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapier~linkedin-network-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapier-linkedin-network-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapier~linkedin-network-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapier-linkedin-network-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "liAtCookie"
                ],
                "properties": {
                    "liAtCookie": {
                        "title": "🍪 LinkedIn `li_at` Cookie",
                        "type": "string",
                        "description": "🔐 Your LinkedIn **`li_at`** session cookie — required to fetch your network connections via the authenticated Voyager API.\n\n**🧭 How to get it:**\n1. 🌐 Open [linkedin.com](https://www.linkedin.com) and sign in\n2. 🛠️ Open DevTools (`F12`) → **Application** → **Cookies** → `https://www.linkedin.com`\n3. 📋 Copy the **Value** of the cookie named `li_at`\n4. 📌 Paste it here\n\n🛡️ *The cookie is masked in the UI and never written to logs.*"
                    },
                    "starting_page": {
                        "title": "📄 Starting Page",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Which page of your network to start from. Each page holds 40 connections. Leave at 1 to scan from the very beginning. ⏩",
                        "default": 1
                    },
                    "waiting_time": {
                        "title": "⏱️ Waiting Time Between Pages (seconds)",
                        "minimum": 0,
                        "maximum": 30,
                        "type": "number",
                        "description": "Polite pause between pages to keep things smooth. We add random jitter (your number → your number × 2) to look natural. 🧘",
                        "default": 2
                    },
                    "date_limit_today": {
                        "title": "📅 Today Only",
                        "type": "boolean",
                        "description": "Turn this on to capture only the connections you added today — perfect for daily network monitoring. ☀️",
                        "default": false
                    },
                    "date_limit_str": {
                        "title": "🗓️ Stop At Date (YYYY-MM-DD)",
                        "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
                        "type": "string",
                        "description": "Stop once connections become older than this date. Leave empty to grab everything. Format: YYYY-MM-DD. ⛳"
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Proxy Configuration",
                        "type": "object",
                        "description": "The scraper starts with a direct connection and only escalates to a Datacenter, then Residential proxy if LinkedIn pushes back. Configure the residential country / groups here. 🛡️",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
