Advanced LinkedIn Jobs Scraper – Fast & Affordable avatar

Advanced LinkedIn Jobs Scraper – Fast & Affordable

Pricing

from $0.70 / 1,000 jobs

Go to Apify Store
Advanced LinkedIn Jobs Scraper – Fast & Affordable

Advanced LinkedIn Jobs Scraper – Fast & Affordable

The most affordable LinkedIn job scraper on Apify. Extract 1,000+ jobs in minutes, including full details (title, company, location, description, link). Pay-as-you-go, no cookies, no hassle.

Pricing

from $0.70 / 1,000 jobs

Rating

4.3

(4)

Developer

Practical Tools

Practical Tools

Maintained by Community

Actor stats

5

Bookmarked

199

Total users

32

Monthly active users

18 days

Issues response

3 days ago

Last modified

Share

LinkedIn Jobs Scraper – $1 per 1,000 Jobs. No Login. AI Search.

Extract LinkedIn job listings with pay-per-result pricing, optional full job descriptions, and AI-powered natural language search. No LinkedIn account required.

💰 Pricing

EventCost
Job scraped$0.001 (1,000 jobs = $1.00)
Job description fetched$0.001 per description (optional)
  • No setup fees, no subscriptions, no per-run charges
  • Zero results = zero charge
  • Description fetching is opt-in — only pay for it if you enable it

📋 Output

Each job is a separate dataset item (one row per job). Download as JSON, CSV, or Excel from Apify.

Standard fields (always returned):

FieldDescription
jobIdLinkedIn's internal job posting ID
titleJob title
companyCompany name
locationJob location
datePostedPosting date
urlDirect link to the job posting
labelsBadges like "Easy Apply", "Actively Hiring"
logoCompany logo URL
discoveredAtTimestamp when the job was scraped
sourceAlways "linkedin"

Optional field (when fetchDescription: true):

FieldDescription
descriptionFull job description as plain text

🚀 How to Use

{
"keywords": "Product Manager",
"location": "San Francisco Bay Area",
"maxPages": 5
}

With job descriptions

{
"keywords": "Software Engineer",
"location": "New York",
"maxPages": 3,
"fetchDescription": true
}

Note: Enable fetchDescription when you need to filter by description content downstream. Each description costs one extra request and $0.001.

Describe your search in plain English instead of filling out individual fields:

{
"naturalLanguageQuery": "senior product manager at Google or Meta in San Francisco, remote, posted last week",
"useNaturalLanguage": true,
"openaiApiKey": "your-openai-api-key",
"fetchDescription": true
}

More examples:

  • "software engineer jobs in New York, entry level, full time"
  • "data scientist positions at startups, remote, from last week"
  • "marketing manager roles in Chicago or Austin, hybrid"

The AI (GPT-4-turbo) resolves company names to LinkedIn IDs, locations to geo IDs, and maps natural language filters to LinkedIn's search parameters. Falls back to regex parsing if the AI call fails.

Advanced filtering

{
"keywords": "Software Engineer",
"location": "United States",
"experienceLevel": ["3", "4"],
"workLocation": ["2", "3"],
"contractType": ["1"],
"timePosted": "r604800",
"sortBy": "DD",
"maxPages": 20,
"fetchDescription": true
}

Search by company names

{
"keywords": "Data Scientist",
"companyNames": ["Google", "Microsoft", "Apple"],
"timePosted": "r604800",
"maxPages": 10
}

⚙️ Input Reference

Search parameters

FieldTypeDescription
keywordsstringJob title, skills, or keywords
locationstringCity, state, or country
geoIdstringLinkedIn geo ID (overrides location)
distanceintegerSearch radius in miles (5–100)
companyNamesstring[]Company names (resolved to LinkedIn IDs)
companyIdsstring[]LinkedIn company IDs directly
industryIdsstring[]LinkedIn industry IDs

Filters

FieldTypeValues
experienceLevelstring[]1 Internship · 2 Entry · 3 Associate · 4 Mid-Senior · 5 Director · 6 Executive
workTypestring[]1 Full-time · 2 Part-time · 3 Contract · 4 Temporary · 5 Volunteer · 6 Internship
workLocationstring[]1 On-site · 2 Remote · 3 Hybrid
timePostedstringr3600 1h · r86400 24h · r604800 1w · r2592000 1mo
companySizesstring[]18 (1-10 up to 10,000+ employees)
easyApplyOnlybooleanLinkedIn Easy Apply jobs only
sortBystringR Relevance · DD Date

Behavior options

FieldTypeDefaultDescription
maxPagesinteger1Pages to scrape (10 jobs per page)
fetchDescriptionbooleanfalseFetch full job description for each job
maxRequestsPerCrawlinteger100Hard cap on HTTP requests

Tip: When fetchDescription is enabled, each job uses 2 requests (1 search + 1 detail). Set maxRequestsPerCrawl accordingly — e.g. 10 jobs needs at least 20 requests.

AI search (optional)

FieldTypeDescription
naturalLanguageQuerystringPlain English job search query
useNaturalLanguagebooleanEnable AI parsing
openaiApiKeystringYour OpenAI API key (bring your own)

Advanced

FieldTypeDescription
startUrlsarrayOverride with your own LinkedIn search URLs
linkedinParamsobjectRaw LinkedIn query params (overrides friendly fields)
proxyobjectApify proxy or custom proxy URLs

❓ FAQ

Do I need a LinkedIn account? No. The actor uses LinkedIn's public guest API — no authentication required.

Is this legal? This actor only accesses publicly available job listings that anyone can view without logging in.

When should I use fetchDescription? When you need to filter jobs by their content — required skills, responsibilities, salary info embedded in the description, etc. If you only need titles, companies, and locations, leave it off to save cost and time.

What if I get zero results? You pay nothing. Charges only apply to successfully scraped jobs and descriptions.

How does the AI search work? Your query is sent to GPT-4-turbo which extracts job title, location, company, experience level, work type, and time frame, then resolves them to LinkedIn's internal IDs. If the AI call fails, a regex fallback handles the parsing.

Do I need an OpenAI key? Only for natural language search. All other input modes work without one.

Can I use my own proxies? Yes — pass proxyUrls in the proxy field, or use Apify's residential proxy network via useApifyProxy: true.