LinkedIn Multi-Mode Scraper avatar
LinkedIn Multi-Mode Scraper

Pricing

from $20.00 / 1,000 results

Go to Apify Store
LinkedIn Multi-Mode Scraper

LinkedIn Multi-Mode Scraper

Developed by

Scraping Samurai

Scraping Samurai

Maintained by Community

Pull profiles, companies, and posts from LinkedIn through a single actor. No cookies needed

0.0 (0)

Pricing

from $20.00 / 1,000 results

1

3

3

Last modified

3 days ago

LinkedIn Multi-Mode Actor (raw‑expanded) 🚀

Pull profiles, companies, and posts from LinkedIn through a single actor.
Outputs include the original raw fields expanded at top level with a data_ prefix (e.g., data_followers, data_company_size).
This makes it easy to query/filter without digging into nested blobs.


✨ Highlights

  • One input, many modes → profiles, companies, a single post, or recent posts by profile.
  • Raw-expanded output → every key from the upstream raw payload is duplicated at top level with the data_ prefix.
  • Cache-aware → repeated identical requests can return instantly with status: "cached".
  • Safety clamplimit ≤ 50 enforced on multi-result modes.
  • Tenant scoping (optional) → pass a userId to partition cache per tenant/workspace.
  • Operational guidance → Good overall timeout budget is ~20 minutes for reliable completion on fresh, uncached targets.

🧭 Supported modes

modepurposerequired fields
profileByUrlFetch a profile by URLurl
profileByNameSearch profiles by full namefullName or fullNames[], limit?
companyByUrlFetch a company by URLurl
postByUrlFetch a single public post/articleurl
postsByProfileRecent posts for a given profile URLprofileUrl or profileUrls[], limit?

⚙️ Inputs

Provide a single JSON object. Only fill fields relevant to your chosen mode.

Common

  • mode (string, required) — one of the modes above.
  • limit (integer, optional, 1–50) — cap for multi-result modes (profileByName, postsByProfile). Default 10.

Batching

  • urls (array) — for profileByUrl, companyByUrl, postByUrl.
  • fullNames (array) — for profileByName.
  • profileUrls (array) — for postsByProfile.

Single-value

  • url (string) — entity URL for profileByUrl, companyByUrl, postByUrl.
  • fullName (string) — for profileByName.
  • profileUrl (string) — for postsByProfile.

Tip: Prefer canonical URLs on https://www.linkedin.com/... (avoid country subdomains and tracking params).


🏃 Quick start

Profile by URL

{ "mode": "profileByUrl", "url": "https://www.linkedin.com/in/reidhoffman/" }

Company by URL

{ "mode": "companyByUrl", "url": "https://www.linkedin.com/company/ibm/" }

Search by name

{ "mode": "profileByName", "fullName": "Ada Lovelace", "limit": 3 }

Recent posts for a profile

{ "mode": "postsByProfile", "profileUrl": "https://www.linkedin.com/in/satyanadella/", "limit": 10 }

Batch

{
"mode": "postsByProfile",
"profileUrls": [
"https://www.linkedin.com/in/reidhoffman/",
"https://www.linkedin.com/in/sundarpichai/"
],
"limit": 8
}

📦 Output examples (raw‑expanded)

Below are representative examples. Fields coming from the upstream raw payload appear with the data_ prefix.

Profile (single-entity)

{
"jobId": "68cfc1562c409e61554902e1",
"mode": "profileByUrl",
"status": "succeeded",
"type": "entity",
"key": "li:profile:https://www.linkedin.com/in/ada-lovelace",
"canonicalUrl": "https://www.linkedin.com/in/ada-lovelace",
"fetchedAt": "2025-09-21T09:20:00.000Z",
"fullName": "Ada Lovelace",
"headline": "Pioneer of Computing",
"location": "London, United Kingdom",
"experiences": [
{ "title": "Chief Visionary", "company": "Analytical Engines Ltd", "startDate": "1842-01", "endDate": null, "location": "London" }
],
"educations": [
{ "school": "Self-taught", "degree": null, "field": "Mathematics", "startDate": null, "endDate": null }
],
"data_full_name": "Ada Lovelace",
"data_headline": "Pioneer of Computing",
"data_location": "London, United Kingdom",
"data_experiences": [
{ "title": "Chief Visionary", "company": "Analytical Engines Ltd", "start_date": "1842-01" }
],
"data_education": [
{ "school": "Self-taught", "field": "Mathematics" }
],
"data_url": "https://www.linkedin.com/in/ada-lovelace"
}

Posts by profile (multi-result — one dataset item per post)

{
"jobId": "68cfc16d8e1ddf4d9a4e3e2a",
"mode": "postsByProfile",
"status": "succeeded",
"type": "item",
"key": "li:post:https://www.linkedin.com/posts/1234567890",
"canonicalUrl": "https://www.linkedin.com/posts/1234567890",
"fetchedAt": "2025-09-21T09:20:03.000Z",
"text": "Reflections on analytical computation…",
"engagement": { "likes": 42, "comments": 7, "reposts": 3 },
"data_post_id": "1234567890",
"data_text": "Reflections on analytical computation…",
"data_likes_count": 42,
"data_comments_count": 7,
"data_reposts_count": 3,
"data_post_url": "https://www.linkedin.com/posts/1234567890",
"data_images": [],
"data_videos": []
}

Company (single-entity)

{
"jobId": "68cfc17c1c9c2f0b6d7c8f21",
"mode": "companyByUrl",
"status": "succeeded",
"type": "entity",
"key": "li:company:https://www.linkedin.com/company/openai",
"canonicalUrl": "https://www.linkedin.com/company/openai",
"fetchedAt": "2025-09-21T09:20:10.000Z",
"name": "OpenAI",
"website": "https://openai.com",
"industries": "Artificial Intelligence",
"companySize": "1001-5000 employees",
"data_name": "OpenAI",
"data_website": "https://openai.com",
"data_followers": 2500000,
"data_company_size": "1001-5000 employees",
"data_logo": "https://media.licdn.com/...",
"data_image": "https://media.licdn.com/...",
"data_about": "Creating safe AGI that benefits all of humanity",
"data_country_code": "US",
"data_url": "https://www.linkedin.com/company/openai"
}

Cached response

{
"jobId": "68cfc188aef2b963e38e1f40",
"mode": "profileByUrl",
"status": "cached",
"type": "entity",
"key": "li:profile:https://www.linkedin.com/in/ada-lovelace",
"cache": { "hit": true }
}

On timeouts or empty terminal states the actor pushes a clear record (e.g., { status: "timeout" }) so runs don’t crash.


🟡 Status values

statusmeaning
succeededFull data collected
partialSome data available (e.g., early items before finish)
failedUnrecoverable error
cachedServed from recent identical request

🔧 Environment knobs (optional)

  • API_KEY / API_KEYS — backend API key (first of API_KEYS is used).
  • SERVER_BASE — override the default server URL.
  • VERBOSE — set to 0/false to silence periodic poll logs.
  • POLL_INTERVAL_MS — poll cadence (default 5000 ms).
  • TIMEOUT_MS — per-job overall wait. Recommended budget ~1,200,000 ms (20 minutes) for fresh, uncached targets in busy hours.

The actor handles timeouts gracefully: it logs and emits a dataset row instead of throwing.


🧪 More input snippets

Profiles by name (batch)

{ "mode": "profileByName", "fullNames": ["Diego Fernandez", "Anya Petrova", "Hassan Ali"], "limit": 3 }

Posts by profile (batch)

{
"mode": "postsByProfile",
"profileUrls": [
"https://www.linkedin.com/in/dharmesh/",
"https://www.linkedin.com/in/satyanadella/"
],
"limit": 8
}

🛡️ Compliance

Please comply with LinkedIn’s Terms of Service and applicable laws.
This actor does not bypass access controls.


🧰 Support

Open an issue in the Issues tab. Include your input JSON and a redacted log excerpt for fastest help.