LinkedIn Jobs Scraper: Public Job Search by Keyword & Location avatar

LinkedIn Jobs Scraper: Public Job Search by Keyword & Location

Pricing

from $0.24 / 1,000 jobs

Go to Apify Store
LinkedIn Jobs Scraper: Public Job Search by Keyword & Location

LinkedIn Jobs Scraper: Public Job Search by Keyword & Location

Search public LinkedIn job listings by keyword and location. Returns title, company, location, post date, description, seniority, employment type and applicants. No login. $0.34 per 1,000 jobs.

Pricing

from $0.24 / 1,000 jobs

Rating

0.0

(0)

Developer

Datamule

Datamule

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Share

LinkedIn Jobs Scraper: search public job listings by keyword and location

Get job postings from LinkedIn's public (logged-out) job search as JSON, CSV or Excel. Enter a keyword and a location, get back one row per job with title, company, location, post date, description, seniority, employment type and applicant count. No LinkedIn account, cookies or login.

Running it with empty input {} searches "data engineer" in "Singapore" and returns 50 jobs, so you can try it with one click.

Example input

{"keywords": "data engineer", "location": "Singapore", "maxJobs": 25, "timePosted": "pastWeek"}

Other filters: jobTypes (fullTime, partTime, contract, temporary, internship, volunteer, other), experienceLevels, workplaceTypes (on-site, remote, hybrid), companyIds, includeDetails (false = faster, search-card fields only, same price).

Example output (real run, description shortened)

{
"jobId": "4261600817",
"title": "Senior Data Engineer (Big Data Processing)",
"companyName": "Centre for Strategic Infocomm Technologies (CSIT)",
"companyUrl": "https://sg.linkedin.com/company/csitsg",
"location": "Singapore, Singapore",
"postedAt": "2026-10-05",
"postedTimeText": "5 days ago",
"salaryText": null,
"jobUrl": "https://www.linkedin.com/jobs/view/4261600817/",
"descriptionText": "CSIT develops products to advance the national security interests of Singapore. ...",
"applicantsText": "Over 200 applicants",
"seniorityLevel": "Mid-Senior level",
"employmentType": "Full-time",
"jobFunction": null,
"industries": "IT Services and IT Consulting",
"applyType": "easyApplyOrOnsite",
"detailsIncluded": true,
"scrapedAt": "2026-10-11T02:51:34+00:00"
}

Output fields

jobId, title, companyName, companyUrl, companyLogoUrl, location, postedAt, postedTimeText, salaryText, benefitsText, jobUrl, descriptionText, descriptionHtml, applicantsText, seniorityLevel, employmentType, jobFunction, industries, applyType, detailsIncluded, scrapedAt. Fields LinkedIn does not show publicly (often salaryText, benefitsText, jobFunction) are null. No recruiter or applicant personal data is collected.

Price

Pay per event: US$0.34 per 1,000 jobs on the Free plan (lower on paid plans), charged only for jobs written to the dataset. Detail enrichment costs nothing extra. Measured 2026-10-11: a 300-job request run under a US$0.10 charge cap delivered 294 jobs (the cap stopped it) = US$0.34 per 1,000 jobs in event charges, plus about US$0.02 per 1,000 jobs of platform compute on the 256 MB default.

Use it from an AI agent, the API or MCP

Apify MCP server: https://mcp.apify.com?tools=datamule/linkedin-jobs-scraper (authenticate with your Apify token), then ask your agent: "find 25 recent data engineer jobs in Singapore".

API (Python):

from apify_client import ApifyClient
run = ApifyClient("<APIFY_TOKEN>").actor("datamule/linkedin-jobs-scraper").call(
run_input={"keywords": "data engineer", "location": "Singapore", "maxJobs": 25})
jobs = list(ApifyClient("<APIFY_TOKEN>").dataset(run["defaultDatasetId"]).iterate_items())

cURL: POST https://api.apify.com/v2/acts/datamule~linkedin-jobs-scraper/run-sync-get-dataset-items?token=<APIFY_TOKEN> with the JSON input as the body.

Limits

  • Uses LinkedIn's public guest pages. LinkedIn can change their markup or throttle requests at any time; some fields may then come back null or the run may return fewer jobs than maxJobs. The run summary (stop reason, request count) is in the SUMMARY record.
  • Public search exposes up to about 1,000 results per query. Split large searches by location or date.
  • The actor retries and falls back to Apify proxy if direct requests are throttled.
  • Not affiliated with or endorsed by LinkedIn. Use the data in line with LinkedIn's terms and applicable law.