LinkedIn Jobs Scraper - Public Jobs, No Login avatar

LinkedIn Jobs Scraper - Public Jobs, No Login

Pricing

from $1.00 / 1,000 job results

Go to Apify Store
LinkedIn Jobs Scraper - Public Jobs, No Login

LinkedIn Jobs Scraper - Public Jobs, No Login

Extract public LinkedIn job listings by keyword and location. Get titles, companies, descriptions, employment types, seniority, industries, applicant counts, and canonical URLs without LinkedIn login or account cookies.

Pricing

from $1.00 / 1,000 job results

Rating

0.0

(0)

Developer

Faiz junsyar firjatullah

Faiz junsyar firjatullah

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Extract public LinkedIn job listings by keyword and location without providing a LinkedIn account, cookies, or credentials. The Actor can return lightweight search results or enrich every job with its public description and available criteria.

Use the dataset in job boards, labor-market research, recruiting workflows, competitive analysis, or data pipelines. Results are available as JSON, CSV, Excel, XML, RSS, and through the Apify API.

What this Actor does

  • Searches public job listings by keywords and location
  • Filters by date posted and workplace type
  • Collects up to 1,000 unique jobs per run
  • Deduplicates results by LinkedIn job ID
  • Optionally fetches job descriptions and criteria
  • Uses controlled request pacing and retries temporary HTTP 429 responses
  • Saves partial basic listings when a detail page is unavailable
  • Supports Apify Proxy and custom proxy configurations
  • Reduces planned work and stops cleanly when the run's maximum cost limit is reached

No LinkedIn login is required. The Actor does not solve CAPTCHAs or access private, authenticated, or restricted account data.

Input

FieldTypeDefaultDescription
keywordsstringrequiredJob title or search terms, for example Data Engineer.
locationstringIndonesiaCountry, city, or region.
maxResultsinteger25Maximum number of unique jobs to save; range 1-1,000.
datePostedstringanyTimeanyTime, past24Hours, pastWeek, or pastMonth.
workplaceTypestringanyany, onSite, remote, or hybrid.
fetchDetailsbooleantrueFetch description and job criteria with an extra request per job.
maxConcurrencyinteger1Maximum simultaneous detail requests.
detailDelaySecsnumber3Minimum delay between the starts of detail requests.
requestDelaySecsnumber1Delay between search-page requests.
proxyConfigurationobjectno proxyOptional Apify Proxy or custom proxy settings.

Example input

{
"keywords": "Data Engineer",
"location": "Indonesia",
"maxResults": 25,
"datePosted": "pastWeek",
"workplaceType": "any",
"fetchDetails": true,
"maxConcurrency": 1,
"detailDelaySecs": 3,
"requestDelaySecs": 1,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Output

Each dataset item can contain the following fields. Some detail fields may be empty when LinkedIn does not publish them or temporarily blocks the detail request.

FieldDescription
job_idLinkedIn job identifier
titleJob title
company_nameHiring company
company_urlPublic LinkedIn company URL
locationAdvertised job location
posted_atPublished date when available
employment_typeFull-time, contract, internship, or another published type
seniority_levelPublished seniority criterion
job_functionPublished job function
industriesPublished industry criterion
applicant_countPublic applicant-count text when available
job_urlCanonical public job URL
descriptionPlain-text public job description
scraped_atUTC timestamp when the item was processed

Example output

{
"job_id": "1234567890",
"title": "Data Engineer",
"company_name": "Example Company",
"company_url": "https://www.linkedin.com/company/example-company",
"location": "Jakarta, Indonesia",
"posted_at": "2026-09-15",
"employment_type": "Full-time",
"seniority_level": "Mid-Senior level",
"job_function": "Information Technology",
"industries": "Technology",
"applicant_count": "42 applicants",
"job_url": "https://www.linkedin.com/jobs/view/1234567890",
"description": "Build and maintain reliable data pipelines.",
"scraped_at": "2026-09-15T08:30:00+00:00"
}

Run with the Apify API

Replace YOUR_USERNAME and YOUR_TOKEN with your Apify account details:

curl -X POST \
"https://api.apify.com/v2/acts/YOUR_USERNAME~linkedin-jobs-public-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords":"Data Engineer","location":"Indonesia","maxResults":25}'

You can also call the Actor from Apify clients for Python or JavaScript, schedules, webhooks, Make, Zapier, or other automation tools.

Pricing

The Actor is designed for simple pay-per-result pricing: one chargeable result corresponds to one job written to the default dataset. The final price shown on the Actor page is the source of truth. Runs that return no dataset items do not incur result charges, although platform rules may apply to run-start events.

Tips for reliable runs

Start with maxResults set to 25 and keep maxConcurrency at 1 when fetchDetails is enabled. If detail requests receive HTTP 429 responses, increase detailDelaySecs to 5-10 seconds, narrow the search, or use an appropriate proxy available to your Apify account.

Set fetchDetails to false when you only need titles, companies, locations, dates, and URLs. This mode is faster and makes fewer public requests.

Limitations and responsible use

This Actor relies on public LinkedIn pages that are not documented as a stable public API. LinkedIn may change the HTML structure, return different results by region or IP address, limit the number of results, or temporarily reject requests. Therefore, the Actor cannot guarantee that it will return every job visible to a logged-in LinkedIn user.

Use the Actor responsibly and only for lawful purposes. You are responsible for complying with applicable laws, privacy obligations, and website terms. Do not use the output for spam, harassment, discrimination, or decisions that require data LinkedIn has not made public.

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by LinkedIn.

Support

If a run fails, share the run ID, input with secrets removed, expected behavior, and a short description of the problem through the Actor's Issues tab. Do not post API tokens, cookies, personal credentials, or other secrets.