LinkedIn Jobs Scraper by Company | No Login, $0.50/1K avatar

LinkedIn Jobs Scraper by Company | No Login, $0.50/1K

Pricing

$0.50 / 1,000 job results

Go to Apify Store
LinkedIn Jobs Scraper by Company | No Login, $0.50/1K

LinkedIn Jobs Scraper by Company | No Login, $0.50/1K

Scrape LinkedIn jobs by company, location, and keyword. Get descriptions, salary, applicants, criteria, and apply URLs with no proxy setup. ($0.50 USD per 1,000 results)

Pricing

$0.50 / 1,000 job results

Rating

0.0

(0)

Developer

Curly

Curly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Monitor target companies and turn public LinkedIn job listings into structured hiring signals. This company-first LinkedIn job scraping workflow filters by company, location, job title, and posting age, then exports clean job data for sales intelligence, recruiting, analytics, or your own product.

No LinkedIn cookies, account, or proxy configuration are required. Returned jobs cost $0.0005 each — $0.50 per 1,000 results.

Need only a quick one-off export? Use Curly's free single-company LinkedIn jobs scraper for up to 10 JSON or CSV records. Use this Actor for bulk companies, API access, scheduled runs, webhooks, and larger datasets.

Built for company monitoring

  • Sales and GTM teams: detect new roles that indicate budget, expansion, or changing priorities in target accounts.
  • Recruiting and HR technology: collect current roles from selected employers without maintaining LinkedIn sessions.
  • Market intelligence: compare hiring activity, functions, locations, workplace types, and disclosed salaries across companies.
  • Data products and automations: schedule recurring runs and consume normalized JSON through the Apify API, webhooks, or integrations.

Quick start

  1. Paste one LinkedIn company URL or slug per line. A slug is the part after /company/ in a LinkedIn URL—for example, openai.
  2. Optionally choose locations, titles or keywords, posting age, result limit, sort order, and detail enrichment.
  3. Click Start and download the results.

Only the company field is required. Every other field has a ready-to-use default.

Minimal input

{
"companies": [
"https://www.linkedin.com/company/openai"
]
}
{
"companies": ["openai", "microsoft"],
"locations": ["Germany", "Remote"],
"jobTitles": ["Software Engineer"],
"maxResultsPerUrl": 10,
"postedLimit": "week",
"sortBy": "date",
"includeDetails": true
}

Fast hiring-signal monitoring

Disable detail enrichment when you only need the role, company, location, publication date, and job URL. This is the fastest setup for scheduled target-account monitoring.

{
"companies": ["openai", "microsoft", "stripe"],
"maxResultsPerUrl": 25,
"postedLimit": "24h",
"sortBy": "date",
"includeDetails": false
}

Why use a company-first job scraper?

CapabilityCurly workflowBroad job-search workflow
Starting pointLinkedIn company URLs or slugsKeyword and location
Target-account monitoringNative, up to 100 companiesRequires separate queries and filtering
Multiple titles and locationsCombined automaticallyVaries by provider
Duplicate jobsReturned onceOften requires downstream cleanup
Detail enrichmentOptional for speed and cost controlOften always on or unavailable
Price$0.50 per 1,000 stored jobsVaries

Use a broad search Actor when you want the entire market for a keyword. Use this Actor when the companies matter first and you need a reusable feed of what those accounts are hiring for.

Input options

FieldRequiredWhat it does
companiesYesLinkedIn company URLs or slugs. Up to 100.
locationsNoUp to 10 locations such as Germany, Berlin, or Remote. Leave empty to apply no location filter.
jobTitlesNoUp to 10 job titles or keywords such as Software Engineer. Leave empty to include every available role.
maxResultsPerUrlNoMaximum unique jobs returned for each company URL or slug, from 1 to 100. Default: 10.
postedLimitNoJobs from the past hour, 24 hours, week, month, or any time. Default: past month.
sortByNoShow the newest jobs first or use LinkedIn's relevance order. Default: newest first.
includeDetailsNoKeep enabled for full descriptions and enriched fields. Disable for faster basic results. Default: enabled.

Company URLs from localized LinkedIn domains such as de.linkedin.com are accepted and normalized automatically. The result limit applies separately to every company URL or slug and covers all filter combinations for that company. Duplicate companies and jobs are returned once.

Every company, location, and title is combined into a search. A run can contain up to 100 such search combinations. For example, 2 companies × 2 locations × 3 titles creates 12 searches.

Company resolution, job discovery, and detail enrichment use bounded parallel processing. Completed job records are written progressively instead of waiting for the entire batch to finish.

What you get

Each dataset item represents one unique LinkedIn job and can include:

  • Job ID, canonical LinkedIn URL, title, company, and location
  • Publication and expiration dates
  • Clean plain-text job descriptions
  • Employment type, seniority, job functions, and industries
  • Structured salary range, currency, period, and salary type
  • Applicant count with exact or boundary semantics
  • Remote, hybrid, or on-site workplace type
  • External application URL or Easy Apply status
  • The location and keyword that found the job
  • Detail enrichment status

Example result:

{
"job_id": "4250000000",
"job_url": "https://www.linkedin.com/jobs/view/4250000000",
"title": "Software Engineer",
"company_name": "OpenAI",
"company_id": "11130470",
"company_url": "https://www.linkedin.com/company/openai",
"company_slug": "openai",
"location": "San Francisco, CA",
"published_at": "2026-07-25",
"description": "Build reliable systems for advanced AI products.",
"employment_type": "Full-time",
"seniority_level": "Mid-Senior level",
"job_functions": ["Engineering", "Information Technology"],
"industries": ["Software Development"],
"salary": {
"text": "$180,000–$240,000/yr",
"min": 180000,
"max": 240000,
"currency": "USD",
"period": "year",
"type": "base"
},
"applicants": {
"count": 200,
"count_type": "minimum",
"text": "Over 200 applicants"
},
"expires_at": "2026-08-25",
"benefits": null,
"workplace_type": "hybrid",
"application": {
"type": "external",
"url": "https://jobs.example.com/apply/4250000000",
"login_required": false
},
"search_location": "San Francisco",
"search_keyword": "Software Engineer",
"details_status": "complete",
"scraped_at": "2026-07-28T12:00:00.000Z",
"source": "linkedin_job"
}

Unavailable public values are returned as null or an empty array instead of being guessed. If includeDetails is false, detail-only fields stay empty and details_status is not_requested.

Price

The price is $0.0005 per stored job$0.50 per 1,000 results. You pay for returned dataset items, not failed searches or duplicate jobs.

Use as a LinkedIn Jobs API

curl -X POST \
"https://api.apify.com/v2/acts/curly~linkedin-jobs-scraper/run-sync-get-dataset-items?format=json" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"companies": ["openai"],
"locations": ["Germany"],
"jobTitles": ["Software Engineer"],
"maxResultsPerUrl": 10,
"postedLimit": "month",
"sortBy": "date",
"includeDetails": true
}'

The same input works with the Apify API client, schedules, webhooks, and integrations, making the Actor usable as a LinkedIn job search API.

Existing API integrations that send the former maxItems field remain supported. That deprecated field keeps its original global-cap behavior, but new integrations should use maxResultsPerUrl.

Limits and responsible use

  • Results depend on jobs visible through LinkedIn's public no-login pages.
  • Job details can disappear after a listing closes or changes.
  • LinkedIn may omit salary, applicants, workplace type, application URL, or other fields.
  • Use the Actor only for lawful purposes and comply with applicable privacy, employment, data protection, and platform rules.

FAQ

Do I need LinkedIn cookies or an account?

No. The Actor uses public LinkedIn pages and does not ask for your LinkedIn credentials.

Do I need to configure a proxy?

No. Proxy access is included and configured automatically.

Can I search worldwide?

Yes. Leave locations empty to apply no location filter for the selected companies.

Can I limit the jobs returned from each company?

Yes. Set Maximum results per URL from 1 to 100. For example, a value of 10 returns at most 10 unique jobs for each company URL or slug, even when you select multiple locations or job-title filters.

What does “Include job details” change?

When enabled, the Actor visits each job page to enrich the search result with descriptions, criteria, salary, applicants, workplace type, expiration, and application metadata. Disable it for a faster lightweight listing search.

Why is a field null?

LinkedIn does not publish every field for every job. Missing values remain explicit rather than being inferred.

Support the Actor after a successful run

If the Actor saves you time, bookmark it in the Apify Store and leave an honest review describing your use case. For a missing field, filter, or unexpected result, open an issue so it can be investigated.