LinkedIn Job Scraper - No cookies required
Pricing
from $0.80 / 1,000 scraped jobs
LinkedIn Job Scraper - No cookies required
Scrape LinkedIn jobs without login. Get full descriptions, hiring urgency scores, applicant competition, salary, benefits, seniority & recruiter contacts. Try it today!
Pricing
from $0.80 / 1,000 scraped jobs
Rating
0.0
(0)
Developer
Harsh Shah
Actor stats
1
Bookmarked
18
Total users
9
Monthly active users
10 days ago
Last modified
Categories
Share
LinkedIn Job Postings Scraper
Scrapes job listings from LinkedIn's public job search with full descriptions, hiring urgency scoring, applicant competition levels, and recruiter contact data — all without requiring a LinkedIn account.
What makes this actor different
Most LinkedIn job scrapers return basic card data: title, company, location. This actor goes deeper with a two-phase enrichment pipeline:
| Feature | Basic scrapers | This actor |
|---|---|---|
| Job title, company, location | Yes | Yes |
| Full job description | No | Yes (2K-8K chars) |
| Applicant count & competition level | No | Yes (low/medium/high/very_high) |
| Seniority level | No | Yes (Associate, Mid-Senior, Director, etc.) |
| Employment type | No | Yes (Full-time, Contract, Internship) |
| Job function & industry | No | Yes |
| Salary / pay range | No | Yes (when company provides it) |
| Benefits | No | Yes (Medical, 401k, etc. when listed) |
| Recruiter name, title & LinkedIn profile | No | Yes (when available) |
| Hiring urgency scoring | No | Yes (fresh/normal/high/critical) |
| Applicant competition level | No | Yes (parsed from applicant counts) |
| Repost detection | No | Yes |
How it works
Phase 1 — Search: Queries LinkedIn's public job search API to collect job cards with title, company, location, posting date, and job ID.
Phase 2 — Enrichment: For each job, fetches the full job detail page to extract the complete description, applicant count, seniority level, employment type, job function, industry, salary, benefits, and recruiter information.
Scoring: Applies hiring urgency scoring based on how long a job has been open and how many roles a company has listed. Jobs open 30+ days are flagged as critical — these companies are struggling to fill the position and are the warmest outbound leads.
No browser, no login, no cookies required. Pure API-based scraping with minimal resource usage.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | string | Yes | - | Job search keywords (e.g. "seo manager", "software engineer") |
location | string | No | "" | Location filter (e.g. "United States", "New York", "Remote") |
maxListings | integer | No | 100 | Maximum number of jobs to scrape (1-1000) |
datePosted | enum | No | "any" | Time filter: today, 3days, week, month, any |
enrichDetails | boolean | No | true | Fetch full descriptions, applicant counts, recruiter data. Adds ~1.5s per job. |
requestDelayMs | integer | No | 1500 | Delay between requests in milliseconds (500-10000) |
Output format
Each job record contains the following fields:
{"job_id": "4383916783","job_title": "Manager, Search Engine Marketing","company_name": "Apryse","company_linkedin_url": "https://www.linkedin.com/company/aprysesolutions","location": "Georgia, United States","date_posted": "2026-03-12","days_listed": 10,"apply_url": "https://www.linkedin.com/jobs/view/...-4383916783","description": "Full job description text with responsibilities, qualifications...","seniority_level": "Not Applicable","employment_type": "Full-time","job_function": "Marketing and Sales","industries": "Software Development","applicant_count": "43 applicants","applicant_competition": "medium","salary_range": "$97,000.00/yr - $135,000.00/yr","benefits": ["Medical insurance", "Vision insurance", "Dental insurance", "401(k)"],"recruiter_name": "Jane Smith","recruiter_title": "Talent Acquisition Manager at Apryse","recruiter_profile_url": "https://www.linkedin.com/in/jane-smith","hiring_urgency": "normal","is_likely_repost": false,"company_open_roles": 1,"search_query": "seo manager","search_location": ""}
Output field reference
| Field | Type | Description |
|---|---|---|
job_id | string | Unique LinkedIn job ID |
job_title | string | Job title as posted |
company_name | string | Hiring company name |
company_linkedin_url | string | Company's LinkedIn page URL |
location | string | Job location |
date_posted | string | ISO date when the job was posted |
days_listed | number | Days since posting (-1 if unknown) |
apply_url | string | Direct link to the LinkedIn job posting |
description | string/null | Full job description (plain text, requires enrichDetails: true) |
seniority_level | string/null | Associate, Mid-Senior, Director, etc. |
employment_type | string/null | Full-time, Contract, Internship, etc. |
job_function | string/null | Marketing, Engineering, Sales, etc. |
industries | string/null | Software Development, Hospitality, etc. |
applicant_count | string/null | Raw applicant text (e.g. "43 applicants", "Over 200 applicants") |
applicant_competition | string | Parsed competition level: low, medium, high, very_high, unknown |
salary_range | string/null | Salary range when company provides it (e.g. "$97,000/yr - $135,000/yr") |
benefits | array/null | Listed benefits (e.g. Medical insurance, 401k) when available |
recruiter_name | string/null | Name of the job poster/recruiter when available |
recruiter_title | string/null | Recruiter's title and company |
recruiter_profile_url | string/null | Recruiter's LinkedIn profile URL |
hiring_urgency | string | fresh (0-2d), normal (3-13d), high (14-29d), critical (30+d) |
is_likely_repost | boolean | True if company has 4+ listings (high-volume hiring signal) |
company_open_roles | number | How many jobs this company has in the current result set |
search_query | string | The search query used |
search_location | string | The location filter used |
Hiring urgency scoring
The actor scores each listing based on how long it has been open and how aggressively the company is hiring:
| Urgency | Days Listed | What it means |
|---|---|---|
fresh | 0-2 days | Just posted. Company is starting their search. |
normal | 3-13 days | Standard hiring timeline. Most jobs get filled here. |
high | 14-29 days | Role is getting stale. Company may be struggling to fill it. |
critical | 30+ days | Open over a month. High pain — warmest outbound lead. |
Companies with 3+ open roles in your result set get boosted urgency. Companies with 4+ roles are flagged as is_likely_repost: true.
Applicant competition levels
| Level | Applicants | What it means |
|---|---|---|
low | < 25 | Low competition. Early mover advantage. |
medium | 25-99 | Moderate competition. Standard application pool. |
high | 100-199 | High competition. Need a strong differentiator. |
very_high | 200+ | Very competitive. Consider alternative approaches. |
Use cases
- Sales & lead generation: Find companies with
criticalurgency hiring for roles your product/service supports. They have a proven pain point. - Job seekers: Filter by
lowcompetition andfreshurgency to find new listings with few applicants. - Recruiters: Identify companies struggling to fill roles (30+ days open) as potential recruitment clients.
- Market research: Track hiring trends by industry, function, seniority level, and location over time.
- Competitive intelligence: Monitor competitor hiring patterns to understand their strategic priorities.
Performance and resource usage
This actor uses no browser and no JavaScript rendering. It makes direct HTTP requests, resulting in minimal resource consumption:
| Listings | Approximate runtime | Memory |
|---|---|---|
| 50 | ~90 seconds | 256 MB |
| 100 | ~3 minutes | 256 MB |
| 500 | ~15 minutes | 256 MB |
| 1000 | ~30 minutes | 256 MB |
Runtime is dominated by request delays (configurable via requestDelayMs), not computation.
Tips for best results
- Use specific search queries. "Senior SEO Manager" will return more relevant results than "marketing".
- Combine with date filters. Use
datePosted: "week"to focus on fresh listings, ordatePosted: "month"to find stale listings with high urgency. - Set
enrichDetails: true(default) to get full descriptions and applicant data. Only set tofalseif you just need basic listing data quickly. - Increase
requestDelayMsto 2000-3000 if you encounter rate limiting on large scrapes. - Schedule recurring runs to build a longitudinal dataset and track how hiring urgency changes over time.
Limitations
- Salary data is only available when the company explicitly provides it (~10-15% of listings).
- Recruiter data is only available when the job poster opts in to the "Message the recruiter" feature (~10% of listings).
- Benefits are shown on a subset of listings.
- Results are limited to what LinkedIn's public job search returns. Some listings may only be visible to logged-in users.