LinkedIn Jobs Scraper [FAST] | Search & Job Details avatar

LinkedIn Jobs Scraper [FAST] | Search & Job Details

Pricing

from $0.15 / 1,000 job listing scrapeds

Go to Apify Store
LinkedIn Jobs Scraper [FAST] | Search & Job Details

LinkedIn Jobs Scraper [FAST] | Search & Job Details

Scrape public LinkedIn jobs by keyword and location, or fetch full details from job URLs. Run multiple searches, filter by date and title, and export via Dataset or Standby API. No login required. $0.00015 per delivered listing or $0.0004 per detailed job. No result-event charge for empty searches.

Pricing

from $0.15 / 1,000 job listing scrapeds

Rating

0.0

(0)

Developer

Apizy

Apizy

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

2 hours ago

Last modified

Categories

Security

Limited permissions

Share

LinkedIn Jobs Scraper

Search public LinkedIn jobs by keyword and location, filter by posting date and title, or collect full job descriptions from known job IDs and URLs. Run several searches together and get clean, deduplicated job rows in an Apify Dataset. For an immediate JSON response, call the Standby HTTP API. No LinkedIn login or browser is required.

Use it to monitor hiring, research companies and job markets, build recruiting workflows, compare skill demand, or give an AI assistant real job descriptions to analyze. Result events are charged only for jobs delivered: $0.00015 per listing or $0.0004 per full-detail job. Failed, filtered, duplicate, and empty results have no result-event charge.

What does LinkedIn Jobs Scraper do?

ModeWhat you provideWhat you get
SearchA job phrase and location, or up to 10 keyword/location pairsPublic job listings with title, company, location, posting date, and URL
Search with full detailsSearch input plus fullDetail: trueListings enriched with full descriptions and available job criteria
Job details1–50 LinkedIn job IDs or public job URLsFull details for each available job

Search can scan multiple keyword/location pairs in one run, alternate between them, and save each job ID once. maxResults is the total cap across all searches, not a cap per keyword. Detail mode deduplicates repeated IDs before fetching. By default, a search keeps only jobs whose title contains every keyword as a whole term. Turn off Require every keyword in job title if you want LinkedIn's broader related results.

What can you use it for?

  • Find relevant openings: Search for roles in a city, country, or worldwide and filter to the last day, week, or month.
  • Monitor hiring demand: Repeat a search over time to see which roles, technologies, and companies appear.
  • Research a job market: Compare the same role across locations or compare several roles in one run.
  • Build a recruiting pipeline: Send structured job rows to a spreadsheet, CRM, Make, n8n, Zapier, or your own application.
  • Analyze skills and requirements: Collect descriptions and criteria to find recurring tools, experience levels, and responsibilities.
  • Explore product opportunities: Look for problems companies are hiring people to solve before building a new service or AI-assisted product.
  • Create better job alerts: Filter broad LinkedIn search results by posting period and title before notifying your users.
  • Enrich known jobs: Give the Actor job URLs from a watchlist and collect the public details in one batch.

How to use

  1. Choose Search or Job details in the input form.
  2. For Search, enter a phrase and location. Add searches when you want several keyword/location pairs in one run.
  3. Set a posting period or additional title filters if needed. Enable Fetch full job details when you need descriptions and criteria.
  4. Click Run. Open the Dataset for job rows and Output for counts, errors, and the stop reason.

For a direct JSON response, use the HTTP API (Standby) below.

Which input should you use?

GoalModeMain fieldsResult event
Find software engineer openings in SingaporeSearchkeywords, location, maxResultsListing: $0.00015 per delivered job
Monitor several roles this weekSearchsearches, datePosted: "pastWeek"Listing: $0.00015 per delivered job
Read descriptions for matching rolesSearchfullDetail: trueDetail: $0.0004 per delivered job
Include related roles beyond the keyword titleSearchrequireAllKeywordsInTitle: falseListing or Detail, according to fullDetail
Refine title matches furtherSearchtitleIncludes, titleExcludesListing or Detail, according to fullDetail
Enrich a list of known jobsJob detailsjobUrlsDetail: $0.0004 per delivered job

The table shows result-event prices. Actor Start and Apify platform usage are separate.

Input examples

Find jobs by keyword and location

{
"mode": "search",
"keywords": "software engineer",
"location": "Singapore",
"maxResults": 20,
"fullDetail": false
}

This saves up to 20 unique listings. The source may return fewer. location: "Worldwide" removes the location filter.

Monitor several roles posted in the past week

{
"mode": "search",
"searches": [
{ "keywords": "React Developer", "location": "Singapore" },
{ "keywords": "Node.js Developer", "location": "Australia" }
],
"datePosted": "pastWeek",
"maxResults": 100,
"fullDetail": false
}

When searches is provided, it replaces the single keywords and location fields. The Actor alternates between searches and saves a repeated job ID once. maxResults: 100 means up to 100 jobs total across both searches.

Collect descriptions for relevant roles

{
"mode": "search",
"keywords": "product manager",
"location": "United States",
"datePosted": "pastMonth",
"requireAllKeywordsInTitle": true,
"titleExcludes": ["intern", "assistant"],
"maxResults": 10,
"fullDetail": true
}

Title filters run before detail requests. If a job description cannot be fetched, that job is skipped and the error is recorded in OUTPUT.summary.errors; it has no result-event charge. A delivered full-detail row uses only the Detail event, not both events.

Get details for known jobs

{
"mode": "detail",
"jobUrls": [
"https://www.linkedin.com/jobs/view/4479305237/",
"4479305237"
]
}

You can provide 1–50 job IDs or public LinkedIn job URLs. The sample contains the same ID twice to show that it is fetched and charged at most once in this run.

Input fields

FieldModeDefaultDescription
modeBothsearchsearch or detail
keywordsSearchsoftware engineerOne job title or search phrase, up to 200 characters
locationSearchUnited StatesCity, country, region, or Worldwide
searchesSearchNoneUp to 10 keyword/location pairs; replaces the single pair
maxResultsSearch10Total unique jobs to save across searches, 1–1,000
datePostedSearchanyTimeanyTime, past24Hours, pastWeek, or pastMonth
fullDetailSearchfalseFetch each matching job's description and criteria
requireAllKeywordsInTitleSearchtrueRequire each keyword as a whole term in the job title; set false to include related roles
titleIncludesSearchNoneUp to 10 phrases; every phrase must appear in the title
titleExcludesSearchNoneUp to 10 phrases; jobs containing any phrase are skipped
jobUrlsDetailNone1–50 job IDs or public LinkedIn job URLs

Title matching is case-insensitive. For example, CRM Developer matches Senior CRM Developer, but not Salesforce Developer. If three consecutive search pages contain no new jobs matching the active title filters, that search stops and returns the matches already found. This limit applies separately to each search in a multi-search run. LinkedIn controls the source ranking and date filter; maxResults is a ceiling, not a guaranteed count.

HTTP API (Standby)

Use the Actor as an HTTP service when your application needs JSON directly. Find the hostname and authentication instructions in the Actor's Server tab. Send your Apify token in the Authorization: Bearer header. Standby returns job rows in items; it does not save them to a Dataset. The Run form remains available for batch jobs.

EndpointExample pathResult event
SearchGET /search?keyword=software%20engineer&location=Singapore&limit=10Listing per delivered job
Search with detailsGET /search?keyword=product%20manager&limit=5&fullDetail=trueDetail per delivered job
One known jobGET /details?job=4479305237Detail if the job is delivered

/search accepts one keyword and location per request, limit from 1 to 100 (default 10), datePosted, fullDetail, and requireAllKeywordsInTitle (default true). Set requireAllKeywordsInTitle=false to include related jobs. /details accepts one ID or URL. Use a batch run for several searches, known job URLs, or the advanced titleIncludes and titleExcludes filters.

An HTTP response includes mode, detailLevel, count, durationMs, stopReason, and items. Invalid inputs return HTTP 400. Empty results have no Listing or Detail event. Apify Standby platform usage is additional, including time an instance waits for requests.

Output

Each delivered job in a batch run is one row in the default Dataset. The default Key-Value Store contains OUTPUT.summary, which reports requested and saved counts, filtered and duplicate counts, pages fetched, errors, duration, and stop reason. Standby returns job rows directly in the HTTP response.

Example listing row (illustrative, shortened):

{
"jobId": "4479305237",
"title": "Software Engineer",
"company": "Example Company",
"location": "Singapore",
"postedAt": "2026-10-29",
"jobUrl": "https://www.linkedin.com/jobs/view/4479305237",
"allKeywordsInTitle": true,
"searchKeywords": "software engineer",
"searchLocation": "Singapore",
"searchDatePosted": "pastWeek",
"detailFetched": false,
"source": "linkedin-public-guest",
"scrapedAt": "2026-10-30T08:00:00.000Z"
}
Field groupDataset fieldsNotes
Job identityjobId, jobUrl, title, company, companyUrl, companyLogo, locationPublic listing fields; some may be missing
PostingpostedAt, postedAgo, applicantsTextAvailability depends on the public page
Full detailsdescription, descriptionHtml, criteria, detailFetchedDescriptions and criteria require Detail mode or fullDetail: true
Search contextsearchKeywords, searchLocation, searchDatePosted, allKeywordsInTitleShows how a Search result was found
Capturesource, scrapedAtSource type and capture time

Example OUTPUT.summary (shortened):

{
"mode": "search",
"requested": 20,
"foundCount": 18,
"savedCount": 15,
"filteredCount": 2,
"duplicatesSkipped": 1,
"failedCount": 0,
"pagesFetched": 3,
"stopReason": "completed",
"eventName": "job-listing-scraped",
"chargedCount": 15
}

The summary is inside the summary property of the OUTPUT record. requested is the input ceiling; savedCount is the number of delivered Dataset rows. matchedCount counts jobs that passed the title filters before detail fetching. A run may stop with completed, no_results, no_relevant_results, relevance_exhausted, or event_limit.

Pricing

Delivered jobsSearch listingsFull details
10$0.0015$0.004
100$0.015$0.04
1,000$0.15$0.40

The result events are job-listing-scraped at $0.00015 per delivered listing and job-detail-scraped at $0.0004 per delivered full-detail job. A full-detail job gets one Detail event only. Failed, filtered, duplicate, and empty results have no result-event charge. If you request 100 jobs and only 10 are delivered, only those 10 trigger result events.

The standard Actor Start event is $0.00005 per event; Apify platform usage is additional. Standby can also incur platform usage while an instance is idle. The table shows result-event charges only. Check the Pricing tab for current complete pricing.

Notes

  • The Actor reads public LinkedIn guest pages. LinkedIn can change its HTML, return related roles, limit requests, or provide fewer results than requested.
  • Some public fields, including posting date, company logo, applicant count, and job criteria, may be absent.
  • This Actor does not promise salary ranges or an external application URL. It does not invent missing fields.
  • Search scans at most 100 source pages per keyword/location pair in a batch run. A narrower posting period or stricter title filter may produce fewer saved jobs.

More Actors You Might Like

Built by the same Apizy team and backed by our transparent pricing philosophy: see which results are delivered, pay result events for successful rows, and avoid result charges for failed or empty items.

ActorWhat it helps you collect
Google Play Store ScraperAndroid app search results, charts, and full details
App Store ScraperiOS app search results, charts, and full details
YouTube Channel Scraper [FAST]Channel stats, engagement, and contact information
YouTube Video ScraperVideo titles, views, and publish dates

Get in Touch

Have a question or need a custom scraping workflow? Email apizy.studio@gmail.com.