# list_job_applicants: List a job posting's applicants

List who applied to one of your job postings. This action only reads; it changes nothing. Plan: Free and Connect.

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

{
  "jobId": "PASTE_JOB_ID_HERE"
}
```

## What you give it

- `jobId` (needed): a job id. The job posting id (from list_job_postings). Where to get it: Run `list_job_postings` and use `jobPostings[].id`.
- `service` (optional): one of: CLASSIC, RECRUITER. Which LinkedIn product the job posting belongs to (default CLASSIC).
- `keywords` (optional): text, up to 200 characters. Only applicants matching these words.
- `ratings` (optional): a list (one of: UNRATED, GOOD_FIT, MAYBE, NOT_A_FIT), up to 4. CLASSIC only: only these ratings.
- `sortBy` (optional): one of: relevance, alphabetical, newest_first, screening_requirements. RECRUITER only.
- `includeArchived` (optional): true or false. RECRUITER only: include archived applicants.
- `yearsOfExperience` (optional): a group of fields. RECRUITER only.
  - `min` (optional): a number. 
  - `max` (optional): a number. 
- `yearsInCompany` (optional): a group of fields. RECRUITER only: years in current company.
  - `min` (optional): a number. 
  - `max` (optional): a number. 
- `yearsInPosition` (optional): a group of fields. RECRUITER only: years in current position.
  - `min` (optional): a number. 
  - `max` (optional): a number. 
- `includeDegree` (optional): a search filter id. RECRUITER only: degree ids to include (lookup_search_ids type DEGREE). Where to get it: run `lookup_search_ids` with type `DEGREE` and use `matches[].id`.
- `excludeDegree` (optional): a search filter id. RECRUITER only: degree ids to exclude. Where to get it: run `lookup_search_ids` with type `DEGREE` and use `matches[].id`.
- `limit` (optional): a number, 1 to 100. How many to return (1–100, default 25).
- `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 `list_job_applicants`.
- `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
- `applicants[].id`: a applicant id
- `applicants[].profileId`: string
- `applicants[].publicIdentifier`: a public identifier
- `applicants[].publicProfileUrl`: a profile link
- `applicants[].name`: string
- `applicants[].location`: string
- `applicants[].headline`: string
- `applicants[].profilePictureUrl`: string
- `applicants[].appliedAt`: number
- `applicants[].rating`: UNRATED | GOOD_FIT | MAYBE | NOT_A_FIT
- `applicants[].hiringState`: string
- `applicants[].emailAddress`: string
- `applicants[].phoneNumber`: string

## Good to know

- The degree filters work on Recruiter postings only. That their ids come from lookup_search_ids type DEGREE is this tool's own wording; the published definition does not name the source.
- An applicant's profileId is not documented as any kind of id; use publicProfileUrl to reach the person.

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