# 🔥 LinkedIn Jobs Scraper – Multiple Titles & Locations in One! (`lntb/linkedin-jobs-scraper---multiple-titles-locations-in-one`) Actor

This LinkedIn Job Scraper allows you to extract job listings across multiple job titles and locations:
🔍 Key Features:
Input multiple job titles (e.g. "Software Engineer", "Data Analyst")
Input multiple locations (e.g. "London", "New York", "Berlin")
Filters by work type: On-site, Remote, Hybrid

- **URL**: https://apify.com/lntb/linkedin-jobs-scraper---multiple-titles-locations-in-one.md
- **Developed by:** [LNTB](https://apify.com/lntb) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 1,017 total users, 85 monthly users, 98.3% runs succeeded, 22 bookmarks
- **User rating**: 3.95 out of 5 stars

## Pricing

$1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🚀 LinkedIn Job Scraper — Multi-Job Titles & Multi-Location Powered

Tired of scraping jobs one-by-one by hand? Frustrated with other scrapers that only let you input one job title and location at a time? This low-cost, high-efficiency LinkedIn Job Scraper is built exactly for that.

Our scraper is designed to save you time and money by letting you run batch searches across multiple job titles and multiple locations in a single run — no coding needed.

### 🔍 What makes this scraper different?

- ✅ Search multiple job titles at once (e.g. Marketing Manager, UX Designer, Product Owner)
- ✅ Search across multiple locations in one go (e.g. London, New York, San Francisco, Remote)
- ✅ Low-cost rental — ideal for frequent searches
- ✅ Extract actual apply URLs, including external application links
- ✅ Filter jobs by work type: On-site, Remote, Hybrid
- ✅ Support for both Easy Apply and External Apply
- ✅ No cookies inputs required.

### 💼 Perfect for...

- **Job seekers** who want to monitor new listings across cities
- **Recruiters** needing to scrape job metadata across roles
- **Analysts** researching job trends, hiring patterns, or skill demands
- **Anyone** who wants to avoid repetitive, single-job scraping

### 🛠 How to use

Using the tool is simple:

1. Input a list of job titles
2. Input a list of locations
3. Select filters (like work type or page limit)
4. Hit **Run**!

No technical background required.

### 📤 Output format

After the run finishes, you can download your job data in your preferred format:

- **JSON**, **CSV**, **Excel**, or **HTML**

The dataset includes:

- Job title, company, location, posted time, actual application count
- Easy Apply vs External Apply
- Real company apply URLs (decoded)
- Work type, benefits, salary, experience level, and more!

### 💸 Pricing

| Plan            | Price          | Trial                |
|------------------|----------------|----------------------|
| Pay per result   | Result Only    |  ✅ 3-day free trial |

Start scraping smarter. Save time. Save money.\
Try the **LinkedIn Job Scraper – Multi-Search Edition** today and make your job scraping 10x more efficient.

|----------------------------------------------------------------------------------------------------------

## 🔁 From Job Scraping to Job-Ready Applications (End-to-End)

Finding jobs is only half the battle — applying with the right resume and application materials is what gets interviews.

That’s why JobsCertified https://jobscertified.com goes beyond scraping and helps you turn scraped job data into job-specific application packs.

### 🛠 How it Works

Use the LinkedIn Job Scraper to scrape jobs across multiple titles and locations.

Review your results and highlight the roles you’re genuinely interested in.

Send us:

- Your selected job list
- Your LinkedIn profile
- Your existing resume

Our application specialists generate a professionally tailored application pack for each job.

Each application is optimized for:

- Job description alignment
- ATS keyword matching
- Role-specific achievements and impact

### 💸 Pricing🎁 Your first 5 tailored resumes are completely FREE — no risk, no commitment.

👉 All handled in one streamlined workflow at https://jobscertified.com

✍️ Resume & Application Writing Service
Built for High-Volume Job Applications

Applying to dozens of jobs with the same resume significantly reduces your chances. JobsCertified fixes that by creating job-specific applications at scale.

### 📤 What You Get

- ✅ Job-specific, professionally molded resumes
- ✅ ATS-optimized formatting and keyword targeting
- ✅ Custom cover letters aligned to each role
- ✅ Company background summaries
- ✅ Interview preparation questions with example high-quality answers
- ✅ First 5 resumes free so you can see real results before paying

Perfect for job seekers using scraped job lists who want to apply smarter, faster, and with higher interview conversion.

🔗 Get started & claim your free resumes:
https://jobscertified.com

If you’re not willing to invest in yourself and your career, it’s difficult to expect an employer to invest in you.

Your first 5 tailored resumes are free. See the difference before you commit.

# Actor input Schema

## `jobTitles` (type: `array`):

List of job titles to search for (e.g., 'Software Engineer').

## `jobLocations` (type: `array`):

List of locations to search in (e.g., 'New York').

## `companyName` (type: `string`):

Company name to search for (optional).

## `companyId` (type: `string`):

Company ID to search for (optional).

## `publishedAt` (type: `string`):

Optional: Filter by publication date.

## `totalRows` (type: `integer`):

Total number of job postings to retrieve.

## `onSiteRemote` (type: `string`):

Optional: Filter jobs by work type (on-site, remote, hybrid).

## `jobType` (type: `string`):

Optional: Filter by employment type.

## `experienceLevel` (type: `string`):

Optional: Filter by experience level.

## `salaryRange` (type: `string`):

Optional: Filter jobs by salary range (e.g., '$50,000-$70,000').

## `industry` (type: `string`):

Optional: Filter jobs by industry (e.g., 'Technology', 'Finance').

## `proxy` (type: `string`):

Apify Proxy settings (JSON string).

## Actor input object example

```json
{
  "jobTitles": [
    "Software Engineer"
  ],
  "jobLocations": [
    "New York"
  ],
  "totalRows": 30,
  "proxy": "{\"useApifyProxy\": true, \"apifyProxyGroups\": [\"RESIDENTIAL\"]}"
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "jobTitles": [
        "Software Engineer"
    ],
    "jobLocations": [
        "New York"
    ],
    "proxy": "{\"useApifyProxy\": true, \"apifyProxyGroups\": [\"RESIDENTIAL\"]}"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lntb/linkedin-jobs-scraper---multiple-titles-locations-in-one").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "jobTitles": ["Software Engineer"],
    "jobLocations": ["New York"],
    "proxy": "{\"useApifyProxy\": true, \"apifyProxyGroups\": [\"RESIDENTIAL\"]}",
}

# Run the Actor and wait for it to finish
run = client.actor("lntb/linkedin-jobs-scraper---multiple-titles-locations-in-one").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "jobTitles": [
    "Software Engineer"
  ],
  "jobLocations": [
    "New York"
  ],
  "proxy": "{\\"useApifyProxy\\": true, \\"apifyProxyGroups\\": [\\"RESIDENTIAL\\"]}"
}' |
apify call lntb/linkedin-jobs-scraper---multiple-titles-locations-in-one --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lntb/linkedin-jobs-scraper---multiple-titles-locations-in-one"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/rKGG0CTP4Cg8hH1j1/builds/vZjDcZ4GBcmfcVJod/openapi.json
