LinkedIn Company Jobs Scraper 🏢 (every open role, one company) avatar

LinkedIn Company Jobs Scraper 🏢 (every open role, one company)

Pricing

from $1.40 / 1,000 job scrapeds

Go to Apify Store
LinkedIn Company Jobs Scraper 🏢 (every open role, one company)

LinkedIn Company Jobs Scraper 🏢 (every open role, one company)

Every live job posting for a company on LinkedIn, with full descriptions. Give a company name, LinkedIn URL, or numeric company ID and get all its current openings in clean JSON: title, location, posting date, seniority, and the link to apply. Track a competitor's hiring, no login, no API key.

Pricing

from $1.40 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Tagada Data

Tagada Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

LinkedIn Company Jobs Scraper

See every role a company currently has open on LinkedIn. Give a company name, its LinkedIn URL, or its numeric LinkedIn company ID, and get back every live job posting: title, location, posting date, and the direct link to apply. Switch on full descriptions and every row also carries the complete job text, seniority level, employment type, job function, industry and the current applicant count.

This is the tool for watching one company's hiring, not searching all of LinkedIn by keyword. A recruiter tracking a client, a sales rep watching a target account, or a job seeker following a short list of employers all want the same thing: every current opening at a specific company, refreshed on demand.

No login. No cookies to paste. No API key. One clear price per job, with platform usage already included.

This actor scrapes public job postings and the hiring company only. It does not collect personal profiles, applicants, or the individual who posted the job.

How company resolution works

LinkedIn's job search filters by a numeric company ID, not by name, so the actor has to find that ID first:

  • A numeric ID (e.g. 1035) is used as-is.
  • A LinkedIn URL that already names the company (a company page like https://www.linkedin.com/company/microsoft/, or a jobs search URL with a company filter already in it) is read directly: no extra lookup needed.
  • A bare name (e.g. Microsoft) is resolved automatically: the actor runs one LinkedIn jobs search for that name and looks at which company's postings dominate the results, then confirms that company's numeric ID from its own LinkedIn page.

Every output row carries inputCompany (what you typed), resolvedCompanyId, resolvedCompanyName, resolutionMethod (how it was matched) and, for a name-based match, resolutionConfidence (the share of the search results that belonged to the winning company, 0 to 1). Check these on the first run with a new name; if the match is not what you meant, paste the company's LinkedIn URL or numeric ID instead and it will be used exactly, with no search or guessing involved.

What you get

One record per job posting:

FieldDescription
jobIdLinkedIn job posting ID
titleJob title
jobUrlDirect link to the public job posting
companyNameHiring company as shown on the job card
companyUrlThe company's LinkedIn page
companySlugCompany handle from its URL
companyLogoUrlCompany logo image
locationLocation as shown on the posting
postedAtPosting age in the site's own words (e.g. "2 days ago")
postedDatePosting date as ISO YYYY-MM-DD
isNewFlagged as newly posted by LinkedIn
benefitsAny badge on the card (e.g. "Actively Hiring")
inputCompanyThe company exactly as you entered it
resolvedCompanyIdThe numeric LinkedIn company ID the search actually ran against
resolvedCompanyNameThe resolved company's name
resolutionMethodid, url-f_C, url-numeric-path, url-company-page, or name-search
resolutionConfidenceFor name-search only: how dominant the matched company was in the search results (0 to 1)
sourcelinkedin.com
scrapedAtWhen the row was collected (ISO)

With Add full job descriptions switched on, every row also gets:

FieldDescription
descriptionFull job description text
descriptionHtmlThe same description with its original formatting
seniorityLevele.g. Entry level, Mid-Senior level, Director
employmentTypeFull-time, Part-time, Contract, and so on
jobFunctionThe job function LinkedIn assigns
industriesThe hiring company's industry
applicantsCountHow many people have applied so far
applicantsCaptionApplicant count in the site's own words

Descriptions are billed as a small extra, and only when the extra data is actually found. A posting with nothing extra to return costs you nothing beyond the base job.

Who uses this

  • Recruiters and staffing agencies: watch a client's open roles and how they change week to week.
  • Sales and lead-gen teams: a growing headcount at a target account is a buying signal. Track how many roles a prospect has open and in which functions before you reach out.
  • Competitive intelligence: see exactly what a competitor is hiring for, and in which locations, as a proxy for where they are investing.
  • Job seekers and career coaches: follow a short list of employers and catch every new opening the moment it is posted.

Turn a hiring company into a full lead

To go from a hiring company to a legal entity and a real contact, pass resolvedCompanyName into a sibling actor:

  • French Company KYC: resolve a French hiring company to its SIREN/SIRET, officers and BODACC status for due diligence.
  • French Company Email Finder: find the SIREN, dirigeants and contact emails for a French hiring company, ready for outreach.

Input examples

Copy any of these into the input, or use the visual form.

By company name:

{
"companies": ["Microsoft"],
"maxPerCompany": 50
}

By LinkedIn company URL, with full descriptions:

{
"companies": ["https://www.linkedin.com/company/microsoft/"],
"withDescription": true,
"maxPerCompany": 100
}

Several companies, new postings only, run it daily as a hiring monitor:

{
"companies": ["Microsoft", "https://www.linkedin.com/company/google/", "1441"],
"postedSince": "24h",
"maxPerCompany": 200
}

Output sample

{
"jobId": "4438655931",
"title": "Software Engineer",
"jobUrl": "https://www.linkedin.com/jobs/view/4438655931",
"companyName": "Microsoft",
"companyUrl": "https://www.linkedin.com/company/microsoft",
"companySlug": "microsoft",
"companyLogoUrl": "https://media.licdn.com/dms/image/v2/D4E0BAQH8a1b2c3d/company-logo_100_100/0/1712345678.png",
"location": "Paris, Île-de-France, France",
"postedAt": "2 days ago",
"postedDate": "2026-07-09",
"isNew": true,
"benefits": "Actively Hiring",
"inputCompany": "Microsoft",
"resolvedCompanyId": "1035",
"resolvedCompanyName": "Microsoft",
"resolutionMethod": "name-search",
"resolutionConfidence": 0.8,
"source": "linkedin.com",
"scrapedAt": "2026-08-20T09:14:22.317Z"
}

Pricing

You pay per job returned, and a small extra only for jobs where full-description enrichment actually found data. Platform usage is included in the price, so there is no subscription. Company resolution itself is never billed, whether the company was given as a name, a URL or an ID.

EventPrice
Actor start$0.001 per run
Job scraped$2.00 per 1,000
Job details$2.00 per 1,000 (only with Add full job descriptions, and only when the extra data was found)

The tiny start fee covers runs that return nothing; on any normal search it is noise next to the per-job price.

FAQ

Do I need a LinkedIn account or a cookie? No. This reads LinkedIn's public jobs and company pages, so there is no login, no session cookie and no API key to manage.

Does it scrape people or applicants? No. It collects the public job posting and the hiring company only. It never collects personal profiles, the names of applicants, or the person who posted the role.

What if I type a company name and it resolves to the wrong company? Check resolvedCompanyName and resolutionConfidence on the first row. If it is not what you meant, paste the exact LinkedIn company URL (or its numeric ID, found in the URL after /company/ when the company uses a numeric handle, or in a job search URL after f_C=) instead of the name; that path skips the search entirely and always uses exactly the company you specify.

How many jobs can I get per company? Set Max jobs per company. LinkedIn serves a few hundred results per company before it stops paginating; most companies' current openings fit well inside that.

How do I only get brand-new postings? Set Posted since to the last 24 hours and schedule the run. Each run returns only what LinkedIn currently shows in that window, so a daily 24-hour run is a simple new-jobs-at-this-company monitor.

Can I get the full job description and how many people applied? Yes. Switch on Add full job descriptions. Each job then includes the full description, seniority, employment type, job function, industry and the live applicant count. This opens each posting individually, so it is a little slower and costs a small extra per enriched job.

How is it priced? You pay per job returned, and the LinkedIn page fetching (including resolving a company name) is already included in that price, so there are no separate platform bills to reconcile.

Is the data structured? Yes. Every run produces one flat JSON or CSV row per job with the same fields, ready for a spreadsheet, a CRM import or a database.


LinkedIn company jobs scraper, company hiring tracker LinkedIn, LinkedIn jobs by company, track competitor hiring, LinkedIn open roles scraper, hiring signal LinkedIn, LinkedIn jobs API alternative, company job listings export, recruitment intelligence, sales trigger hiring data.