LinkedIn Company Jobs Scraper avatar

LinkedIn Company Jobs Scraper

Pricing

$2.50 / 1,000 job scrapeds

Go to Apify Store
LinkedIn Company Jobs Scraper

LinkedIn Company Jobs Scraper

Scrape all open jobs from any company's LinkedIn presence: titles, locations, descriptions, salaries, seniority and applicant counts. Includes a hiring-signals summary showing where and what each company is hiring. Export to JSON, CSV or Excel. No login or cookies required.

Pricing

$2.50 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Hamza

Hamza

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Share

LinkedIn Company Jobs Scraper ๐Ÿข

Type in a company โ€” get every open job it has on LinkedIn, as clean structured JSON, plus a ready-made hiring-signals summary telling you who is scaling which function, where.

Where keyword scrapers answer "what jobs match this search?", this Actor answers the question sales, recruiting and market-intelligence teams actually ask: "what is this company hiring for right now?"

โœจ What you get

  • ๐Ÿข Company-centric full export โ€” enter company names ("Microsoft"), numeric LinkedIn ids ("1035") or company-page URLs (linkedin.com/company/microsoft); mixed lists are fine. Every input is resolved automatically and the resolution is logged.
  • ๐Ÿ“„ Complete job records โ€” title, location, posted date, salary (when shown), full description, seniority level, employment type, job function, industries and applicant count.
  • ๐Ÿ“Š Hiring-signals summary per company โ€” job volume, top 5 locations, top 10 title words, on-site/remote/hybrid mix, seniority mix and the posting-date window โ€” saved as a SUMMARY record next to the dataset and printed in the log.
  • ๐ŸŽ›๏ธ All the LinkedIn filters โ€” narrow each company's listing by keyword, location, date posted, job type, experience level and workplace type.
  • ๐Ÿ” Deduplicated & rank-tagged โ€” one record per job, no repeats across pages, each carrying a stable position field with its listing rank (records may arrive in the dataset out of rank order while details are fetched concurrently โ€” sort by position to restore it).
  • โšก Fast โ€” job details are fetched concurrently; a 100-job company typically exports in a couple of minutes.

๐Ÿ’ผ Why it's valuable

Open roles are the most honest public signal a company emits. This Actor turns that signal into data you can act on:

  • A surge of sales roles in a new region โ†’ territory expansion (and a buying window for your product).
  • Dozens of platform/infra engineer postings โ†’ a re-platforming effort โ†’ perfect timing for dev-tool vendors.
  • Seniority mix shifting toward directors โ†’ new org being built from the top down.
  • Posting-date window shows whether hiring is accelerating or stale.

โš™๏ธ Options

InputWhat it does
companiesCompany names, numeric ids, or linkedin.com/company/... URLs (mix freely)
maxJobsPerCompanyCap per company (default 100; LinkedIn's public listing serves at most ~1,000)
scrapeJobDetailsFetch each job's full description + criteria (default on)
keywords, locationNarrow the export inside each company
datePostedpast-24h / past-week / past-month
jobType, experienceLevel, workplaceTypeSame options as LinkedIn's own filter panel
sortByrecent (default) or relevance

๐Ÿš€ Example

Input:

{
"companies": ["Microsoft", "https://www.linkedin.com/company/stripe", "1441"],
"maxJobsPerCompany": 100,
"scrapeJobDetails": true,
"datePosted": "past-month",
"workplaceType": ["remote", "hybrid"]
}

(Three input forms in one list: a name, a company-page URL, and a numeric id โ€” 1441 is Google's.)

One dataset record per job:

{
"jobId": "4440979323",
"title": "Circular Center Program Manager",
"url": "https://www.linkedin.com/jobs/view/4440979323",
"companyInput": "Microsoft",
"companyId": "1035",
"companyResolvedName": "Microsoft",
"companyName": "Microsoft",
"companyUrl": "https://www.linkedin.com/company/microsoft",
"companyLogo": "https://media.licdn.com/dms/image/v2/โ€ฆ/microsoft_logo",
"location": "Cheyenne, WY",
"postedAt": "2026-07-15T00:00:00.000Z",
"postedTimeText": "1 week ago",
"salary": "$98,000.00/yr - $208,800.00/yr",
"seniorityLevel": "Mid-Senior level",
"employmentType": "Full-time",
"jobFunction": "Program and Project Management",
"industries": "Software Development",
"applicantsCount": 25,
"applicantsText": "25 applicants",
"descriptionText": "Microsoft Cloud Operations and Innovation is the team behind the cloud...",
"descriptionHtml": "<p>Microsoft Cloud Operations and Innovation is the team behind...</p>",
"position": 1,
"companyJobsUrl": "https://www.linkedin.com/jobs/search?f_C=1035",
"scrapedAt": "2026-07-24T12:34:56.789Z"
}

And the SUMMARY key-value record aggregates each company:

{
"generatedAt": "2026-07-24T12:35:10.123Z",
"companies": [{
"company": "Microsoft",
"companyId": "1035",
"jobsFound": 100,
"topLocations": [{ "location": "Redmond, WA", "count": 22 }],
"topTitleWords": [{ "word": "engineer", "count": 31 }, { "word": "software", "count": 24 }],
"byWorkplaceType": { "unspecified": 100 },
"bySeniority": { "Mid-Senior level": 58, "Director": 9 },
"newestPostedAt": "2026-07-23T00:00:00.000Z",
"oldestPostedAt": "2026-05-02T00:00:00.000Z"
}],
"unresolved": []
}

๐Ÿ’ก Use cases

  • Sales intelligence โ€” detect scaling teams and open buying windows from hiring surges.
  • Competitor tracking โ€” schedule weekly runs per competitor and diff the exports.
  • Recruiting & sourcing โ€” map who else is hiring the profiles you need, and where.
  • Market research โ€” quantify functions, locations and seniority across a portfolio of companies.
  • Job boards & alerts โ€” keep a company-scoped feed fresh with datePosted: "past-24h".

๐Ÿ’ณ Pricing

Pay per result โ€” you're charged a small fee per job record pushed to the dataset, nothing else. Set a maximum budget per run in the Actor's settings; the run stops cleanly when it's reached.

โ“ FAQ

How do I find a company's numeric id? You don't have to โ€” names and company-page URLs resolve automatically (the log shows exactly what each input resolved to). Ids just skip the lookup.

What if a company can't be resolved? It's logged as a warning, listed under unresolved in the SUMMARY record, and the run continues with the rest.

Does it need my LinkedIn account? No. Only publicly visible job postings are scraped โ€” no login, no cookies.

Can I get more than 1,000 jobs for a huge company? LinkedIn's public listing stops serving results around 1,000 per query. Slice bigger companies with filters (e.g. one run per location or jobType) to pull deeper.

โš ๏ธ Honest limitations

  • ~1,000-job ceiling per company/filter combination โ€” a LinkedIn-side limit on the public listing (see FAQ for the slicing workaround).
  • Salary appears only when the posting displays it; applicant counts are the coarse public values ("Over 200 applicants" โ†’ 200).
  • Workplace mix is often mostly unspecified โ€” it is derived from location suffixes like "(Remote)" / "(Hybrid)", which company-listing cards frequently omit. For an exact split, run with a single workplaceType filter (one run per type): the bucket is then known from the filter itself.
  • Company name resolution picks the best public match โ€” for ambiguous brands, pass the numeric id or the exact company-page URL instead.
  • Listings are living pages: consecutive runs can differ slightly as jobs are posted, closed or re-ranked.