Advanced LinkedIn Job Scraper avatar

Advanced LinkedIn Job Scraper

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Advanced LinkedIn Job Scraper

Advanced LinkedIn Job Scraper

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

API Empire

API Empire

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

πŸš€ Advanced LinkedIn Job Scraper

Scrape thousands of LinkedIn jobs with rich, normalized output β€” keyword + location + company + industry + salary filters, full company profiles, and apply URLs.

Built for recruiters, talent intelligence teams, market researchers and engineers who need clean, structured LinkedIn job data without writing or maintaining their own scraper.


✨ Why choose this Actor?

  • ⚑ Fast, async, autoscaling β€” built on aiohttp with adaptive retries and per-item live saving so a crash never loses already-scraped jobs.
  • πŸ›‘οΈ Smart proxy fallback β€” defaults to no proxy, automatically escalates to Apify datacenter then residential proxies the moment LinkedIn pushes back.
  • 🏒 Full company enrichment β€” every job includes company name, logo, website, employee count, follower count, industries, locations, and background cover.
  • πŸ’° Salary, applicants, experience level, workplace type β€” every field you'd see on a job card, normalized into one consistent JSON shape.
  • 🎯 Powerful filters β€” job title, location, company, workplace type (remote/hybrid/onsite), employment type, experience, salary band, posting recency, industry, easy-apply, early-applicant.
  • πŸ“¦ Bulk-friendly β€” supply lists of keywords, locations and companies; every combination is searched and de-duplicated.

πŸ”‘ Key features

  • πŸ” Search by keyword + location + company in one run
  • 🌍 Filter by on-site / hybrid / remote
  • πŸ’Ό Filter by employment type (full-time, part-time, contract, temporary, internship)
  • 🎯 Filter by experience level (intern β†’ executive)
  • πŸ’΅ Filter by minimum salary ($40K β†’ $200K+)
  • ⏰ Filter by posting recency (past hour / 24h / week / month)
  • 🏭 Filter by industry IDs
  • πŸ₯‡ Filter to less-than-10-applicants jobs (early-bird hiring)
  • βœ… Filter to Easy Apply only
  • πŸ”ƒ Sort by relevance or date
  • πŸ“Š Per-job dataset row saved incrementally β€” no work lost on a crash
  • πŸ–₯️ Multiple table views in the Apify Console: Overview, Company Profiles, Salary & Apply Info, Descriptions

πŸ“₯ Input

{
"searchKeywords": ["software engineer", "data scientist"],
"locations": ["California", "New York"],
"companyUrls": [
"https://www.linkedin.com/company/google",
"Netflix"
],
"maxItems": 50,
"workplaceType": ["remote", "hybrid"],
"employmentType": ["full_time", "contract"],
"experienceLevel": ["mid-senior", "director"],
"salary": ["120k+"],
"postedLimit": "week",
"sortBy": "date",
"easyApply": false,
"under10Applicants": false,
"industryIds": ["4", "5", "6"],
"geoIds": [],
"page": 1,
"li_at": "AQED...YOUR_COOKIE_HERE...",
"requestDelaySeconds": 1,
"proxyConfiguration": { "useApifyProxy": false }
}
FieldTypeDescription
searchKeywordsarray (required)Job titles or keywords to search
locationsarrayCities, states, countries to search in
companyUrlsarrayLinkedIn company URLs or names to filter by
maxItemsintegerMax jobs per keyword Γ— location combo (0 = unlimited)
workplaceTypearrayon_site, remote, hybrid
employmentTypearrayfull_time, part_time, contract, temporary, internship
experienceLevelarrayinternship, entry, associate, mid-senior, director, executive
salaryarrayMinimum salary tier: 40k+ through 200k+
postedLimitstring"", 1h, 24h, week, month
sortBystringrelevance (default) or date
easyApplybooleanRestrict to Easy Apply jobs only
under10ApplicantsbooleanRestrict to jobs with <10 applicants
industryIdsarrayLinkedIn industry IDs (e.g. 4 Software Dev)
geoIdsarrayLinkedIn geo IDs β€” overrides locations
pageintegerStart page (each page = 25 jobs)
li_atstring (required, secret)Your LinkedIn li_at session cookie
requestDelaySecondsintegerBase delay between job-detail requests
proxyConfigurationobjectProxy config β€” default is no proxy with auto-fallback

πŸ“€ Output

Each job is pushed to the default dataset as a row with this shape:

{
"id": "4406580591",
"title": "Software Engineer, ML Fleet Intelligence",
"linkedinUrl": "https://www.linkedin.com/jobs/view/4406580591/",
"jobState": "LISTED",
"postedDate": "2026-05-20T11:53:33.000Z",
"headerCaptionText": "Google\nSunnyvale, CA\n2 days ago\nBe among the first 25 applicants\nSee who Google has hired for this role",
"descriptionText": "Minimum qualifications: ...",
"descriptionHtml": "Minimum qualifications:\n\n...",
"location": {
"linkedinText": "Sunnyvale, CA",
"countryCode": "us",
"parsed": {
"text": "Sunnyvale, CA, United States",
"countryCode": "US",
"country": "United States",
"state": "California",
"city": "Sunnyvale"
}
},
"employmentType": "full_time",
"workplaceType": "on_site",
"easyApplyUrl": null,
"applyMethod": {
"companyApplyUrl": "https://careers.google.com/...",
"type": "OffsiteApply"
},
"applicants": 0,
"company": {
"id": "1441",
"universalName": "google",
"name": "Google",
"logo": "https://media.licdn.com/...",
"employeeCount": 342897,
"followerCount": 41681887,
"industries": [{ "name": "Software Development" }],
"locations": [...]
},
"salary": { "text": null, "min": null, "max": null },
"industries": ["Information Services", "Technology, Information and Internet"],
"experienceLevel": "",
"benefits": [],
"query": { ... },
"_meta": { "pagination": { ... } }
}

The dataset comes with four prebuilt views in the Apify Console:

  1. πŸ“‹ Overview β€” id, title, company, location, salary, applicants, posted date
  2. 🏒 Company Profiles β€” id, title, full company object
  3. πŸ’° Salary & Apply Info β€” id, title, salary, apply URLs, applicant counts
  4. πŸ“ Job Descriptions β€” id, title, full description text, industries, benefits

πŸš€ How to use the Actor (via Apify Console)

  1. Log in at console.apify.com β†’ Actors.
  2. Open Advanced LinkedIn Job Scraper.
  3. Paste your li_at cookie (get it from DevTools β†’ Application β†’ Cookies on linkedin.com).
  4. Add search keywords (e.g. software engineer) and locations (e.g. California).
  5. Optionally narrow with workplace type, employment type, salary, experience, company, industry, etc.
  6. Click Start.
  7. Watch live progress in the Log tab β€” jobs stream to the Dataset tab as they're scraped.
  8. Export to JSON / CSV / Excel / XML / RSS from the dataset, or pull them via the Apify API.

πŸ›‘οΈ Proxy strategy

By default the scraper runs with no proxy (your run IP). When LinkedIn returns a block-style response (HTTP 401/403/429), the scraper:

  1. πŸ” Falls back to Apify datacenter proxy, retries the same request.
  2. 🏠 If datacenter is still blocked, falls back to Apify residential proxy, with up to 3 retries.
  3. πŸ”’ Once a fallback occurs, the new proxy is sticky for the rest of the run so you don't keep paying datacenter cost when datacenter is blocked.

Every fallback is logged so you can see exactly what happened in the Log tab.


πŸ’‘ Best use cases

  • πŸ“ˆ Track open roles at competitor companies
  • πŸ§‘β€πŸ’Ό Build a recruiting pipeline of warm leads
  • πŸ”¬ Salary & compensation research
  • πŸ“Š Hiring-trends analysis by industry / region
  • πŸ€– Feed structured job data into your own ATS or AI pipeline

❓ Frequently asked questions

Do I need a LinkedIn premium account? No, a regular free LinkedIn account works. You just need the li_at cookie from a logged-in browser session.

Why is li_at required? LinkedIn's full job API requires a session. The li_at cookie identifies your session. It's stored encrypted by Apify and never logged.

How many jobs can I scrape per run? LinkedIn caps search results at around 1000 per query. Use maxItems plus narrow filters (location, industry, salary) to stay within healthy limits.

Will my LinkedIn account get banned? The scraper uses jittered delays, retries with backoff, and proxy fallback to stay polite. Risk is low at default settings but never zero β€” use a non-primary account for heavy scraping.

Can I scrape specific company pages? Yes β€” pass full LinkedIn company URLs (or plain names) in companyUrls. Results are filtered to those employers.

What if a location returns no jobs? Try the country name instead of a city (e.g. United States rather than San Francisco), or use a numeric geoId from a LinkedIn job-search URL.


πŸ›Ÿ Support and feedback

Issues, feature requests and dataset samples β€” please file via the Actor's Issues tab on the Apify Store, or contact support through your Apify Console account.


  • This Actor only retrieves publicly listed jobs.
  • You are responsible for complying with LinkedIn's Terms of Service, GDPR/CCPA, and any applicable scraping or data-protection laws in your jurisdiction.
  • Do not use scraped data for spam, harassment, or unauthorized outreach.