LinkedIn Jobs Scraper - Fast, Cheap & No Login Required
Pricing
from $0.50 / 1,000 results
LinkedIn Jobs Scraper - Fast, Cheap & No Login Required
Scrape LinkedIn job postings at the lowest cost on the market, pay only per result. Extract thousands of jobs with full details, filters, deduplication, and optional company enrichment. No login required.
Pricing
from $0.50 / 1,000 results
Rating
5.0
(1)
Developer
Bhargava Sharabha Pagidimarri
Actor stats
3
Bookmarked
16
Total users
7
Monthly active users
14 days ago
Last modified
Categories
Share
Scrape LinkedIn job postings at scale with pay-per-result pricing -- only pay for the jobs you actually get. Extract hundreds of jobs with full details, advanced filters, built-in deduplication, and optional company enrichment. No login or cookies required.
Why choose this LinkedIn Jobs Scraper?
- Lowest cost on Apify -- pay-per-result pricing means zero wasted compute
- Fast & efficient -- scrapes 1,000+ jobs in minutes using LinkedIn's public API with high-concurrency pagination
- No login needed -- scrapes LinkedIn's public job pages, no accounts, cookies, or tokens required
- Rich data quality -- extracts 25+ fields per job including full descriptions, salary, recruiter info, and more
- Advanced filters -- location, distance, job type, experience level, work type, salary, and recency
- Built-in deduplication -- automatically removes duplicate listings across multiple keyword searches
- Company enrichment -- optionally fetch company description, website, employee count, and address
- Flexible output -- HTML or plain text descriptions, JSON export, dataset API access
- Two search modes -- keyword-driven search, direct LinkedIn URL crawling, or both combined
What data does it extract?
| Field | Example |
|---|---|
| Job title | Senior Software Engineer |
| Job description | Full HTML or plain text description |
| Company name & logo | Google, logo URL |
| Company LinkedIn URL | https://www.linkedin.com/company/google |
| Location | San Francisco, CA |
| Salary info | $120,000 - $180,000/yr |
| Employment type | Full-time, Contract, Internship |
| Experience level | Entry level, Mid-Senior, Director |
| Work type | Remote, Hybrid, On-site |
| Apply URL | Direct application link |
| Apply type | Easy Apply or External |
| Posted time | 2 days ago |
| Applicants count | Over 200 applicants |
| Recruiter name & profile | Jane Smith, LinkedIn URL |
| Industry/sector | Information Technology |
| Company details (optional) | Description, website, employee count, address |
Use cases
- Job seekers -- aggregate and monitor job openings across multiple searches and locations
- Recruiters & HR -- build talent pipelines, track competitor job postings, and analyze hiring trends
- Market research -- analyze employment trends, skill demand, salary ranges, and remote work adoption
- Business intelligence -- monitor competitor hiring activity and workforce expansion signals
- Data analysis -- extract structured job market data for dashboards, reports, and visualizations
- Lead generation -- identify hiring companies and decision-makers for B2B outreach
Input
| Field | Type | Description |
|---|---|---|
startUrls | array | LinkedIn job search URLs to crawl |
keyword | array | Keywords to search (e.g., "Software Engineer") |
location | string | Location to search in (e.g., "New York, NY") |
distance | string | Search radius: 5, 10, 15, 25, or 50 miles |
publishedAt | string | r86400 (24h), r604800 (1 week), r2592000 (1 month) |
jobType | array | full-time, part-time, contract, temporary, internship |
experienceLevel | array | internship, entry-level, associate, mid-senior, director |
workType | array | on-site, remote, hybrid |
salaryBase | string | Minimum salary: 40000, 60000, 80000, 100000, 120000 |
maxItems | integer | Maximum results (default: 500) |
saveOnlyUniqueItems | boolean | Remove duplicate jobs (default: false) |
cleanDescription | boolean | Plain text descriptions instead of HTML (default: false) |
enrichCompanyData | boolean | Fetch extra company details (default: false) |
Example Input
{"keyword": ["Software Engineer", "Data Scientist"],"location": "New York, NY","publishedAt": "r604800","jobType": ["full-time"],"experienceLevel": ["mid-senior"],"workType": ["remote", "hybrid"],"maxItems": 200,"saveOnlyUniqueItems": true}
Output
Each scraped job is stored as a structured JSON object:
{"jobId": "3856789012","jobTitle": "Senior Software Engineer","jobUrl": "https://www.linkedin.com/jobs/view/3856789012","jobDescription": "<p>We are looking for a Senior Software Engineer...</p>","companyName": "Google","companyId": "google","companyUrl": "https://www.linkedin.com/company/google","companyLogo": "https://media.licdn.com/dms/image/...","location": "San Francisco, CA","postedTime": "2 days ago","publishedAt": "2 days ago","applicationsCount": "Over 200 applicants","contractType": "Full-time","experienceLevel": "Mid-Senior level","workType": "Remote","sector": "Information Technology","salaryInfo": ["$120,000 - $180,000/yr"],"applyType": "Easy Apply","applyUrl": "https://www.linkedin.com/jobs/view/3856789012/apply","posterFullName": "Jane Smith","posterProfileUrl": "https://www.linkedin.com/in/janesmith","searchString": "Software Engineer","companyDescription": "A multinational technology company...","companyWebsite": "https://about.google","companyEmployeeCount": 150000,"companyAddress": {"street": "1600 Amphitheatre Parkway","city": "Mountain View","region": "CA","postalCode": "94043","country": "United States"}}
Usage examples
Search by keyword with filters
Search for remote Data Scientist jobs posted in the last week:
{"keyword": ["Data Scientist"],"location": "United States","publishedAt": "r604800","workType": ["remote"],"maxItems": 100}
Using start URLs
Provide LinkedIn search URLs directly:
{"startUrls": [{ "url": "https://www.linkedin.com/jobs/search/?keywords=python+developer&location=London" },{ "url": "https://www.linkedin.com/jobs/search/?keywords=java+developer&location=Berlin" }],"maxItems": 500}
Combine keywords with start URLs
Use both methods together for maximum coverage:
{"keyword": ["Product Manager", "Program Manager"],"startUrls": [{ "url": "https://www.linkedin.com/jobs/search/?keywords=scrum+master&location=Austin" }],"location": "United States","publishedAt": "r2592000","saveOnlyUniqueItems": true,"maxItems": 1000}
With company enrichment
Get full company details along with job postings:
{"keyword": ["Product Manager"],"location": "San Francisco, CA","experienceLevel": ["mid-senior", "director"],"enrichCompanyData": true,"maxItems": 50}
Plain text descriptions
Get clean, plain text job descriptions instead of HTML:
{"keyword": ["Full Stack Developer"],"location": "United States","cleanDescription": true,"maxItems": 100}
How much does it cost?
This Actor uses pay-per-result pricing. You only pay for the job listings you actually receive -- no charges for failed requests or empty pages.
| Results | Estimated Cost |
|---|---|
| 100 jobs | ~$0.07 |
| 500 jobs | ~$0.35 |
| 1,000 jobs | ~$0.70 |
Set a max charge limit when starting a run to control your budget. The Actor automatically stops when your limit is reached.
Tips for getting more results
- Use multiple specific keywords instead of one broad term (e.g., "React Developer", "Frontend Engineer", "JavaScript Developer" instead of just "Developer")
- Set
publishedAttor2592000(past month) for larger result sets - Combine
startUrlswithkeywordsearches for maximum coverage - Enable
saveOnlyUniqueItemsto avoid paying for duplicate listings across searches - Use multiple locations or leave location empty for global results
How it works
- Search pagination -- The Actor uses LinkedIn's public search API to paginate through all available results (up to 1,000 per keyword/URL)
- Job detail extraction -- Each job listing is visited to extract the full set of 25+ data fields
- Deduplication -- Job IDs are tracked across all searches to eliminate duplicates
- Company enrichment (optional) -- Company pages are scraped with built-in caching to avoid redundant requests
- Billing control -- Pay-per-event limits are checked after each result to respect your budget
Limitations
- LinkedIn caps search results at 1,000 per query. Use multiple keywords to get more results.
- Public pages only -- some data fields may have limited availability compared to logged-in scraping.
- Residential proxies recommended -- LinkedIn blocks datacenter IP ranges. The Actor automatically selects the best available proxy.
FAQ
Do I need a LinkedIn account? No. This Actor scrapes LinkedIn's public job pages, which are accessible without login.
Why am I getting fewer results than expected? LinkedIn limits public search results to 1,000 per query. If your search is very specific or recent (past 24 hours), fewer jobs may be available. Try broadening your filters or using multiple keywords.
What's the difference between HTML and plain text descriptions?
By default, job descriptions include HTML formatting (bold, lists, links). Enable cleanDescription to get plain text, which is easier to process programmatically but loses formatting.
How does company enrichment work? When enabled, the Actor visits each company's LinkedIn page to fetch additional details. Results are cached per company, so if multiple jobs are from the same company, the page is only fetched once.