Manage applicants
Learn how to manage job applicants on LinkedIn using Unipile API.
Unipile provides access to LinkedIn's recruitment features through two distinct access points :
- Classic : for posting simple job advertisements, as part of recruitment efforts of limited scope.
- Recruiter : for posting advanced job advertisements, as part of recruitment efforts of moderate to large scale, offering enhanced features to identify top talents.
Job postings created through LinkedIn Classic do not integrate with LinkedIn Recruiter. Conversely, job postings originating from LinkedIn Recruiter are inaccessible from LinkedIn Classic and must be administered through Recruiter exclusively.
Note about parametersCertain options require IDs that reference specific values, rather than the values themselves.
For example, in the
locationfilter, you cannot directly insertSan Francisco, but instead you should use the corresponding city ID.Within a LinkedIn Classic context, use the List Classic Search Parameters endpoint to help you find the IDs of the values you need. Conversely, within a LinkedIn Recruiter context, use the List Recruiter Search Parameters endpoint.
List applicants
With LinkedIn Classic
To get a list of applicants for a specific job posting, use the List Job Posting Applicants endpoint, specifying the corresponding job ID. Optional filters are available in the body of the request, including ratings, which allows filtering candidates based on the rating they have been assigned.
const { data } = await linkedInApi.getClassicApplicants({
path: {
account_id: "acc_123456789",
job_id: "job_id",
},
body: {
ratings: ['GOOD_FIT'],
years_of_experience: [{
min: 3
}]
},
});applicants = linked_in_api.get_classic_applicants(
"job_id",
"acc_123456789",
get_classic_applicants_request={
"ratings": ["GOOD_FIT"],
"years_of_experience": [{"min": 3}],
},
)curl --request POST \
--url https://api.unipile.com/v2/account_id/linkedin/jobs/job_id/applicants \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"ratings": ["GOOD_FIT"],
"years_of_experience": [{
"min": 3
}]
}
'With LinkedIn Recruiter
To get a list of applicants within the talent pool of a project, use the List Job Posting Applicants endpoint, specifying the corresponding project ID, and the JOB_POSTING channel ID in the body among numerous filters.
Note about ChannelsSimilar to the LinkedIn application, a Project has a Talent Pool composed of different Channels that allow for segmenting access to candidate data:
RECRUITER_SEARCH,INTERNAL_CANDIDATES,JOB_POSTING, etc.To determine the available channels within a specific project, use the Get a Project endpoint.
const { data } = await linkedInApi.getRecruiterTalentPoolApplicants({
path: {
account_id: "acc_123456789",
project_id: "project_id",
},
body: {
channel_id: 'channel_id',
sort_by: 'NEWEST_FIRST',
current_company: {
include: ['01213', '45678']
},
seniority: ['SENIOR']
},
});applicants = linked_in_api.get_recruiter_talent_pool_applicants(
"project_id",
"acc_123456789",
get_recruiter_talent_pool_applicants_request={
"channel_id": "channel_id",
"sort_by": "NEWEST_FIRST",
"current_company": {"include": ["01213", "45678"]},
"seniority": ["SENIOR"],
},
)curl --request GET \
--url https://api.unipile.com/v2/account_id/linkedin/recruiter/projects/project_id/talent-pool/applicants \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"channel_id": "channel_id",
"sort_by": "NEWEST_FIRST",
"seniority": ["SENIOR"]
"current_company": {
"include": ["01213", "45678"]
},
}
'Retrieve an applicant
With LinkedIn Classic
To retrieve a candidate who has applied for one of your job postings, use the Get an Applicant endpoint, specifying both the corresponding job and applicant IDs.
const { data } = await linkedInApi.getClassicApplicantById({
path: {
account_id: "acc_123456789",
job_id: "job_id",
applicant_id: "applicant_id",
},
});applicant = linked_in_api.get_classic_applicant_by_id(
"job_id",
"applicant_id",
"acc_123456789",
)curl --request GET \
--url https://api.unipile.com/v2/account_id/linkedin/jobs/job_id/applicants/applicant_id \
--header 'accept: application/json'With LinkedIn Recruiter
To retrieve a specific applicant from the talent pool of a project, use the Get an Applicant endpoint, specifying both the corresponding project and applicant IDs.
const { data } = await linkedInApi.getRecruiterApplicantById({
path: {
account_id: "acc_123456789",
project_id: "project_id",
applicant_id: "applicant_id",
},
});applicant = linked_in_api.get_recruiter_applicant_by_id(
"project_id",
"applicant_id",
"acc_123456789",
)curl --request GET \
--url https://api.unipile.com/v2/account_id/linkedin/recruiter/projects/project_id/talent-pool/applicants/applicant_id \
--header 'accept: application/json'Download an applicant's resume
With LinkedIn Classic
To download the resume of an applicant who applied to one of your job postings, use the Get an Applicant's Resume endpoint, specifying both the corresponding job and applicant IDs.
const resume = await linkedInApi.getClassicApplicantResume({
path: {
account_id: "acc_123456789",
job_id: "job_id",
applicant_id: "applicant_id",
},
});resume = linked_in_api.get_classic_applicant_resume(
"job_id",
"applicant_id",
"acc_123456789",
)curl --request GET \
--url https://api.unipile.com/v2/account_id/linkedin/jobs/job_id/applicants/applicant_id/resume \
--header 'accept: application/json'With LinkedIn Recruiter
To download the resume of an applicant from the talent pool of a project, use the Get an Applicant's Resume endpoint, specifying both the corresponding project and applicant IDs.
const resume = await linkedInApi.getRecruiterApplicantResume({
path: {
account_id: "acc_123456789",
project_id: "project_id",
applicant_id: "applicant_id",
},
});resume = linked_in_api.get_recruiter_applicant_resume(
"project_id",
"applicant_id",
"acc_123456789",
)curl --request GET \
--url https://api.unipile.com/v2/account_id/linkedin/recruiter/projects/project_id/talent-pool/applicants/applicant_id/resume \
--header 'accept: application/json'Send a message to an applicant
On LinkedIn Classic, see Start a chat with an applicant from the Classic Messaging guide.
On LinkedIn Recruiter, see Start a chat with a candidate from the Recruiter Messaging guide.
Updated 3 months ago