LinkedIn Jobs & Company Scraper avatar

LinkedIn Jobs & Company Scraper

Pricing

$1.60 / 1,000 item scrapeds

Go to Apify Store
LinkedIn Jobs & Company Scraper

LinkedIn Jobs & Company Scraper

Scrape LinkedIn job postings by keyword, location or company. Returns job title, company, location, salary, description, employment type, posted date and apply link. No login or cookies required.

Pricing

$1.60 / 1,000 item scrapeds

Rating

0.0

(0)

Developer

Bruno

Bruno

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Share

Scrape LinkedIn job postings by keyword and location, and LinkedIn company pages, using only public, logged-out ("guest") data — no LinkedIn account, cookies or login required. Requests are made with browser-grade HTTP fingerprints (got-scraping) routed through Apify Proxy, with a fresh proxy session generated on every retry, to survive LinkedIn's anti-bot defenses.

Why it's useful

LinkedIn is one of the richest sources of hiring signal and company data on the web, and one of the hardest to scrape. This actor uses the same technique LinkedIn's own public job-search pages use internally (the jobs-guest search API) to pull structured job data reliably without login — and adds best-effort company-page scraping for a quick public snapshot of a company.

Input

{
"jobKeywords": ["software engineer", "data analyst"],
"jobLocation": "United States",
"companyUrls": ["https://www.linkedin.com/company/google/", "openai"],
"maxItems": 50
}
  • jobKeywords — search terms; each runs its own paginated job search. Optional if companyUrls is set.
  • jobLocation — one location filter applied to every keyword search. Optional.
  • companyUrls — LinkedIn company URLs or bare slugs. Optional if jobKeywords is set.
  • maxItems — max job postings per keyword (default 50).
  • proxyConfiguration — Apify Proxy config; residential is strongly recommended.
  • timeoutSecs — per-request timeout in seconds (default 30).

At least one of jobKeywords / companyUrls is required.

Output

Job posting (source: "job"):

{
"source": "job",
"title": "Software Engineer",
"company": "Example Inc",
"companyUrl": "https://www.linkedin.com/company/example",
"location": "San Francisco, CA",
"postedDate": "2026-09-20",
"postedDateText": "3 days ago",
"jobId": "4012345678",
"jobUrl": "https://www.linkedin.com/jobs/view/software-engineer-at-example-4012345678",
"keyword": "software engineer",
"searchLocation": "United States"
}

Company (source: "company") — best effort; LinkedIn gates most company-page content behind a login wall for guests, so fields may be null and a note explains when that happened:

{
"source": "company",
"input": "google",
"url": "https://www.linkedin.com/company/google/",
"name": "Google",
"industry": "Software Development",
"size": "10,001+ employees",
"headquarters": "Mountain View, CA",
"organizationType": "Public Company",
"specialties": "search, ads, mobile, android, ...",
"followers": "42,415,536",
"about": "...",
"website": "https://goo.gle/3DLEokh"
}

If a request is blocked after 5 retries (each with a fresh residential proxy session), the actor reports it honestly instead of fabricating data:

{ "source": "job", "keyword": "...", "error": "blocked (needs residential proxy): blocked (HTTP 999, 812 bytes)" }

How it works

  • Jobs: calls the public linkedin.com/jobs-guest/jobs/api/seeMoreJobPostings/search endpoint (the same one LinkedIn's own guest job-search pages use), paginating with start=0,25,50,…, and parses the returned job-card HTML.
  • Company: fetches the public linkedin.com/company/{slug}/ page and parses whatever is visible in the HTML — JSON-LD Organization data, meta tags and known guest-page selectors.
  • Every request goes through Apify Proxy with a new session per attempt (up to 5 attempts) whenever a response looks blocked (auth wall, captcha, security-check page, or an HTTP 401/403/429/5xx/999).

Notes

  • No login, cookies or LinkedIn account needed — 100% public guest data.
  • Honesty over fabrication: if LinkedIn blocks a request even after retries, the actor reports the block rather than inventing data.
  • LinkedIn's anti-bot defenses change over time; job search (the guest API) is the most reliable technique, company pages are inherently harder and best-effort.

⭐ Enjoying this Actor?

A quick rating/review helps others find it. Found a page LinkedIn changed the markup on? Open a ticket on the Issues tab.