# LinkedIn Jobs Scraper Ultra (`crawlerbros/linkedin-jobs-scraper-ultra`) Actor

Search and scrape LinkedIn job listings - title, company, location, salary, seniority level, employment type, job description, and more. No cookies or login required.

- **URL**: https://apify.com/crawlerbros/linkedin-jobs-scraper-ultra.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Automation, Jobs, Lead generation
- **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 and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

## LinkedIn Jobs Scraper

Scrape job listings from LinkedIn without login. Get job titles, companies, locations, salaries, full descriptions, seniority levels, employment types, and more. No API key, cookies, or LinkedIn account needed.

### What is LinkedIn Jobs Scraper?

LinkedIn Jobs Scraper is an Apify actor that extracts job listings from LinkedIn's public job search. Simply enter keywords and a location, apply optional filters, and the scraper returns structured job data ready for analysis, lead generation, or job market research.

### Features

- **Search by keywords and location** — Find jobs matching any title, skill, or company name
- **Full job descriptions** — Get both HTML and plain text versions for NLP or analysis
- **Rich metadata** — Seniority level, employment type, job function, industry, salary, applicant count
- **Advanced filters** — Time posted, experience level, job type, remote/hybrid/on-site, Easy Apply
- **Direct URL support** — Paste LinkedIn search URLs with your own custom filters
- **Automatic deduplication** — No duplicate listings when combining multiple searches
- **No login required** — Uses LinkedIn's public job search, no account or cookies needed
- **No proxy needed** — Works from standard IPs for most use cases

### Use Cases

- **Job market research** — Analyze hiring trends, salary ranges, and in-demand skills
- **Lead generation** — Find companies actively hiring in your target industry
- **Competitive analysis** — Monitor competitor hiring patterns and open roles
- **Career monitoring** — Track new job postings matching your criteria
- **Recruitment intelligence** — Identify companies expanding in specific locations or functions
- **Salary benchmarking** — Compare compensation data across companies and locations

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| Search Keywords | String | — | Job title, skills, or company to search (e.g., "software engineer", "data scientist") |
| Location | String | — | City, state, country, or "remote" (e.g., "San Francisco", "United States") |
| Maximum Jobs | Integer | 100 | Max job listings to scrape (1-1000). LinkedIn limits ~1000 results per query. |
| Scrape Full Job Details | Boolean | true | Fetch full descriptions, seniority, employment type, etc. Disable for faster runs. |
| Time Posted | Select | Any time | Filter: Past 24 hours, Past week, Past month |
| Experience Level | Select | Any | Filter: Internship, Entry, Associate, Mid-Senior, Director, Executive |
| Job Type | Select | Any | Filter: Full-time, Part-time, Contract, Temporary, Volunteer, Internship |
| Work Type | Select | Any | Filter: On-site, Remote, Hybrid |
| Easy Apply Only | Boolean | false | Only show jobs with LinkedIn Easy Apply |
| Search URLs | URL List | — | Direct LinkedIn job search URLs with filters pre-applied |

**Note:** At least one of **Search Keywords** or **Search URLs** must be provided.

#### Example input — Basic search

```json
{
    "keywords": "software engineer",
    "location": "United States",
    "maxItems": 50
}
````

#### Example input — Filtered search

```json
{
    "keywords": "data scientist",
    "location": "New York",
    "jobType": "F",
    "workType": "2",
    "experienceLevel": "4",
    "timePosted": "r604800",
    "maxItems": 100
}
```

#### Example input — Direct URL

```json
{
    "searchUrls": [
        { "url": "https://www.linkedin.com/jobs/search/?keywords=python%20developer&location=London&f_JT=F&f_WT=2" }
    ],
    "maxItems": 50
}
```

### Output

Each job listing produces one item in the output dataset:

| Field | Type | Description |
|-------|------|-------------|
| id | String | LinkedIn's unique job identifier |
| title | String | Job position title |
| companyName | String | Hiring company name |
| companyUrl | String | LinkedIn company page URL |
| location | String | Job location (city, state, country) |
| salary | String | Salary range if provided by employer (e.g., "$110,000.00/yr - $155,000.00/yr") |
| postedDate | String | ISO date when the job was posted |
| postedDateText | String | Relative posting time (e.g., "3 days ago") |
| applicantCount | String | Number of applicants (e.g., "Over 200 applicants") |
| jobUrl | String | Direct link to the job on LinkedIn |
| descriptionHtml | String | Full job description in HTML format |
| descriptionText | String | Full job description in plain text |
| seniorityLevel | String | Required seniority (e.g., "Mid-Senior level") |
| employmentType | String | Full-time, Part-time, Contract, etc. |
| jobFunction | String | Job function category (e.g., "Engineering") |
| industries | String | Industry sector (e.g., "Technology, Information and Internet") |
| scrapedAt | String | ISO timestamp when data was collected |

#### Sample output

```json
{
    "id": "3876543210",
    "title": "Senior Software Engineer",
    "companyName": "Google",
    "companyUrl": "https://www.linkedin.com/company/google",
    "location": "Mountain View, CA",
    "salary": "$150,000.00/yr - $200,000.00/yr",
    "postedDate": "2026-03-20",
    "postedDateText": "4 days ago",
    "applicantCount": "Over 200 applicants",
    "jobUrl": "https://www.linkedin.com/jobs/view/3876543210",
    "descriptionHtml": "<p>We are looking for a Senior Software Engineer...</p>",
    "descriptionText": "We are looking for a Senior Software Engineer to join our team...",
    "seniorityLevel": "Mid-Senior level",
    "employmentType": "Full-time",
    "jobFunction": "Engineering and Information Technology",
    "industries": "Technology, Information and Internet",
    "scrapedAt": "2026-03-24T10:30:00.000000+00:00"
}
```

### How to use

#### Quick start

1. Enter a job title or keyword in the **Search Keywords** field
2. Enter a location (city, country, or "remote")
3. Set **Maximum Jobs** to control how many listings to scrape
4. Click **Start** and wait for results

#### Use filters for targeted results

Apply filters like **Job Type** (Full-time), **Work Type** (Remote), or **Time Posted** (Past week) to narrow your search. This mirrors the filters available on LinkedIn's job search page.

#### Use LinkedIn search URLs

1. Go to [LinkedIn Jobs](https://www.linkedin.com/jobs/) in your browser
2. Search for jobs and apply any filters you want
3. Copy the URL from your browser's address bar
4. Paste it into the **Search URLs** field

#### Combine both modes

You can provide both keywords and search URLs. The scraper processes all searches and deduplicates results automatically.

### How many jobs can I scrape?

LinkedIn limits public search results to approximately **1,000 jobs per unique search query**. To get more results:

- Use different keyword variations (e.g., "software engineer" and "software developer")
- Search different locations separately
- Apply different filters to get distinct result sets
- Use multiple search URLs with different parameters

### Tips

- **Start small** — Use `maxItems: 10` for your first run to verify the output format
- **Disable details for speed** — Set `scrapeJobDetails: false` for a 5-10x faster run when you only need titles, companies, and locations
- **Use specific keywords** — Narrow keywords produce more relevant results
- **Combine with location** — Adding a location improves result quality significantly

### FAQ

**Do I need a LinkedIn account?**
No. The scraper uses LinkedIn's public job search which is accessible without any login.

**Do I need a proxy?**
No. The scraper works without proxy for most use cases. It will automatically use a proxy only if needed.

**How fast is the scraper?**
With job details enabled: approximately 25 jobs per 15-20 seconds. Without details: 25 jobs per 3-5 seconds.

**Why are some fields empty?**
Fields like `salary` and `applicantCount` depend on whether the employer provided that information. LinkedIn only shows salary when the employer explicitly includes a pay range in the listing.

**What is "Scrape Full Job Details"?**
When enabled (default), the scraper visits each job's detail page to get the full description, seniority level, employment type, job function, and industry. Disabling it returns only the data visible in search results (title, company, location, date, salary).

**Can I scrape jobs from a specific company?**
Yes. Either search for the company name as a keyword, or find the company's LinkedIn ID and use a search URL with the `f_C` parameter.

**Why did I get fewer jobs than maxItems?**
LinkedIn may have fewer matching jobs than your limit, or the search may have hit LinkedIn's ~1000 result cap. Try broader keywords or different locations.

### Explore the rest of the LinkedIn suite

Need a different LinkedIn surface? Pair this actor with any of the others in the LinkedIn Suite — all published under the same publisher and built to share the same cookie format and output conventions.

| Actor | What it scrapes |
|---|---|
| [LinkedIn Comments Scraper](https://apify.com/crawlerbros/linkedin-comments-scraper) | All comments + reply threads on a post |
| [LinkedIn Company Employees Scraper](https://apify.com/crawlerbros/linkedin-company-employees-scraper) | Employee list for any company (by URN) |
| [LinkedIn Company Info Scraper](https://apify.com/crawlerbros/linkedin-company-info-scraper) | Company About page (size, HQ, industry, specialties) |
| [LinkedIn Company Posts Scraper](https://apify.com/crawlerbros/linkedin-company-posts-scraper) | Posts published from a company page |
| [LinkedIn Events Scraper](https://apify.com/crawlerbros/linkedin-events-scraper) | Events by keyword/URL with full event detail |
| [LinkedIn Hashtag Posts Scraper](https://apify.com/crawlerbros/linkedin-hashtag-posts-scraper) | Posts ranked under a `#hashtag` |
| [LinkedIn Jobs Scraper](https://apify.com/crawlerbros/linkedin-jobs-scraper) | Job listings via the public jobs-guest API |
| [LinkedIn Learning Courses Scraper](https://apify.com/crawlerbros/linkedin-learning-courses-scraper) | LinkedIn Learning course catalog by keyword |
| [LinkedIn People Search Scraper](https://apify.com/crawlerbros/linkedin-people-search-scraper) | People search with every LinkedIn facet (role, company, school, location, etc.) |
| [LinkedIn Post Reactions Scraper](https://apify.com/crawlerbros/linkedin-post-reactions-scraper) | Reactors on a post (name, headline, reaction type) |
| [LinkedIn Post Scraper](https://apify.com/crawlerbros/linkedin-post-scraper) | Full post (text, media, engagement counts, author) |
| [LinkedIn Post Search Scraper](https://apify.com/crawlerbros/linkedin-post-search-scraper) | Posts matching a keyword (with date/author/network filters) |
| [LinkedIn Profile Posts Scraper](https://apify.com/crawlerbros/linkedin-profile-posts-scraper) | All posts/reposts/articles for one profile |
| [LinkedIn Profile Scraper](https://apify.com/crawlerbros/linkedin-profile-scraper) | Public profile fields (name, headline, positions, education, skills) |
| [LinkedIn Profile Scraper Pro](https://apify.com/crawlerbros/linkedin-profile-scraper-pro) | Profile fields + extras (recommendations, organizations, languages) |
| [LinkedIn Profile Scraper Pro Ultra](https://apify.com/crawlerbros/linkedin-profile-scraper-pro-ultra) | Pro + premium fields (contact info, followers list when allowed) |
| [LinkedIn Profile Scraper Ultra](https://apify.com/crawlerbros/linkedin-profile-scraper-ultra) | Profile + the full upstream dash-120 surface |
| [LinkedIn Profile Search by Name](https://apify.com/crawlerbros/linkedin-profile-search-by-name) | Search profiles by person name (great for matching CSVs of names) |
| [LinkedIn Schools Alumni Scraper](https://apify.com/crawlerbros/linkedin-schools-alumni-scraper) | Alumni list for any LinkedIn school page |
| [LinkedIn Top Content Scraper](https://apify.com/crawlerbros/linkedin-top-content-scraper) | Trending / top-engagement posts by topic |
| [LinkedIn User Activity Scraper](https://apify.com/crawlerbros/linkedin-user-activity-scraper) | Reactions + comments + posts feed for one profile |

All actors share the same `cookie` input format (plain `li_at` OR full cookies JSON array) and the same omit-empty output convention.

# Actor input Schema

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

Job title, skills, or keywords.

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

City, state, country. Leave empty for worldwide.

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

Maximum number of jobs to scrape.

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

Fetch full description, seniority, type, applicant count from each job page. Slower but more complete.

## `timePosted` (type: `string`):

Filter by posting date.

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

Required experience level.

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

Employment type.

## `workType` (type: `string`):

On-site, remote, or hybrid.

## `easyApply` (type: `boolean`):

Only return jobs with LinkedIn Easy Apply.

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

LinkedIn industry code(s) to filter by (passes f\_I). Comma-separate multiple codes (e.g. '4,96' for Software + IT Services).

## `companyIds` (type: `array`):

Restrict search to specific LinkedIn company IDs (passes f\_C). Find the ID in the company page URL.

## `function` (type: `string`):

Job function category (passes f\_F).

## `salaryMin` (type: `integer`):

Minimum salary band (passes f\_SB2). LinkedIn buckets: 1=40k+, 2=60k+, 3=80k+, 4=100k+, 5=120k+, 6=140k+, 7=160k+, 8=180k+, 9=200k+.

## `under10Applicants` (type: `boolean`):

Only show jobs with fewer than 10 applicants (passes f\_EA=true).

## `inYourNetwork` (type: `boolean`):

Only show jobs where someone in your network works (passes f\_JIYN=true).

## `language` (type: `string`):

Preferred language for job listings (Accept-Language header).

## `searchUrls` (type: `array`):

Direct LinkedIn job search URLs. Overrides Keywords and Location.

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

Optional proxy. Usually not needed.

## Actor input object example

```json
{
  "keywords": "Python Developer",
  "location": "United States",
  "maxItems": 100,
  "scrapeJobDetails": true,
  "timePosted": "",
  "experienceLevel": "",
  "jobType": "",
  "workType": "",
  "easyApply": false,
  "industry": "",
  "companyIds": [],
  "function": "",
  "salaryMin": 0,
  "under10Applicants": false,
  "inYourNetwork": false,
  "language": "en"
}
```

# 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 = {
    "keywords": "Python Developer",
    "location": "United States"
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/linkedin-jobs-scraper-ultra").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 = {
    "keywords": "Python Developer",
    "location": "United States",
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/linkedin-jobs-scraper-ultra").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 '{
  "keywords": "Python Developer",
  "location": "United States"
}' |
apify call crawlerbros/linkedin-jobs-scraper-ultra --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Jobs Scraper Ultra",
        "description": "Search and scrape LinkedIn job listings - title, company, location, salary, seniority level, employment type, job description, and more. No cookies or login required.",
        "version": "1.14",
        "x-build-id": "1UIsMTGjIQwR3PIIL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~linkedin-jobs-scraper-ultra/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-linkedin-jobs-scraper-ultra",
                "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/crawlerbros~linkedin-jobs-scraper-ultra/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-linkedin-jobs-scraper-ultra",
                "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/crawlerbros~linkedin-jobs-scraper-ultra/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-linkedin-jobs-scraper-ultra",
                "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": {
                    "keywords": {
                        "title": "Job Keywords",
                        "type": "string",
                        "description": "Job title, skills, or keywords."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City, state, country. Leave empty for worldwide."
                    },
                    "maxItems": {
                        "title": "Max Job Listings",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of jobs to scrape.",
                        "default": 100
                    },
                    "scrapeJobDetails": {
                        "title": "Scrape Job Details",
                        "type": "boolean",
                        "description": "Fetch full description, seniority, type, applicant count from each job page. Slower but more complete.",
                        "default": true
                    },
                    "timePosted": {
                        "title": "Time Posted",
                        "enum": [
                            "",
                            "r86400",
                            "r604800",
                            "r2592000"
                        ],
                        "type": "string",
                        "description": "Filter by posting date.",
                        "default": ""
                    },
                    "experienceLevel": {
                        "title": "Experience Level",
                        "enum": [
                            "",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5",
                            "6"
                        ],
                        "type": "string",
                        "description": "Required experience level.",
                        "default": ""
                    },
                    "jobType": {
                        "title": "Job Type",
                        "enum": [
                            "",
                            "F",
                            "P",
                            "C",
                            "T",
                            "I",
                            "V",
                            "O"
                        ],
                        "type": "string",
                        "description": "Employment type.",
                        "default": ""
                    },
                    "workType": {
                        "title": "Work Type",
                        "enum": [
                            "",
                            "1",
                            "2",
                            "3"
                        ],
                        "type": "string",
                        "description": "On-site, remote, or hybrid.",
                        "default": ""
                    },
                    "easyApply": {
                        "title": "Easy Apply Only",
                        "type": "boolean",
                        "description": "Only return jobs with LinkedIn Easy Apply.",
                        "default": false
                    },
                    "industry": {
                        "title": "Industry",
                        "type": "string",
                        "description": "LinkedIn industry code(s) to filter by (passes f_I). Comma-separate multiple codes (e.g. '4,96' for Software + IT Services).",
                        "default": ""
                    },
                    "companyIds": {
                        "title": "Company IDs",
                        "type": "array",
                        "description": "Restrict search to specific LinkedIn company IDs (passes f_C). Find the ID in the company page URL.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "function": {
                        "title": "Job Function",
                        "enum": [
                            "",
                            "eng",
                            "sale",
                            "mrkt",
                            "ops",
                            "fin",
                            "hr",
                            "art",
                            "prdm",
                            "cust",
                            "it",
                            "lgl",
                            "othr"
                        ],
                        "type": "string",
                        "description": "Job function category (passes f_F).",
                        "default": ""
                    },
                    "salaryMin": {
                        "title": "Minimum Salary",
                        "minimum": 0,
                        "maximum": 9,
                        "type": "integer",
                        "description": "Minimum salary band (passes f_SB2). LinkedIn buckets: 1=40k+, 2=60k+, 3=80k+, 4=100k+, 5=120k+, 6=140k+, 7=160k+, 8=180k+, 9=200k+.",
                        "default": 0
                    },
                    "under10Applicants": {
                        "title": "Under 10 Applicants",
                        "type": "boolean",
                        "description": "Only show jobs with fewer than 10 applicants (passes f_EA=true).",
                        "default": false
                    },
                    "inYourNetwork": {
                        "title": "In Your Network",
                        "type": "boolean",
                        "description": "Only show jobs where someone in your network works (passes f_JIYN=true).",
                        "default": false
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "en",
                            "es",
                            "fr",
                            "de",
                            "pt"
                        ],
                        "type": "string",
                        "description": "Preferred language for job listings (Accept-Language header).",
                        "default": "en"
                    },
                    "searchUrls": {
                        "title": "LinkedIn Search URLs",
                        "type": "array",
                        "description": "Direct LinkedIn job search URLs. Overrides Keywords and Location.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Optional proxy. Usually not needed."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
