LinkedIn Job Listings Scraper
Pricing
from $5.00 / 1,000 job scrapeds
LinkedIn Job Listings Scraper
Scrape LinkedIn jobs - Search by keyword, location, company, salary, posted-date, remote, easy-apply. Full descriptions, salary range, direct apply URLs. Multi-keyword search, auto-deduplication, pay only for results. No API key
Pricing
from $5.00 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Pika Choo
Actor stats
1
Bookmarked
12
Total users
4
Monthly active users
a day ago
Last modified
Categories
Share
LinkedIn Jobs Scraper
Scrape LinkedIn job listings at $0.005 per job — search by keyword, location, company, posted-date, easy-apply and more. Pay only for results you receive.
Features
- Cheap LinkedIn jobs scraping — $0.005/job ($5 per 1,000 jobs)
- Multi-keyword search — run up to 5 queries in one go, results merged and deduplicated
- Rich job data — title, company, location, salary range, job type, remote flag, posted date, direct apply URL
- Full descriptions — optional flag to fetch complete markdown/HTML descriptions per posting
- Targeted search — filter by specific LinkedIn company IDs, distance radius, hours since posting, easy-apply, remote, job type
- Salary normalization — auto-convert hourly/monthly pay to annual for easy comparison
- Pagination — offset support for sweeping through large result sets
- Auto-deduplication — same job listed twice is collapsed to one row
- Pay-per-result — billed only on jobs returned in the dataset, never on failures
- Spending cap —
ACTOR_MAX_TOTAL_CHARGE_USDhonored to prevent runaway cost
Pricing
| Event | Price |
|---|---|
job-scraped | $0.005 per job |
100 jobs → $0.50. 1,000 jobs → $5.00. 10,000 jobs → $50.
Inputs
| Field | Type | Description |
|---|---|---|
searchTerm | string | Job title or keyword (e.g. "software engineer") |
searchTerms | array (max 5) | Multiple OR-merged queries |
location | string | City, state, or country (e.g. "New York, NY") |
maxResults | int (1–5000) | Max jobs per search term (default 100) |
isRemote | bool | Remote-only filter |
jobType | enum | fulltime / parttime / contract / internship / temporary |
hoursOld | int | Only jobs posted within last N hours |
distance | int | Search radius in miles |
offset | int | Skip first N results |
easyApply | bool | One-click apply jobs only |
linkedinFetchDescription | bool | Fetch full descriptions |
linkedinCompanyIds | array | Restrict to specific company IDs |
descriptionFormat | enum | markdown (default) or html |
enforceAnnualSalary | bool | Normalize salaries to annual |
proxyConfiguration | object | Apify proxy (residential recommended) |
Output
Each row contains: title, company, location, job_url, job_url_direct, description, salary_min, salary_max, salary_currency, salary_interval, job_type, is_remote, date_posted, company_industry, company_logo, skills, experience_range, vacancy_count, work_from_home_type, plus search metadata.
Tips
- Up to 5,000 jobs per search term, 25,000 per run (5 terms × 5,000).
- For runs above 100 jobs, always use residential proxies — LinkedIn rate-limits IPs aggressively.
- Large runs (>1,000 jobs) may take 10+ minutes; bump the run timeout to 3,600 s if needed.
- LinkedIn may return fewer than requested — you're only charged for jobs actually delivered.
- Combining
hoursOldwitheasyApplyis unsupported by LinkedIn; the scraper auto-dropseasyApplyand warns. - Set
ACTOR_MAX_TOTAL_CHARGE_USDenv var to cap spend per run.