# search_linkedin_jobs: Search jobs, every filter typed

Search job listings on LinkedIn, with each LinkedIn filter as its own typed input. This action only reads; it changes nothing. Plan: Free and Connect.

```
POST https://api.heyreagent.com/v1/actions/search_linkedin_jobs
Authorization: Bearer YOUR_KEY
content-type: application/json

{
  "keywords": "software engineer"
}
```

## What you give it

- `keywords` (optional): text. Words to search for.
- `sortBy` (optional): one of: relevance, date. Order (default relevance).
- `datePosted` (optional): a number. Posted within this many days.
- `region` (optional): a search filter id. A country or region: an id from lookup_search_ids type LOCATION. Where to get it: run `lookup_search_ids` with type `LOCATION` and use `matches[].id`.
- `location` (optional): a search filter id. Places: ids from lookup_search_ids type LOCATION. Where to get it: run `lookup_search_ids` with type `LOCATION` and use `matches[].id`.
- `locationWithinArea` (optional): a number. Miles around the location.
- `industry` (optional): a search filter id. Industries: ids from lookup_search_ids type INDUSTRY. Where to get it: run `lookup_search_ids` with type `INDUSTRY` and use `matches[].id`.
- `seniority` (optional): a list (one of: executive, director, mid_senior, associate, entry, intern). Experience levels.
- `function` (optional): a search filter id. Job functions: ids from lookup_search_ids type JOB_FUNCTION. Where to get it: run `lookup_search_ids` with type `JOB_FUNCTION` and use `matches[].id`.
- `role` (optional): a search filter id. Job titles: ids from lookup_search_ids type JOB_TITLE. Where to get it: run `lookup_search_ids` with type `JOB_TITLE` and use `matches[].id`.
- `jobType` (optional): a list (one of: full_time, part_time, contract, temporary, volunteer, internship, other). Job types.
- `company` (optional): a search filter id. Companies: ids from lookup_search_ids type COMPANY. Where to get it: run `lookup_search_ids` with type `COMPANY` and use `matches[].id`.
- `presence` (optional): a list (one of: on_site, hybrid, remote). On site, hybrid or remote.
- `easyApply` (optional): true or false. Only Easy Apply jobs.
- `hasVerifications` (optional): true or false. Only jobs with verifications.
- `under10Applicants` (optional): true or false. Only jobs with fewer than 10 applicants.
- `inYourNetwork` (optional): true or false. Only jobs at companies where you know someone.
- `fairChanceEmployer` (optional): true or false. Only fair-chance employers.
- `benefits` (optional): a list (one of: medical_insurance, vision_insurance, dental_insurance, disability_insurance, 401(k), pension_plan, paid_maternity_leave, paid_paternity_leave, commuter_benefits, student_loan_assistance, tuition_assistance). Benefits offered.
- `commitments` (optional): a list (one of: career_growth_and_learning, diversity_equity_and_inclusion, environmental_sustainability, social_impact, work_life_balance). Company commitments.
- `minimumSalary` (optional): a group of fields. Lowest yearly salary, in thousands: one of LinkedIn's own steps for that currency.
  - `currency` (needed): one of: USD, AUD, CAD. 
  - `value` (needed): one of: 40, 60, 80, 100, 120, 140, 160, 180, 200. 
- `limit` (optional): a number, 1 to 50. How many to return (1–50, default 10).
- `cursor` (optional): a cursor. nextCursor from the previous call, to get the next page. Keep the other arguments the same. Where to get it: The `nextCursor` from the last answer of `search_linkedin_jobs`.
- `connectionId` (optional): a connection id. Which of your LinkedIn accounts to act from (its id from list_linkedin_accounts). Omit to use your first live one. Where to get it: Run `list_linkedin_accounts` and use `accounts[].id`.

## What you get back

- `returned`: number
- `nextCursor`: a cursor
- `results[].type`: JOB
- `results[].id`: string
- `results[].referenceId`: string
- `results[].title`: string
- `results[].location`: string or null
- `results[].postedAt`: any or null
- `results[].reposted`: boolean
- `results[].url`: string
- `results[].promoted`: boolean
- `results[].benefits`: string[]
- `results[].easyApply`: boolean

## Good to know

- At most 50 rows per call: LinkedIn's page size for this search.
- LinkedIn returns at most 1,000 rows for one search; narrow the filters to reach the rest.
- A row's id is a public job listing. The job-posting actions here act on your OWN postings and are not documented to take it.

Page: https://heyreagent.com/docs/actions/search_linkedin_jobs