LinkedIn Jobs Scraper + Apollo Enrichment avatar

LinkedIn Jobs Scraper + Apollo Enrichment

Pricing

from $5.00 / 1,000 results

Go to Apify Store
LinkedIn Jobs Scraper + Apollo Enrichment

LinkedIn Jobs Scraper + Apollo Enrichment

Scrape LinkedIn job listings and automatically enrich company data + find decision makers via Apollo.io. No login required. Outputs job details, company profiles, and contacts in Google Sheets-ready format.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Minkesh Patel

Minkesh Patel

Maintained by Community

Actor stats

1

Bookmarked

7

Total users

5

Monthly active users

3 hours ago

Last modified

Share

Scrape LinkedIn job listings from search URLs or direct job page URLs — no login, no cookies required. Automatically enriches company data and finds decision maker contacts via Apollo.io.

Built by Minkesh Patel | minkesh.patel@getoncrm.com | +917405042484

✨ Key Features

  • No login required – uses LinkedIn's public guest API
  • Dual input modes – bulk scrape from search URLs OR scrape specific job pages
  • Full job details – title, company, location, salary, description, employment type, seniority, industry
  • Job poster info – recruiter name, title, and LinkedIn URL (via secondary page fetch)
  • AI-ready summary – each job includes a pre-formatted jobSummary field ready to paste into any AI tool
  • Google Sheets ready – flat JSON, exportable as CSV in one click
  • Auto-deduplication – no duplicate jobs even across multiple search pages
  • Pagination support – automatically scrapes multiple pages to reach your maxJobs target
  • Location & filter aware – respects location, remote/on-site, job type, date posted, and experience level filters from your search URL
  • Apollo company enrichment – website, phone, employee count, industry, tech stack, and more
  • Apollo contact enrichment – find decision makers by title at each company (FREE with Apollo key)

📋 Output Fields

FieldDescription
jobIdLinkedIn job ID
jobUrlDirect link to the job posting
titleJob title
companyNameCompany name
companyLinkedinUrlLinkedIn company page URL
jobLocationJob location
postedAtWhen the job was posted
applicantsCountNumber of applicants
employmentTypeFull-time, Part-time, Contract, etc.
seniorityLevelEntry, Mid, Senior, Director, etc.
jobFunctionJob function category
industriesIndustry category
salarySalary range (if listed)
applyUrlExternal apply link
jobPosterNameRecruiter / hiring manager name
jobPosterTitleRecruiter / hiring manager title
jobPosterLinkedinUrlRecruiter LinkedIn profile URL
descriptionTextFull job description text
jobSummaryAI-ready pre-formatted summary
apolloCompanyIdApollo.io company ID
companyWebsiteCompany website
companyPhoneCompany phone number
companyEmployeeCountNumber of employees
companyIndustryIndustry (from Apollo)
companyCity / companyState / companyCountryCompany location
companyDescriptionCompany description
companyTwitterUrlCompany Twitter/X URL
companyFacebookUrlCompany Facebook URL
companyAnnualRevenueAnnual revenue (from Apollo)
companyTechStackTechnologies used (from Apollo)

⚙️ Input Parameters

ParameterTypeDefaultDescription
searchUrlsarrayOne or more LinkedIn job search URLs. Apply all your filters in LinkedIn first, then copy the URL.
directJobUrlsarrayDirect LinkedIn job page URLs to scrape specific postings.
maxJobsinteger25Maximum number of jobs to scrape. The actor paginates automatically (10 jobs per page) to reach this limit.
scrapeJobDetailsbooleantrueFetch full job description and metadata. If disabled, only basic info is returned.
includeJobSummarybooleantrueAdd a pre-formatted jobSummary field to each result.
apolloApiKeystringYour Apollo.io API key. Required for company and contact enrichment.
enrichContactsbooleanfalseEnable Apollo People Search to find decision makers at each company. FREE – no Apollo credits required. Requires apolloApiKey and contactTitles to be set.
contactTitlesarrayJob titles to search for at each company (e.g. ["VP of Sales", "CTO", "Director of Engineering"]). Required when enrichContacts is true.
contactsPerCompanyinteger3Max contacts to find per company (1–10).
enrichContactEmailsbooleanfalseFetch verified email addresses for each contact. Costs 1 Apollo credit per contact.
enrichContactPhonesbooleanfalseFetch phone numbers for each contact. Costs 1 Apollo credit per contact.
requestDelayMininteger3000Minimum delay between requests in ms (recommended: 3000+).
requestDelayMaxinteger8000Maximum delay between requests in ms.

🔍 How Location & Filters Work

The actor reads all filter parameters directly from your search URL — location, remote/on-site, job type, date posted, experience level, etc. are all passed through automatically.

Best practice: Go to linkedin.com/jobs/search, apply all the filters you need using LinkedIn's UI, then copy the full URL and paste it into searchUrls.

Example URL with filters:

https://www.linkedin.com/jobs/search/?keywords=Salesforce+Revenue+Cloud&location=Texas&f_WT=2&f_JT=F&f_TPR=r2592000
  • location=Texas → filters to Texas
  • f_WT=2 → Remote only
  • f_JT=F → Full-time only
  • f_TPR=r2592000 → Posted in last 30 days

💡 Example API Payload

{
"searchUrls": [
"https://www.linkedin.com/jobs/search/?keywords=Salesforce%20Revenue%20Cloud%20Developer&location=Texas&f_WT=2&f_JT=F&f_TPR=r2592000"
],
"maxJobs": 25,
"scrapeJobDetails": true,
"includeJobSummary": true,
"apolloApiKey": "YOUR_APOLLO_API_KEY",
"enrichContacts": true,
"contactTitles": ["VP of Sales", "CTO", "Director of Engineering", "Head of Salesforce"],
"contactsPerCompany": 3,
"enrichContactEmails": true,
"enrichContactPhones": false,
"requestDelayMin": 3000,
"requestDelayMax": 8000
}

📝 Notes

  • Job poster fields (jobPosterName, jobPosterTitle, jobPosterLinkedinUrl) are fetched from the full public job page. They may be empty if LinkedIn requires login to view the recruiter card for that posting.
  • Apollo People Search is FREE — finding contacts does not consume Apollo credits. Only email enrichment (enrichContactEmails) and phone enrichment (enrichContactPhones) cost credits (1 credit per contact).
  • maxJobs is now fully respected — the actor paginates through LinkedIn search results (10 per page) until it reaches your target or LinkedIn runs out of results.
  • Rate limiting — keep requestDelayMin at 3000ms or higher to avoid being blocked by LinkedIn.
  • Contacts are output to a separate dataset named linkedin-contacts for easy access.