LinkedIn Company Jobs Scraper โ Vacancies Export
Pricing
from $1.00 / 1,000 results
LinkedIn Company Jobs Scraper โ Vacancies Export
Collect public LinkedIn jobs by company slug, URL, or ID. Export titles, employers, locations, posting dates, and listing labels with filters and pagination.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
ScrapingMonkey
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Collect public vacancies from a list of LinkedIn companies, with the employer context preserved on every job. LinkedIn Company Jobs Scraper accepts company slugs, URLs, or numeric IDs and returns job titles, locations, posting dates, company details, and visible listing labels.
Use it to follow hiring at target employers, compare role demand, or build a vacancy database. Set a page budget for each company and narrow the results with keywords or location before exporting them.
| At a glance | Details |
|---|---|
| ๐ฅ Input | LinkedIn company slugs, company URLs, or numeric company IDs |
| ๐ค Output | One row per collected job, including its source company |
| ๐ Filters | Keywords, location, posting time, workplace, seniority, job type, and more |
| ๐ Pagination | Configurable pages per company; normally 10 job cards per page |
| ๐ Login required | No LinkedIn credentials or cookies |
What the LinkedIn company jobs scraper collects ๐ผ
The Actor collects the job cards visible in LinkedIn's public company-filtered search. Each card can include:
- Job ID, job URL, and title
- Employer name, ID, page URL, and logo when exposed on the card
- Job location, posting date, and relative posting-time text
- Benefits and labels shown on the listing
- Actively hiring and promoted indicators
- The source company's ID, slug, name, and URL
Company slugs and URLs are resolved before searching. A numeric ID can be used directly; in that case, source-company name, slug, and URL remain empty. Employer information from each job card is still returned when available.
How to scrape LinkedIn company jobs ๐
- Add company slugs such as
microsoft, company URLs, or numeric IDs. - Choose
pagesPerCompanyand add any filters. - Start the Actor and review the job rows and any failed results.
- Export the dataset or pass selected job URLs to a details workflow.
{"inputList": ["microsoft"],"pagesPerCompany": 2,"keywords": "software engineer","location": "United States"}
The same filters apply to every company in the run. Duplicate job IDs are removed across pages for each company; jobs returned under different company searches can appear more than once.
Company job data fields and output ๐ฆ
| Field group | Included data |
|---|---|
| Result | Original company input and success or failed status |
| Source company | Resolved company ID, slug, name, and URL |
| Job | ID, URL, title, location, posting date, and relative time |
| Listed employer | Company ID, name, URL, and logo from the job card |
| Listing labels | Benefits, actively hiring indicator, and promoted indicator |
Complete illustrative output item with all 19 fields. The employer, vacancy, dates, and values below are fictional examples, not a live result:
{"input": "example-analytics","status": "success","source_company_id": "12345678","source_company_slug": "example-analytics","source_company_name": "Example Analytics","source_company_url": "https://www.linkedin.com/company/example-analytics/","id": "9876543210","url": "https://www.linkedin.com/jobs/view/9876543210/","title": "Software Engineer","company.id": "12345678","company.name": "Example Analytics","company.url": "https://www.linkedin.com/company/example-analytics/","company.logo": "https://example.com/company-logo.png","location": "Singapore","posted_at": "2026-09-06","posted_time": "2 days ago","benefits": ["Actively Hiring","Medical insurance"],"actively_hiring": true,"is_promoted": false}
Each job occupies one row in one table. JSON uses the same literal field names, including company.name; company details are separate columns. benefits is an ordered list within that row.
Successful cards may contain empty strings or empty lists when LinkedIn omits data. The hiring and promoted flags reflect labels found on the card; false does not prove that an employer is inactive. A failed result retains input, sets status to failed, and uses null for the other fields.
Input requirements and company coverage โ๏ธ
| Parameter | Type | Default | Rules and meaning |
|---|---|---|---|
inputList | array of strings | Required | At least one company slug, company URL, or numeric company ID |
pagesPerCompany | integer | 1 | Minimum 1; no fixed upper limit |
keywords | string | "" | Job keywords applied within each company's results |
location | string | "" | LinkedIn location text |
geoId | string | "" | LinkedIn geographic ID |
timePosted | string | "" | Posting-time value from LinkedIn's f_TPR URL parameter |
workplaceType | string | "" | Workplace value from LinkedIn's f_WT URL parameter |
experienceLevel | string | "" | Experience-level value from LinkedIn's f_E URL parameter |
jobType | string | "" | Job-type value from LinkedIn's f_JT URL parameter |
sortBy | string | "" | Sort value from LinkedIn's sortBy URL parameter |
distance | integer | 0 | Minimum 0; zero leaves the distance filter unset |
easyApply | boolean | false | Request LinkedIn's Easy Apply filter |
earlyApplicant | boolean | false | Request LinkedIn's early-applicant filter |
Accepted forms include microsoft, https://www.linkedin.com/company/microsoft/, and 1035. Enter company targets rather than job URLs. Filter strings are passed through to LinkedIn; use its filter values, not display labels, for the coded filters. To reuse filters from a LinkedIn job-search URL, copy its parameter values into the corresponding input fields.
Pages normally contain 10 job cards. Pagination stops at the requested limit, when a page contains fewer than 10 parsed jobs, or when no new job IDs appear. A company with no jobs on its first page produces a failed row. An empty later page simply ends that company's pagination.
The Actor collects listing summaries. Use LinkedIn Job Details Scraper for descriptions, application links, and available salary or qualification fields.
LinkedIn company hiring use cases ๐ฏ
Target-account hiring research
Follow vacancies at a defined employer list and retain the company that led to each result for account-level reporting.
Role and location comparisons
Compare the titles and locations employers advertise, using the same filters and page budget across a run.
Vacancy alerts
Schedule repeat runs and compare job IDs in your own database to identify newly observed listings.
Job enrichment pipelines
Collect job URLs by company, select relevant openings, and retrieve their full public descriptions with Job Details Scraper.
Pricing and billable job rows ๐ฐ
Check the Actor's Pricing tab for the current charging model and rate.
Under dataset-item pricing, each saved job is a result. Saved failed rows can also count, including a company with no jobs on the first page or a page that remains unavailable after retries. Automatic retries do not independently create extra rows.
pagesPerCompany limits pages requested, not an exact row count. Begin with one page per company to estimate the volume for your chosen filters.
LinkedIn company jobs API and integrations ๐
Use the Actor ID from the API tab for $ACTOR_ID and your Apify token for $APIFY_TOKEN:
curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"inputList":["microsoft"],"pagesPerCompany":2,"keywords":"software engineer","location":"United States"}'
Run the same search from Apify schedules, REST, or client libraries. Send its default dataset to a spreadsheet, vacancy database, Make, Zapier, or your own reporting workflow. Job IDs provide a useful key for comparing repeated runs.
Reliability and collection limits โ ๏ธ
The Actor processes up to five requests concurrently and retries temporary request failures. An invalid company entry or an unavailable public page is saved as a failed result without stopping other companies.
A later-page failure can leave successful jobs and a failed row for the same company in the dataset. Already saved rows remain available. Duplicate suppression applies within each company's pagination, so combine results by job ID if your downstream workflow needs uniqueness across companies or runs.
Public search can change, return fewer results than requested, or omit optional card details. The dataset is a snapshot of the collected pages, not a guaranteed inventory of every vacancy at the employer.
Frequently asked questions โ
Can I use a company ID instead of a URL?
Yes. A numeric company ID searches jobs directly. Source-company name, slug, and URL stay empty because the company profile is not resolved for that input form.
Will two pages always return 20 jobs?
No. Each page normally contains 10 cards, but short pages, duplicates, unavailable results, or an early end to the search can reduce the total.
Does it return full descriptions?
It returns public job-card fields. Use Job Details Scraper with the collected IDs or URLs to retrieve available descriptions and other detail fields.
Why did a company with no vacancies produce a failed row?
An empty first page is recorded as a failed result so the submitted company remains visible. Empty pages after collected jobs end pagination without adding a failure.
Do I need a LinkedIn account?
No LinkedIn account, password, or session cookies are required.
Support, responsible use, and related actors ๐
For a reproducible issue, share the run ID, a public company input, the filters used, and the expected result through the Actor's support channel.
Use public job data in accordance with applicable privacy, copyright, contractual, and platform requirements.