# LinkedIn Jobs Scraper (3x faster, No cookies) (`ayen-data/linkedin-jobs-scraper`) Actor

Scrape LinkedIn job listings including detailed job information, company details, salary, and requirements. Filter job listings by keywords, location, Date, Experience and more. Best for bulk and large scale extraction in minutes.

- **URL**: https://apify.com/ayen-data/linkedin-jobs-scraper.md
- **Developed by:** [Anyx Solutions](https://apify.com/ayen-data) (community)
- **Categories:** Jobs, Automation, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![banner](https://i.ibb.co/ccQzmXyB/Screenshot-2026-06-22-at-10-53-16-PM.png)

## LinkedIn Jobs Scraper

**Extract public LinkedIn job listings at scale — by keywords, location, and filters.**

The LinkedIn Jobs Scraper collects structured job data from public LinkedIn job pages: title,
company, location, posted date, and optional full job details such as description, seniority level,
employment type, job function, industries, and applicant count. It is built for recruiters, talent
sourcers, job-market researchers, salary benchmarking, and teams building job boards.

### ⚡ Quick start

Search by keywords and location:

```json
{
  "keywords": "software engineer",
  "location": "United States",
  "maxItems": 5
}
````

Or start from a ready-made LinkedIn job search URL:

```json
{
  "startUrls": [
    {
      "url": "https://www.linkedin.com/jobs/search/?keywords=software%20engineer&location=United%20States"
    }
  ],
  "maxItems": 5
}
```

### 🧩 Input

| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| `startUrls` | array | one of `startUrls` / `keywords` / `location` | — | LinkedIn job search URLs to scrape. |
| `keywords` | string | one of `startUrls` / `keywords` / `location` | — | Job title or keywords to search for. |
| `location` | string | one of `startUrls` / `keywords` / `location` | — | Location to search jobs in. |
| `experienceLevel` | string | no | `any` | `internship`, `entry`, `associate`, `mid-senior`, `director`, or `executive`. |
| `jobType` | string | no | `any` | `full-time`, `part-time`, `contract`, `temporary`, `internship`, or `volunteer`. |
| `workplaceType` | string | no | `any` | `on-site`, `remote`, or `hybrid`. |
| `datePosted` | string | no | `any` | `past-24h`, `past-week`, or `past-month`. |
| `sortBy` | string | no | `relevance` | `relevance` or `recent`. |
| `scrapeJobDetails` | boolean | no | `true` | Open each job to collect the full description and detail fields. |
| `scrapeCompanyDetails` | boolean | no | `true` | Include company name, profile URL, and logo. |
| `maxItems` | integer | no | `5` | Maximum jobs per search. |
| `proxyConfiguration` | object | no | `{ "useApifyProxy": true }` | Apify proxy settings. |

> Provide either `startUrls`, or a combination of `keywords` and `location`.

### 📤 Output

Each scraped job is pushed to the dataset as one record.

#### Fields

| Field | Type | Description |
|---|---|---|
| `id` | string | null | LinkedIn job posting ID. |
| `title` | string | null | Job title. |
| `company` | string | null | Company name. |
| `companyUrl` | string | null | Company profile URL. |
| `companyLogo` | string | null | Company logo URL. |
| `location` | string | null | Job location. |
| `postedDate` | string | null | Date the job was posted. |
| `jobUrl` | string | null | Public LinkedIn job view URL. |
| `seniorityLevel` | string | null | Seniority level (when job details are scraped). |
| `employmentType` | string | null | Employment type (when job details are scraped). |
| `jobFunction` | string | null | Job function (when job details are scraped). |
| `industries` | string | null | Industries (when job details are scraped). |
| `applicantsCount` | number | null | Number of applicants (when job details are scraped). |
| `descriptionText` | string | null | Full job description as plain text. |
| `descriptionHtml` | string | null | Full job description as HTML. |
| `searchUrl` | string | null | The search URL the job was found through. |

<details><summary>Example output</summary>

```json
{
  "id": "3801234567",
  "title": "Senior Software Engineer",
  "company": "Acme Corp",
  "companyUrl": "https://www.linkedin.com/company/acme-corp",
  "companyLogo": "https://media.licdn.com/dms/image/acme-logo.png",
  "location": "New York, NY",
  "postedDate": "2026-05-30",
  "jobUrl": "https://www.linkedin.com/jobs/view/3801234567",
  "seniorityLevel": "Mid-Senior level",
  "employmentType": "Full-time",
  "jobFunction": "Engineering and Information Technology",
  "industries": "Software Development",
  "applicantsCount": 27,
  "descriptionText": "We are looking for a Senior Software Engineer...",
  "descriptionHtml": "<p>We are looking for a Senior Software Engineer...</p>",
  "searchUrl": "https://www.linkedin.com/jobs/search/?keywords=software%20engineer"
}
```

</details>

### 💡 Use cases

- **Recruiters & sourcers** build candidate pipelines from live job demand.
- **Researchers** analyze hiring trends, in-demand roles, and locations.
- **Salary & market benchmarking** across companies and seniority levels.
- **Job boards & aggregators** keep listings fresh by keyword and region.

### ❓ FAQ

- **Do I need a LinkedIn login?** No. The scraper only collects public job data.
- **What can I scrape?** Public LinkedIn job listings by keywords, location, and filters, or directly from search URLs.
- **Why is a proxy recommended?** LinkedIn rate-limits aggressively, so running with the Apify Proxy improves reliability.
- **What if LinkedIn changes its site?** We maintain the scraper and update it when major changes affect functionality.

### 🔗 More scrapers by Anyx

- [Apify Store - Anyx Solutions](https://apify.com/anyxsolutions)
- [Google Jobs](https://apify.com/anyxsolutions/google-jobs-scraper)
- [Jobindex.dk - Denmark](https://apify.com/anyxsolutions/jobindex-dk-scraper)
- [Glassdoor.com](https://apify.com/anyxsolutions/glassdoor-scraper)
- [Indeed.com](https://apify.com/anyxsolutions/indeed-scraper)

### 🤝 Anyx Solutions

Anyx Solutions is an Apify Partner. We build custom scrapers and data-extraction pipelines.

- Email: tantosthor@gmail.com

# Actor input Schema

## `startUrls` (type: `array`):

One or more LinkedIn job search URLs to scrape, for example https://www.linkedin.com/jobs/search/?keywords=software%20engineer\&location=United%20States. Leave empty to search using the keywords and location fields instead.

## `keywords` (type: `string`):

Job title or keywords to search for, for example "software engineer". Used when no search URL is provided, or as a fallback for URLs that omit keywords.

## `location` (type: `string`):

Geographic location to search jobs in, for example "United States" or "London". Used when no search URL is provided, or as a fallback for URLs that omit a location.

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

Filter results by the required experience level.

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

Filter results by employment type.

## `workplaceType` (type: `string`):

Filter results by where the work is performed.

## `datePosted` (type: `string`):

Filter results by how recently the job was posted.

## `sortBy` (type: `string`):

Order in which matching jobs are returned.

## `scrapeJobDetails` (type: `boolean`):

When enabled, each job is opened to collect the full description, seniority level, employment type, job function, industries, and applicant count. When disabled, only the data shown on the search results card is collected.

## `scrapeCompanyDetails` (type: `boolean`):

Include the company name, profile URL, and logo for each job.

## `maxItems` (type: `integer`):

Maximum number of jobs to collect for each search URL or keyword/location search.

## `proxyConfiguration` (type: `object`):

Proxy settings used for requests. LinkedIn rate-limits aggressively, so running with the Apify Proxy is recommended for reliable results.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.linkedin.com/jobs/search/?keywords=software%20engineer&location=United%20States"
    }
  ],
  "experienceLevel": "any",
  "jobType": "any",
  "workplaceType": "any",
  "datePosted": "any",
  "sortBy": "relevance",
  "scrapeJobDetails": true,
  "scrapeCompanyDetails": true,
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://www.linkedin.com/jobs/search/?keywords=software%20engineer&location=United%20States"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ayen-data/linkedin-jobs-scraper").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 = { "startUrls": [{ "url": "https://www.linkedin.com/jobs/search/?keywords=software%20engineer&location=United%20States" }] }

# Run the Actor and wait for it to finish
run = client.actor("ayen-data/linkedin-jobs-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.linkedin.com/jobs/search/?keywords=software%20engineer&location=United%20States"
    }
  ]
}' |
apify call ayen-data/linkedin-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=ayen-data/linkedin-jobs-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Jobs Scraper (3x faster, No cookies)",
        "description": "Scrape LinkedIn job listings including detailed job information, company details, salary, and requirements. Filter job listings by keywords, location, Date, Experience and more. Best for bulk and large scale extraction in minutes.",
        "version": "1.0",
        "x-build-id": "IIZkrxFInHHeDtRLY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/ayen-data~linkedin-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-ayen-data-linkedin-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/ayen-data~linkedin-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-ayen-data-linkedin-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/ayen-data~linkedin-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-ayen-data-linkedin-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Search URLs",
                        "type": "array",
                        "description": "One or more LinkedIn job search URLs to scrape, for example https://www.linkedin.com/jobs/search/?keywords=software%20engineer&location=United%20States. Leave empty to search using the keywords and location fields instead.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "keywords": {
                        "title": "Keywords",
                        "type": "string",
                        "description": "Job title or keywords to search for, for example \"software engineer\". Used when no search URL is provided, or as a fallback for URLs that omit keywords."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Geographic location to search jobs in, for example \"United States\" or \"London\". Used when no search URL is provided, or as a fallback for URLs that omit a location."
                    },
                    "experienceLevel": {
                        "title": "Experience level",
                        "enum": [
                            "any",
                            "internship",
                            "entry",
                            "associate",
                            "mid-senior",
                            "director",
                            "executive"
                        ],
                        "type": "string",
                        "description": "Filter results by the required experience level.",
                        "default": "any"
                    },
                    "jobType": {
                        "title": "Job type",
                        "enum": [
                            "any",
                            "full-time",
                            "part-time",
                            "contract",
                            "temporary",
                            "internship",
                            "volunteer"
                        ],
                        "type": "string",
                        "description": "Filter results by employment type.",
                        "default": "any"
                    },
                    "workplaceType": {
                        "title": "Workplace type",
                        "enum": [
                            "any",
                            "on-site",
                            "remote",
                            "hybrid"
                        ],
                        "type": "string",
                        "description": "Filter results by where the work is performed.",
                        "default": "any"
                    },
                    "datePosted": {
                        "title": "Date posted",
                        "enum": [
                            "any",
                            "past-month",
                            "past-week",
                            "past-24h"
                        ],
                        "type": "string",
                        "description": "Filter results by how recently the job was posted.",
                        "default": "any"
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "relevance",
                            "recent"
                        ],
                        "type": "string",
                        "description": "Order in which matching jobs are returned.",
                        "default": "relevance"
                    },
                    "scrapeJobDetails": {
                        "title": "Scrape job details",
                        "type": "boolean",
                        "description": "When enabled, each job is opened to collect the full description, seniority level, employment type, job function, industries, and applicant count. When disabled, only the data shown on the search results card is collected.",
                        "default": true
                    },
                    "scrapeCompanyDetails": {
                        "title": "Scrape company details",
                        "type": "boolean",
                        "description": "Include the company name, profile URL, and logo for each job.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Maximum jobs per search",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of jobs to collect for each search URL or keyword/location search.",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings used for requests. LinkedIn rate-limits aggressively, so running with the Apify Proxy is recommended for reliable results.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
