LinkedIn Network Scraper
Pricing
from $3.99 / 1,000 results
LinkedIn Network Scraper
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
ScraperX
Maintained by CommunityActor stats
0
Bookmarked
0
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
LinkedIn Network Scraper — Export Your LinkedIn Connections with Dates, Headlines & Profile URLs
Export your own LinkedIn network into a clean, structured table. Every connection comes back with first and last name, headline, profile photo, vanity profile URL and — the field LinkedIn's own export makes hard to use — the exact date you connected, in both human-readable and ISO format.
Sorted most-recent-first, with optional date limits, so you can pull your whole network once and then run it daily to capture only what is new.
What you get
| 👤 Connection identity | 📅 Connection timing | 🖼️ Media |
|---|---|---|
| First name and last name | Human-readable connection date | Profile picture URL (best available size) |
| Headline (current role) | ISO-formatted connection date | |
| Vanity name (profile slug) | Sorted most recent first | |
| Full profile URL | Date-limited extraction |
Key features
- Connection dates you can actually sort. Each row carries both a readable date and an ISO
YYYY-MM-DDfield, so "who did I connect with in Q2?" becomes a spreadsheet filter. - "Today only" mode. One toggle captures just today's new connections — ideal as a daily automation that appends to a sheet or CRM.
- Stop-at-date mode. Set a cut-off and the run stops as soon as connections get older than it — no wasted time or cost paging through years of history you already have.
- Resume from any page.
starting_pagelets you continue a large export exactly where a previous run stopped (40 connections per page). - Row-by-row live saving. Every connection is written to the dataset as it is captured, so an interrupted run never loses what it already collected.
- Full cookie-session support. Supply just
li_at, or a complete exported cookie set (li_at,bcookie,bscookie,lidc,JSESSIONID…) for the most reliable authentication through proxies. - Smart proxy ladder. Starts on a direct connection, escalates to datacenter and then residential only when LinkedIn pushes back — and stays there. LinkedIn's 302 redirect/throttle is treated as a block signal, rotating through up to 6 fresh residential IPs, and challenge cookies are carried forward within an IP context.
- Polite pacing with jitter. Your waiting time is randomised between n and 2n seconds between pages so the traffic pattern looks natural.
Use cases
- Network backup & portability — own a structured copy of your professional network instead of relying on LinkedIn's UI.
- CRM import — push your connections into HubSpot, Pipedrive or a spreadsheet with headline and profile link attached.
- Daily network monitoring — schedule a "today only" run and log exactly who you connected with each day.
- Outreach segmentation — filter your network by headline keywords to build targeted lists.
- Connection growth analytics — chart connections per month using the ISO date field.
- Post-event follow-up — after a conference, capture the connections you added that week and follow up systematically.
- Recruiter & sales pipeline building — turn your accumulated network into a working prospect list.
- Relationship auditing — see how long you have known each contact before reaching out.
How it works
- You supply your
li_atcookie (or a full exported cookie session). - The Actor authenticates against LinkedIn's Voyager API as you, and requests your connections sorted by most recently added.
- Pages of 40 connections are walked one at a time, with a randomised polite delay between them.
- Each connection is normalised into a flat row: name, headline, vanity name, profile URL, picture and connection date.
- Date limits are enforced — "today only" or "stop at date" ends the run as soon as the boundary is crossed.
- Rows are pushed to the dataset immediately, and the run log shows each captured connection in real time.
Quick start
- Sign in to LinkedIn in your browser.
- Open DevTools (
F12) → Application → Cookies →https://www.linkedin.com. - Copy the Value of the cookie named
li_at. - Paste it into the Actor's LinkedIn
li_atCookie field. - Click Start, then export the Output tab as CSV, Excel or JSON.
Minimal input
{"liAtCookie": "<YOUR_LI_AT_COOKIE>"}
Input configuration
| Field | Type | Default | Description |
|---|---|---|---|
liAtCookie | string | — (required) | Your LinkedIn li_at session cookie. A full exported cookie session is also accepted for the most reliable authentication. The value is masked in the run interface. |
starting_page | integer | 1 | Which page of your network to start from. Each page holds 40 connections. Use this to resume a large export. |
waiting_time | number | 2 | Polite pause between pages, in seconds. Random jitter is applied (your value → your value × 2). |
date_limit_today | boolean | false | Capture only the connections you added today. |
date_limit_str | string | — | Stop once connections are older than this date (YYYY-MM-DD). Leave empty to export everything. |
proxyConfiguration | object | Apify Proxy on | The Actor starts direct and escalates to datacenter, then residential, only if LinkedIn pushes back. Configure the residential country or groups here. |
⚠️ Your cookie is your identity.
li_atgrants access to your LinkedIn account. Never share it, and be aware that automated activity can lead LinkedIn to restrict an account. Use conservative pacing and avoid running this constantly.
Output data
One row per connection.
| Field | Type | Description |
|---|---|---|
firstName | string | Connection's first name. |
lastName | string | Connection's last name. |
headline | string | Their LinkedIn headline (current role/company). |
vanityName | string | Profile slug (the /in/<slug> part). |
url | string | Full profile URL. |
picture | string | Best available profile picture URL. |
connection_date | string | When you connected, human-readable. |
formated_connection_date | string | The same date in ISO format, for sorting and filtering. |
componentRef | string | Internal reference for the captured row. |
Example output
{"firstName": "Alex","lastName": "Example","headline": "Head of Growth at Example Analytics","vanityName": "alex-example","url": "https://www.linkedin.com/in/alex-example","picture": "https://media.licdn.com/dms/image/…","connection_date": "August 4, 2026","formated_connection_date": "2026-08-04","componentRef": "auto-component-6f1c…"}
Illustrative values — a live run returns your own network data.
Usage examples
Full network export
{"liAtCookie": "<YOUR_LI_AT_COOKIE>","waiting_time": 3}
Daily new-connections log
{"liAtCookie": "<YOUR_LI_AT_COOKIE>","date_limit_today": true}
Save as a Task, attach a daily Schedule, and route the output to Google Sheets or Slack.
Incremental catch-up since your last export
{"liAtCookie": "<YOUR_LI_AT_COOKIE>","date_limit_str": "2026-07-01"}
Resume a large export
If a previous run stopped around connection 2,000:
{"liAtCookie": "<YOUR_LI_AT_COOKIE>","starting_page": 51,"waiting_time": 4}
(50 pages × 40 connections = 2,000.)
Run it from your own code
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_API_TOKEN>")run = client.actor("scraperx/linkedin-network-scraper").call(run_input={"liAtCookie": "<YOUR_LI_AT_COOKIE>","date_limit_str": "2026-01-01","waiting_time": 3,})for c in client.dataset(run["defaultDatasetId"]).iterate_items():print(c["formated_connection_date"], c["firstName"], c["lastName"], "|", c["headline"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_API_TOKEN>' });const run = await client.actor('scraperx/linkedin-network-scraper').call({liAtCookie: '<YOUR_LI_AT_COOKIE>',date_limit_today: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
cURL
curl -X POST "https://api.apify.com/v2/acts/scraperx~linkedin-network-scraper/runs?token=<YOUR_APIFY_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"liAtCookie":"<YOUR_LI_AT_COOKIE>","date_limit_today":true}'
Integrations
Send connections to Google Sheets, Airtable, Slack, Make, Zapier, Google Drive or your CRM via webhooks. A daily "today only" run plus a Sheets integration gives you an automatic networking journal.
Pricing
Pay-per-event: a small Actor-start charge plus a charge per connection row delivered to your dataset. Date limits are the cheapest way to control cost — a daily incremental run only pays for the handful of new connections it finds.
Current rates are on the Pricing tab of this Actor's page, and Apify shows an estimate before and during every run.
Limits & good to know
- This exports your network, not someone else's. It reads the connections of whichever account the cookie belongs to.
- 40 connections per page.
starting_pageis in pages, not connections — multiply by 40 to work out where to resume. - Cookies expire. If a run fails to authenticate, refresh your
li_atvalue from the browser and try again. - Pace yourself. Very large networks scraped very fast are exactly what LinkedIn's throttling watches for. Raise
waiting_timefor networks over a few thousand connections. - LinkedIn throttling shows up as a 302 redirect. The Actor detects it and rotates through fresh residential IPs, but persistent throttling means you should slow down.
- Profile pictures are LinkedIn CDN URLs and expire — download them promptly if you need the files.
- E-mail addresses and phone numbers are not part of this output; LinkedIn does not expose them through this endpoint.
- Default run options are 4 GB memory and a 1-hour timeout — raise the timeout for very large networks.
FAQ
Do I need my LinkedIn password?
No — only the li_at session cookie, which you copy from your own browser.
Where exactly do I find li_at?
Sign in to linkedin.com → DevTools (F12) → Application → Cookies → https://www.linkedin.com → copy the Value of li_at.
Is my cookie stored or shared? It is used only to authenticate the requests in your own run, and it is masked in the run interface. Treat it like a password regardless.
Can I scrape someone else's connections? No. LinkedIn only exposes your own network to you, and this Actor does not attempt anything else.
How do I get only new connections?
Turn on date_limit_today for today's additions, or set date_limit_str to the date of your last export.
Why did the run stop early? Either a date limit was reached (expected), or LinkedIn throttled the session. Check the log — the Actor reports proxy escalations and blocks clearly.
Can I get connections' e-mail addresses? No. That data is not available through this endpoint.
Which export formats are supported? JSON, CSV, Excel (XLSX), XML and RSS. CSV works perfectly here — the rows are flat.
Legal & responsible use
This Actor accesses your own LinkedIn network using your own session, in the same way your browser does. It does not access other people's private data or bypass any protection. Your connections' names, headlines and photos are personal data: if you export them into a CRM or use them for outreach, ensure you have a lawful basis under GDPR and comparable regulations, honour opt-outs, and comply with LinkedIn's User Agreement. Automated access can result in LinkedIn restricting an account — you are responsible for that risk.
Support
Need extra fields, a different pagination strategy, or a custom LinkedIn workflow? Open an issue on the Issues tab of this Actor.