# LinkedIn Jobs Feed (`mambalabs/linkedin-jobs-feed`) Actor

Search LinkedIn jobs by keyword, location, date, workplace, and level, and get one row per job with the employer's own website domain attached. Description, seniority, employment type, industries, and applicants included. No login. Only new jobs on a schedule.

- **URL**: https://apify.com/mambalabs/linkedin-jobs-feed.md
- **Developed by:** [Mamba Labs](https://apify.com/mambalabs) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.28 / 1,000 job rows

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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 Jobs Feed

Search LinkedIn jobs the way you would in the job search box, by keywords and location, and get one row per job with the employer's own website domain already attached. Each row carries the job title, company, company page, location, posting date, and link, and by default the description, seniority level, employment type, job function, industries, and applicant count from the public posting page. Rows are flat, so they drop into a Clay table, a CRM, or a CSV.

### Features

- **The employer domain on every row you can trust.** Each employer is looked up once by name, first in a public company name autocomplete and then with a web search, and the domain is returned only when it clearly matches the company name (`domain_status` `resolved`, with `domain_source` saying which route found it). A weak match is left empty and labeled `low_confidence`, so a wrong domain never reads as an answer. Lookups are cached for 90 days in your own Apify account, so repeat employers cost nothing extra.
- **Location honored.** The location goes to LinkedIn's own job search as you type it, one search per location, and every row keeps the location you asked for beside the location LinkedIn posted.
- **Filters LinkedIn applies.** Posted within 24 hours, a week, or a month; on site, remote, or hybrid; experience level; and job type. Exclude companies by name, such as staffing agencies.
- **Posting details.** Description, seniority level, employment type, job function, industries, and applicant count from each job's public page, at no extra charge.
- **Only new jobs.** Turn on `only_new` with a `state_key`, schedule the run, and each run returns only jobs that earlier runs did not return. Results come newest first, so a scheduled run stops paging once it reaches jobs it has already returned.
- **Paced reads.** Requests are spaced and spread over Apify proxy IPs; a refused page is retried on a new IP. A search that LinkedIn refuses says so on its search row instead of returning a silent zero.

### How it reads LinkedIn

Only the two public job pages LinkedIn serves to visitors who are not signed in: the job search list and the job posting page. No login, no cookie, no LinkedIn account, no profile or company page reads, and no other developer's actor. The employer domain comes from a public company name autocomplete (autocomplete.clearbit.com, no key) and a public web search results page. The saved state and the domain cache live in key-value stores in your own Apify account.

### Input

| Field | Type | Default | What it does |
|---|---|---|---|
| `keywords` | array | | Job searches, one per line, up to 50 searches (keywords times locations) |
| `locations` | array | worldwide | Countries, cities, or regions as LinkedIn takes them; each search runs once per location |
| `posted_within` | string | `week` | `24h`, `week`, `month`, or `any` |
| `workplace_types` | array | | Any of `on_site`, `remote`, `hybrid` |
| `experience_levels` | array | | Any of `internship`, `entry`, `associate`, `mid_senior`, `director`, `executive` |
| `job_types` | array | | Any of `full_time`, `part_time`, `contract`, `temporary`, `internship`, `volunteer`, `other` |
| `max_jobs_per_search` | string | `100` | Job rows per search, newest first, up to 1000 |
| `exclude_companies` | array | | Drop jobs whose company name contains one of these |
| `include_details` | string | `true` | `false` skips the posting page for a faster run with the card fields only |
| `find_company_domain` | string | `true` | `false` skips the domain lookup |
| `only_new` | string | `false` | `true` returns only jobs not returned before under the same `state_key` |
| `state_key` | string | | Names the saved state; one key per schedule |
| `reset_state` | string | `false` | `true` forgets the saved state |
| `max_charge_usd` | string | | Stop before a row would pass this amount |

Every field accepts text, as Clay sends it: `"true"`, `"50"`, a JSON array, or one value per line.

### Output

One row layout for every row type. Key fields:

| Field | Rows | Example |
|---|---|---|
| `row_type` | all | `job`, `search`, `input_error` |
| `search_keywords`, `search_location` | all | `account executive`, `Germany` |
| `job_id`, `job_title`, `job_url` | job | `4484460127`, `Enterprise Account Executive`, `https://www.linkedin.com/jobs/view/4484460127` |
| `company_name`, `company_linkedin_url` | job | `hyrise`, `https://www.linkedin.com/company/hyrise` |
| `company_domain`, `domain_status`, `domain_confidence`, `domain_source` | job | `hyrise.com`, `resolved`, `50`, `web_search` |
| `location`, `posted_date`, `posted_ago_text` | job | `Berlin, Germany`, `2026-10-28`, `2 hours ago` |
| `seniority_level`, `employment_type`, `job_function`, `industries` | job, with details | `Associate`, `Full-time`, `Sales`, `Software Development` |
| `description`, `applicants_text`, `salary_text` | job, with details | plain text |
| `is_new`, `first_seen_at` | job, with `only_new` | `true` |
| `jobs_found`, `jobs_returned` | search | `20`, `15` |
| `row_status`, `error_reason`, `billable_events_json` | all | `ok`, `null`, `{"job-row":1}` |

The run summary (key-value store record `RUN_SUMMARY`) counts search pages, jobs listed and returned, posting pages read, domains found by status, and requests per host.

### Pricing

Pay per event. You pay only these events; the Apify platform and proxy costs of your run are paid by Mamba Labs.

| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| Job row (`job-row`), one job returned, with details and the employer domain | $0.0015 | $0.001425 | $0.00135 | $0.001275 |
| Actor start (`apify-actor-start`), once per run | $0.001 | $0.001 | $0.001 | $0.001 |

Free rows: one search row per search and location, and the row for a refused input. Posting details and the domain lookup carry no extra charge. On the Apify free plan the actor stops at 1.50 USD of evaluation a month (about 1000 job rows); any paid Apify plan removes that cap. The run also stops before any row that would pass your `max_charge_usd` or the maximum charge per run you set in Apify.

Example: three searches in two countries, 50 jobs each, return 300 jobs: 300 job rows ($0.45), $0.4510 with the actor start.

### Usage examples

#### Apify Console or API

```json
{ "keywords": ["account executive"], "locations": ["Germany"] }
```

```json
{ "keywords": ["sdr manager", "head of sales"], "locations": ["London, England, United Kingdom", "Berlin, Germany"], "posted_within": "24h", "experience_levels": ["mid_senior", "director"] }
```

```json
{ "keywords": ["revops"], "locations": ["United States"], "workplace_types": ["remote"], "only_new": "true", "state_key": "revops-us-daily", "max_jobs_per_search": "300" }
```

#### Clay

Send a job search and a location to `keywords` and `locations`, and read `company_domain`, `company_name`, `job_title`, and `job_url` from the job rows. Filter on `domain_status` = `resolved` before you enrich by domain.

#### Scheduled monitoring

Save the input as an Apify task with `only_new` on and a `state_key`, and schedule it daily with `posted_within` `24h` or `week`. Each run returns only jobs earlier runs did not.

#### MCP

The MCP server `@mambalabsdev/mcp-linkedin-jobs-feed` exposes this actor as a tool for Claude and other MCP clients.

### Error handling

| Situation | What you get |
|---|---|
| LinkedIn refuses the first search page after four tries on new IPs | One free search row with `row_status` `blocked` and the HTTP status |
| A later search page fails | The jobs read so far are returned; the search row says `partial` |
| A posting page cannot be read | The job row keeps the card fields, `row_status` `partial`, and says why; it is charged as a job row |
| Neither domain route answers | `company_domain` empty, `domain_status` `search_failed` |
| No job matches | One free search row with `row_status` `no_results` |
| The input names no search or is malformed | One free `input_error` row whose `error_reason` starts with `input_invalid:`; the run succeeds and nothing is charged by the actor |
| Max charge reached | The run stops before the next billable row; with `only_new`, that search's state is not saved, so its jobs come back next run |

### Limitations

- LinkedIn shows visitors who are not signed in about 1,000 results per search. Split a wide search by location or keyword to see more.
- A job listed by a staffing agency names the agency as the company, as LinkedIn shows it.
- The employer domain is a name match. Two companies with the same name can share a suggestion, so read `domain_source` and `domain_confidence` before you rely on a domain.
- The employer domain is found from the company name alone. A company with a common word as its name, or with no website, may come back `low_confidence` or `not_found` rather than a guess.
- Salary appears only when the employer posts one.
- `posted_date` and `posted_ago_text` are LinkedIn's; a reposted job can show its repost date.
- You are responsible for how you use the data and for the terms of the sites you read.

### More from Mamba Labs

| Actor | Actor ID |
|---|---|
| [Account Hiring Watch](https://apify.com/mambalabs/account-hiring-watch?fpr=mamba) | `gRAZA5WBi1r6L0gy7` |
| [Agent Accessibility Auditor](https://apify.com/mambalabs/agent-accessibility-auditor?fpr=mamba) | `anxbRv0lKrpQ1pnua` |
| [Agent to Brokerage Resolver](https://apify.com/mambalabs/agent-brokerage-resolver?fpr=mamba) | `ePRRGLxOGyaVHO4dI` |
| [AI Tooling Detector](https://apify.com/mambalabs/ai-tooling-detector?fpr=mamba) | `EwkHhmqiuJgRoVEbE` |
| [B2B Reddit Conversation Monitor](https://apify.com/mambalabs/b2b-reddit-conversation-monitor?fpr=mamba) | `SoDryzzsjmY3SsiyG` |
| [Bluesky Brand Presence Mapper](https://apify.com/mambalabs/bluesky-brand-presence-mapper?fpr=mamba) | `eLpxzP4IuXznlFVND` |
| [Career Change Signal Engine](https://apify.com/mambalabs/career-change-signal-engine?fpr=mamba) | `vX2Yga1a6wGaXaP14` |
| [Company Change Event Feed](https://apify.com/mambalabs/company-change-event-feed?fpr=mamba) | `oX44rS0fkEJ3rXLWe` |
| [Company Contact Details Extractor](https://apify.com/mambalabs/company-contact-details-extractor?fpr=mamba) | `4mMncKaJykiq94grz` |
| [Company Discovery List Builder](https://apify.com/mambalabs/company-discovery-list-builder?fpr=mamba) | `jch0HdaZnpbMqlcGS` |
| [Company Firmographic Enricher](https://apify.com/mambalabs/company-firmographic-enricher?fpr=mamba) | `YlUtLWjfPpqykmB8g` |
| [Company Funding Record](https://apify.com/mambalabs/funding-investor-record?fpr=mamba) | `OFS4Mt1gyYNtGfUbE` |
| [Company Headcount Estimator](https://apify.com/mambalabs/company-headcount-estimator?fpr=mamba) | `aHC4GROnNt6kfZe5r` |
| [Company Identity Resolver](https://apify.com/mambalabs/company-identity-resolver?fpr=mamba) | `lr8fTRAmZCBZmuwwh` |
| [Company Social Presence Mapper](https://apify.com/mambalabs/company-social-presence-mapper?fpr=mamba) | `4k6CCemkgBDz18m2h` |
| [Competitor Price, Stock, and Changelog Monitor](https://apify.com/mambalabs/competitor-price-stock-changelog-monitor?fpr=mamba) | `yxdgCbUQ4PYQWwRNU` |
| [Contact Classifier](https://apify.com/mambalabs/contact-classifier?fpr=mamba) | `0lGSeYJmniXhGANnO` |
| [Contractor License Lookup](https://apify.com/mambalabs/contractor-license-lookup?fpr=mamba) | `WBYK3CPI2kdeq4bP1` |
| [Cookie Consent Audit](https://apify.com/mambalabs/cookie-consent-audit?fpr=mamba) | `TrKyOS0KBoGC35nbr` |
| [Domain Deliverability Checker](https://apify.com/mambalabs/domain-deliverability-checker?fpr=mamba) | `0tVgxI7A6o9jMlxmc` |
| [Domain to LinkedIn URL Resolver](https://apify.com/mambalabs/domain-to-linkedin-url-resolver?fpr=mamba) | `3HtnSaqPHOg1Qg5gx` |
| [Ecommerce Platform Profiler](https://apify.com/mambalabs/ecommerce-platform-profiler?fpr=mamba) | `5G2NeYjBbQTjaTn9L` |
| [Ecommerce Store Discovery](https://apify.com/mambalabs/ecommerce-store-discovery?fpr=mamba) | `PeHu4sLyFvQHXUUrX` |
| [Event Presence Index](https://apify.com/mambalabs/event-presence-index?fpr=mamba) | `WLhMy8fMDgsxdYxv5` |
| [Expert Witness Directory](https://apify.com/mambalabs/expert-witness-directory?fpr=mamba) | `LIpwlgfE3LaQBaXd4` |
| [Funding and Press Signal Scanner](https://apify.com/mambalabs/funding-press-signal-scanner?fpr=mamba) | `FS13X6dhQVgX3XOM6` |
| [GitHub Organization Signal Scanner](https://apify.com/mambalabs/github-organization-signal-scanner?fpr=mamba) | `ahF8RRpv5mzPao5CN` |
| [Google Ads Transparency Monitor](https://apify.com/mambalabs/google-ads-transparency-monitor?fpr=mamba) | `1eOwxhBVxzvOXAm4s` |
| [Government Contract Award Monitor](https://apify.com/mambalabs/public-award-monitor?fpr=mamba) | `zhEtllASykOcx9hJ8` |
| [GTM Hiring Signal Scraper](https://apify.com/mambalabs/gtm-hiring-signal-scraper?fpr=mamba) | `D7O1SA2EqwHGsGr1P` |
| [GTM Signals Aggregator](https://apify.com/mambalabs/b2b-buying-signals-hiring-tech-stack-intent-for-clay?fpr=mamba) | `xKdRfnfFNkdMpFuNs` |
| [ICP Fit Scorer](https://apify.com/mambalabs/icp-account-lead-scoring-fit-scorer-0-100-for-clay?fpr=mamba) | `W161DT8W4kW55dMFh` |
| [Influencer Change Monitor](https://apify.com/mambalabs/creator-change-monitor?fpr=mamba) | `d2VVgahNL6UmcLkhg` |
| [Influencer Finder](https://apify.com/mambalabs/creator-finder?fpr=mamba) | `tpkedmloIIWtXx6sg` |
| [Influencer Lead List Builder](https://apify.com/mambalabs/creator-lead-list-all-in-one?fpr=mamba) | `KnmByszcv135yM30G` |
| [Influencer Profile Scraper](https://apify.com/mambalabs/creator-profile-reader?fpr=mamba) | `EqEnklDVMIcB1V499` |
| [Influencer Talent Agency Lookup](https://apify.com/mambalabs/talent-agency-lookup?fpr=mamba) | `zCuX4Mgyg6JvXgGzd` |
| [Instagram Facebook Brand Presence Mapper](https://apify.com/mambalabs/meta-brand-presence-mapper?fpr=mamba) | `HXh65I0JBjPsunbY8` |
| [Integration and Marketplace Presence Mapper](https://apify.com/mambalabs/integration-marketplace-presence-mapper?fpr=mamba) | `V0guNuvM85Q61f2gj` |
| [Job Board Keyword Signal Scanner](https://apify.com/mambalabs/job-board-keyword-signal-scanner?fpr=mamba) | `4DvqpvhMR74NLcDDY` |
| [Job Change Tracker](https://apify.com/mambalabs/job-change-tracker?fpr=mamba) | `L8UbEmMJC1XYPSZOb` |
| [Job Posting Monitor](https://apify.com/mambalabs/gtm-job-discovery?fpr=mamba) | `QCfICD9kOPiOdj5iI` |
| [Legal Entity Resolver](https://apify.com/mambalabs/legal-entity-resolver?fpr=mamba) | `KHFyPCDIx7CyqULYm` |
| [Link in Bio Scraper and Newsletter Detector](https://apify.com/mambalabs/link-in-bio-newsletter-checker?fpr=mamba) | `OorucdheTIgu7RFzK` |
| [LinkedIn Company Page Mapper](https://apify.com/mambalabs/linkedin-company-presence-mapper?fpr=mamba) | `zOPm6A9JEhUGcIdFW` |
| [LinkedIn Post Tracker](https://apify.com/mambalabs/linkedin-post-engager-capture?fpr=mamba) | `oiGLNPuaf5BRaz9K5` |
| [Local Business Lead Builder](https://apify.com/mambalabs/local-business-lead-builder?fpr=mamba) | `qMN97aoHhsAS5bznV` |
| [Local Rank and Map Pack Tracker](https://apify.com/mambalabs/local-rank-map-pack-tracker?fpr=mamba) | `gv0kyHGDIg8XscclB` |
| [Lookalike Company Finder](https://apify.com/mambalabs/lookalike-company-finder?fpr=mamba) | `e2O426WBAbLLQL4Z2` |
| [Manufacturer and Supplier Finder](https://apify.com/mambalabs/manufacturer-supplier-finder?fpr=mamba) | `Qcsdmd0lUfPzVkonh` |
| [Meta Ad Library Monitor](https://apify.com/mambalabs/meta-ad-library-monitor?fpr=mamba) | `J1GWlSXfSGU3u8Wng` |
| [Mobile Phone Waterfall](https://apify.com/mambalabs/mobile-phone-waterfall-orchestrator?fpr=mamba) | `6OOgPktf7RIa5XCOP` |
| [New Company Registrations Feed](https://apify.com/mambalabs/new-company-registrations-feed?fpr=mamba) | `g2WfZhWvCtc57g2Jo` |
| [New Hire Finder](https://apify.com/mambalabs/new-hire-finder?fpr=mamba) | `cKuc38p4nYHNF3IW8` |
| [Newsletter Sponsor Tracker](https://apify.com/mambalabs/newsletter-sponsor-tracker?fpr=mamba) | `qSwpqxD1TiPZpLQHv` |
| [Open Tender and RFP Finder](https://apify.com/mambalabs/open-tender-rfp-finder?fpr=mamba) | `kPTGz6t6TFoUUyfaO` |
| [Outbound Stack Detector](https://apify.com/mambalabs/outbound-infrastructure-fingerprint?fpr=mamba) | `v43UJC8r7qW7cBSTG` |
| [Page Finder and Extractor](https://apify.com/mambalabs/page-finder-extractor?fpr=mamba) | `TpurgcOZbVnknlaiC` |
| [Partner and Member Directory Extractor](https://apify.com/mambalabs/partner-member-directory-extractor?fpr=mamba) | `ZX0XJPPUvnFJxeC1a` |
| [People Finder & Email Verifier](https://apify.com/mambalabs/people-finder?fpr=mamba) | `LEgloG7tWgQl4o6TD` |
| [Person LinkedIn URL Resolver](https://apify.com/mambalabs/person-linkedin-url-resolver?fpr=mamba) | `ssuyPV8LnEsL8qbnb` |
| [Person Social Footprint Mapper](https://apify.com/mambalabs/person-social-footprint-mapper?fpr=mamba) | `jfQXa2zW9FHCJot9K` |
| [Personal Email to Company Resolver](https://apify.com/mambalabs/personal-email-to-company-resolver?fpr=mamba) | `AefT5Ye6YNPFQwJBf` |
| [Pinterest Brand Presence Mapper](https://apify.com/mambalabs/pinterest-brand-presence-mapper?fpr=mamba) | `d1HvjZfKhgvWsoEwn` |
| [Podcast Guest and Host Finder](https://apify.com/mambalabs/podcast-guest-host-finder?fpr=mamba) | `o2MGSvgbSLeeXOsIo` |
| [Prospect Engine](https://apify.com/mambalabs/b2b-prospect-engine?fpr=mamba) | `q9rT6v64nUJdPexOQ` |
| [Public Feature Board and Roadmap Monitor](https://apify.com/mambalabs/public-feature-board-roadmap-monitor?fpr=mamba) | `rcHF5gj5r2Vqnry35` |
| [Publishing Frequency Tracker](https://apify.com/mambalabs/blog-publishing-frequency?fpr=mamba) | `TbLwaUUATdYb6wp4N` |
| [Reddit Brand Presence Mapper](https://apify.com/mambalabs/reddit-brand-presence-mapper?fpr=mamba) | `pKQZmDaT70SEb54bZ` |
| [Reporting Window Finder](https://apify.com/mambalabs/public-company-reporting-window-finder?fpr=mamba) | `uINxR7a1IW8qUTRUX` |
| [Sequencer Event Poller](https://apify.com/mambalabs/sequencer-event-poller?fpr=mamba) | `S6s8Rjd61tGdrMRk4` |
| [Sequencer Lead Push](https://apify.com/mambalabs/clay-to-instantly-smartlead-push?fpr=mamba) | `0Jv27VeWM5tSZQs9x` |
| [Team Page People Extractor](https://apify.com/mambalabs/team-page-people-extractor?fpr=mamba) | `j8a9zX0k4mNbvDbWK` |
| [Tech Stack Signal Detector](https://apify.com/mambalabs/gtm-tech-stack-signal-scraper?fpr=mamba) | `qyd7nNyqFPelQViBx` |
| [TikTok Brand Presence Mapper](https://apify.com/mambalabs/tiktok-brand-presence-mapper?fpr=mamba) | `fco8FvoJcSafbeyd1` |
| [Trustpilot Reputation Enricher](https://apify.com/mambalabs/review-platform-reputation-enricher?fpr=mamba) | `3lIqfCt61j4hqE1xz` |
| [VC and Accelerator Portfolio List Builder](https://apify.com/mambalabs/vc-accelerator-portfolio-list-builder?fpr=mamba) | `chH8hrfuoqqolW06m` |
| [WCAG Accessibility Audit](https://apify.com/mambalabs/wcag-accessibility-audit?fpr=mamba) | `P3jBj3FRghKEhX52z` |
| [Website Phrase and Business Model Classifier](https://apify.com/mambalabs/website-phrase-business-model-classifier?fpr=mamba) | `CBuZ9k7sRwBeiKiCS` |
| [Website Traffic Rank Estimator](https://apify.com/mambalabs/website-traffic-rank-estimator?fpr=mamba) | `GnOFUzlNVIoXgeJjH` |
| [Work Email Waterfall](https://apify.com/mambalabs/email-waterfall-orchestrator?fpr=mamba) | `OT6xqTFThC0Rjf7Zj` |
| [Workplace Program Detector](https://apify.com/mambalabs/workplace-program-detector?fpr=mamba) | `Li6pPDhqbdzFz3h7G` |
| [X Brand Presence Mapper](https://apify.com/mambalabs/x-brand-presence-mapper?fpr=mamba) | `oLOgadhHUkNAyDA3w` |
| [YouTube Channel Stats Extractor](https://apify.com/mambalabs/youtube-channel-transcript-extractor?fpr=mamba) | `6hSpD3kd2s2IQ4VSs` |

Built by [Mamba Labs](https://apify.com/mambalabs?fpr=mamba).

# Actor input Schema

## `keywords` (type: `array`):

One job search per line, as you would type it in LinkedIn's job search, for example account executive, or sdr manager saas. Up to 50 searches per run (keywords times locations).

## `locations` (type: `array`):

Optional. One location per line, as LinkedIn's job search takes it: a country (Germany), a city (London, England, United Kingdom), or a region (European Union). Each search runs once per location. Empty searches worldwide.

## `posted_within` (type: `string`):

Only jobs posted in this window, as LinkedIn dates them.

## `workplace_types` (type: `array`):

Optional. Any of: on_site, remote, hybrid.

## `experience_levels` (type: `array`):

Optional. Any of: internship, entry, associate, mid_senior, director, executive.

## `job_types` (type: `array`):

Optional. Any of: full_time, part_time, contract, temporary, internship, volunteer, other.

## `max_jobs_per_search` (type: `string`):

Job rows returned per search, newest first. Default 100, up to 1000 (LinkedIn shows guests about 1,000 results per search).

## `exclude_companies` (type: `array`):

Optional. Drop jobs whose company name contains one of these, ignoring case, for example staffing agencies you do not want.

## `include_details` (type: `string`):

true reads each job's public posting page. No extra charge.

## `find_company_domain` (type: `string`):

true looks up each employer's own website domain by name with a web search, and returns it only when the domain clearly matches the name. No extra charge.

## `only_new` (type: `string`):

true returns only jobs that an earlier run with the same state key did not return. The first run returns every job in the window.

## `state_key` (type: `string`):

Names the saved state for only new jobs. Use one key per schedule, for example ae-germany-daily.

## `reset_state` (type: `string`):

true forgets the saved state for this state key.

## `max_charge_usd` (type: `string`):

Optional. The run stops before it would charge more than this.

## `source_tag` (type: `string`):

Internal attribution tag. Leave empty.

## Actor input object example

```json
{
  "keywords": [
    "account executive"
  ],
  "locations": [
    "Germany"
  ],
  "posted_within": "week",
  "max_jobs_per_search": "5",
  "include_details": "true",
  "find_company_domain": "true",
  "only_new": "false",
  "reset_state": "false"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `run_summary` (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 = {
    "keywords": [
        "account executive"
    ],
    "locations": [
        "Germany"
    ],
    "max_jobs_per_search": "5"
};

// Run the Actor and wait for it to finish
const run = await client.actor("mambalabs/linkedin-jobs-feed").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": ["account executive"],
    "locations": ["Germany"],
    "max_jobs_per_search": "5",
}

# Run the Actor and wait for it to finish
run = client.actor("mambalabs/linkedin-jobs-feed").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 '{
  "keywords": [
    "account executive"
  ],
  "locations": [
    "Germany"
  ],
  "max_jobs_per_search": "5"
}' |
apify call mambalabs/linkedin-jobs-feed --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,mambalabs/linkedin-jobs-feed"
        }
    }
}
```

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/SH6N0d8cz46BhCC8B/builds/yfu9LSqHcOTwX4yRJ/openapi.json
