๐Ÿ’ฌ LinkedIn Conversation Scraper avatar

๐Ÿ’ฌ LinkedIn Conversation Scraper

Under maintenance

Pricing

from $3.99 / 1,000 results

Go to Apify Store
๐Ÿ’ฌ LinkedIn Conversation Scraper

๐Ÿ’ฌ LinkedIn Conversation Scraper

Under maintenance

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeLabs

ScrapeLabs

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

Pull every conversation from your LinkedIn inbox into structured JSON โ€” messages, dates, participants, headlines, distance, pronouns, and more. No fragile API hacks. Just your own session cookie and a real Chromium tab under the hood.


โœจ Why Choose Us?

  • ๐Ÿ›ก๏ธ API-free, fingerprint-proof โ€” drives a real Chromium browser, immune to LinkedIn's JA3 / queryId / CSRF rotations
  • โšก Live streaming โ€” every conversation is pushed to the dataset the moment it's parsed (crash mid-run? you still keep what was collected)
  • ๐ŸŒ Smart proxy escalation โ€” starts direct, falls back to datacenter, then residential (3 retries) only when LinkedIn pushes back
  • ๐Ÿงฉ Optional profile enrichment โ€” pulls headline, distance (1st/2nd/3rd), and pronouns from each participant's profile page
  • ๐Ÿ“… Date filters โ€” today_limit or date_limit to grab only what's recent
  • ๐Ÿ”— Bulk URL mode โ€” feed it a list of thread or profile URLs to scrape specific conversations
  • ๐ŸŽฏ Stylish, modern input UI with emoji-rich field labels

๐Ÿ”‘ Key Features

FeatureWhat it does
๐Ÿ“ฅ Inbox sweepPrimary, All, Other, Archive, Spam
๐Ÿ”Ž FiltersInMail, Starred, 1st-degree only, Unread only
๐Ÿ’ฌ Per-thread depthConfigurable max messages per conversation
โœจ Profile enrichmentHeadline + distance + pronouns from each participant
๐ŸŒ Tiered proxy fallbackDirect โ†’ Datacenter โ†’ Residential (ร—3 retries)
๐Ÿ“… Date filtersToday-only or older-than-cutoff
๐Ÿ’พ Live savingActor.push_data per conversation โ€” no data loss on crash

๐Ÿ“ฅ Input

FieldTypeRequiredDescription
๐Ÿ” li_atstringYesYour li_at cookie from www.linkedin.com (treat as a password)
๐Ÿ”— urlsarrayNoOptional bulk list of thread URLs or profile URLs
๐Ÿ“ฅ list_typestringNoPRIMARY_INBOX (default), INBOX, SECONDARY_INBOX, ARCHIVE, SPAM
๐Ÿ”Ž filterstringNoINMAIL, STARRED, firstDegreeConnections:true, read:false
๐Ÿ’ฌ max_convsintegerNoMax conversations to scrape (0 = unlimited)
๐Ÿ“ max_messages_per_convintegerNoMax messages per conversation (0 = unlimited)
๐Ÿ“… today_limitbooleanNoIf true, only today's conversations
๐Ÿ—“๏ธ time_framestringNoALL_TIME (default), LAST_24_HOURS, LAST_3_DAYS, LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS, LAST_6_MONTHS, LAST_YEAR
โœจ enrich_profilesbooleanNoVisit each participant's profile page for headline / distance / pronouns
โฑ๏ธ request_delaynumberNoFloat seconds between requests (default 1.0)
๐ŸŒ proxyConfigurationobjectNoDefaults to no proxy; auto-escalates if LinkedIn blocks

Example input

{
"li_at": "AQEDAU...your_cookie...",
"list_type": "PRIMARY_INBOX",
"filter": "",
"max_convs": 10,
"max_messages_per_conv": 25,
"enrich_profiles": true,
"today_limit": false,
"proxyConfiguration": { "useApifyProxy": false }
}

๐Ÿ“ค Output

Each dataset record is one conversation:

{
"participants": [
{
"url": "https://www.linkedin.com/in/ACoAADM...",
"distance": "DISTANCE_1",
"pronoun": "she/her",
"picture": "https://media.licdn.com/.../profile.jpg",
"firstname": "Raisul",
"lastname": "Islam",
"headline": "Founder @ Authentic Digital Marketing",
"entityUrn": "ACoAADM..."
}
],
"status": "ACTIVE",
"unread_count": 0,
"last_read_at": null,
"last_activity_at": "2026-05-03 15:15:00",
"is_group_chat": false,
"creator": "ACoAAEjB...",
"created_at": "2026-05-03 15:15:00",
"messages": [
{ "content": "test message", "date": "2026-05-03 15:15:00", "who": "me" }
],
"total_messages": 1,
"last_message_date": "2026-05-03 15:15:00",
"last_message_content": "test message",
"last_message_who": "me",
"days_from_today": 11,
"_conversation_id": "2-ZmExYTkx..."
}

Field reference

FieldDescription
participantsArray of participant objects (name, URL, headline, distance, pronoun, picture, entityUrn)
statusConversation status (ACTIVE)
unread_countNumber of unread messages
last_activity_atTimestamp of the most recent message (YYYY-MM-DD HH:MM:SS)
is_group_chatTrue if multi-person thread
creatorURN of whoever sent the first message we collected
created_atTimestamp of the first collected message
messagesArray of { content, date, who } (oldest โ†’ newest)
total_messagesNumber of messages collected
last_message_*Convenience fields for the most recent message
days_from_todayDays since the last activity
_conversation_idLinkedIn's thread URN

๐Ÿš€ How to Use (Apify Console)

  1. ๐Ÿ”“ Log in to Apify Console โ†’ Actors.
  2. ๐Ÿ” Find LinkedIn Conversation Scraper and open it.
  3. ๐Ÿช Grab your li_at cookie:
    • Open linkedin.com in Chrome โ†’ press F12 โ†’ Application โ†’ Cookies โ†’ https://www.linkedin.com โ†’ copy the value of li_at.
  4. ๐Ÿ“ Paste it into the ๐Ÿ” LinkedIn Session Cookie (li_at) field.
  5. โš™๏ธ Configure inbox type, filter, limits, and proxy if needed.
  6. โ–ถ๏ธ Click Start.
  7. ๐Ÿ“บ Watch the live log โ€” each conversation is logged as it's saved.
  8. ๐Ÿ“‚ Open the Dataset tab when the run finishes.
  9. ๐Ÿ“ค Export to JSON / CSV / XLSX / Excel.

๐Ÿ’ก Tip: Start with max_convs = 5 to validate everything is working before launching a full sweep.


๐Ÿค– Use via API / MCP

Run the actor via REST

curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"li_at": "AQEDAU...",
"list_type": "PRIMARY_INBOX",
"max_convs": 10,
"max_messages_per_conv": 25,
"enrich_profiles": true,
"proxyConfiguration": { "useApifyProxy": false }
}'

Wait for results synchronously

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":"AQEDAU...","max_convs":3}'

๐ŸŒ Proxy Strategy

The scraper escalates only when LinkedIn pushes back:

StepTierWhat happens
1๏ธโƒฃ๐ŸŸข DirectTry without any proxy first
2๏ธโƒฃ๐ŸŸก DatacenterIf LinkedIn blocks โ†’ switch to a datacenter proxy
3๏ธโƒฃ๐Ÿ”ด ResidentialIf datacenter still gets blocked โ†’ residential proxy with 3 retries
๐Ÿ”’StickyOnce we escalate, we stay on that tier for the rest of the run

Every escalation step is logged so you can see what's happening:

๐ŸŒ Attempting connection without proxy (attempt 1/1)โ€ฆ
๐Ÿ›‘ [NONE] LinkedIn redirected to login/checkpoint โ€” treated as a block
๐ŸŒ Attempting connection via DATACENTER proxy (proxy.apify.com) โ€” attempt 1/1
โœ… [DATACENTER] Connected successfully to LinkedIn.
๐ŸŸข Locked onto DATACENTER proxy for the rest of the run.

๐Ÿ’Ž Best Use Cases

  • ๐Ÿง‘โ€๐Ÿ’ผ CRM hygiene โ€” sync LinkedIn DMs into HubSpot / Salesforce
  • ๐Ÿ’ผ Recruitment ops โ€” track candidate replies across hundreds of outreach threads
  • ๐Ÿ“ž Sales enablement โ€” surface stale conversations and follow-ups
  • ๐Ÿ—‚๏ธ Personal archive โ€” back up your own messaging history before LinkedIn deletes it
  • ๐Ÿ”ฌ Research โ€” analyze your own DM patterns for sentiment / topic / response time

๐Ÿ’ฐ Pricing

This actor runs on pay-per-usage โ€” you pay only the underlying Apify platform usage (compute units, proxies if used, dataset writes). No additional per-event charges from us.

Run-time guideline: with enrich_profiles = true, expect ~5โ€“10 seconds per conversation. With enrichment off, it's typically ~2โ€“3 seconds per conversation.


โ“ Frequently Asked Questions

Open linkedin.com, press F12, go to Application โ†’ Cookies โ†’ https://www.linkedin.com, and copy the Value of the li_at cookie. It looks like AQEDA.... Treat it like a password.

No. LinkedIn's messaging endpoints all require an authenticated session. We use your cookie so the scraper sees the same inbox you do.

Why does it sometimes need a proxy?

If you run the actor often (or from a flagged IP), LinkedIn may redirect to a login wall. The actor detects this automatically and escalates to a datacenter proxy, then residential. Most users will never need a proxy.

Will LinkedIn ban my account?

Use sensible limits. Don't run dozens of large sweeps a day. Increase request_delay if you see warnings. Scraping your own inbox at human-realistic rates is the lowest-risk pattern.

Can I scrape group chats?

Currently the actor labels every thread as is_group_chat: false and only enriches the first participant. Multi-participant threads still work โ€” you just get the first participant's profile detail.

Can I scrape someone else's inbox?

No. The li_at cookie ties to whoever generated it. You can only scrape your own inbox.

How is this different from the LinkedIn API?

The official API doesn't expose messaging to third parties. This actor uses a real browser to render the page exactly as you'd see it, bypassing API restrictions while staying within your own account's permissions.


  • ๐Ÿ“š You may only scrape data your account is authorized to see (your own inbox).
  • ๐Ÿ” Never share your li_at cookie publicly โ€” it grants full access to your LinkedIn account.
  • ๐Ÿ“œ You are responsible for compliance with LinkedIn's User Agreement, GDPR, CCPA, and any other applicable law in your jurisdiction.
  • ๐Ÿค Don't use this to spam, harass, or unsolicited-message anyone โ€” automated outreach violates LinkedIn's rules.
  • ๐Ÿšฆ Respect rate limits โ€” protect your account by keeping request_delay โ‰ฅ 1.0 and max_convs reasonable.

๐Ÿ›Ÿ Support and Feedback

  • ๐Ÿ› Found a bug? File an issue through the Actor's Issues tab.
  • ๐Ÿ’ก Have a feature request? We listen.
  • ๐Ÿ’ฌ Need help? Use Apify Console's Discussion tab.

Built with โค๏ธ on Apify โ€ข Documentation โ€ข Apify Console