curl --request POST \
--url https://{region}.affinda.com/v2/resume_search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"indices": [
"all-resumes"
],
"jobDescription": "<string>",
"resume": "<string>",
"jobTitles": [
"<string>"
],
"jobTitlesCurrentOnly": true,
"jobTitlesRequired": true,
"jobTitlesWeight": 0.5,
"yearsExperienceMin": 1,
"yearsExperienceMax": 1,
"yearsExperienceRequired": true,
"yearsExperienceWeight": 0.5,
"locations": [
{
"name": "",
"coordinates": {
"latitude": 123,
"longitude": 123
},
"distance": 100,
"unit": "km"
}
],
"locationsWeight": 0.5,
"locationsRequired": true,
"skills": [
{
"name": "<string>",
"required": true
}
],
"skillsWeight": 0.5,
"languages": [
{
"name": "<string>",
"required": true
}
],
"languagesWeight": 0.5,
"institutions": [
"<string>"
],
"institutionsRequired": true,
"degrees": [
"<string>"
],
"degreesRequired": true,
"highestDegreeTypes": [
"bachelors"
],
"highestDegreeTypesRequired": true,
"isCurrentStudent": true,
"isCurrentStudentRequired": true,
"isRecentGraduate": true,
"isRecentGraduateRequired": true,
"educationWeight": 0.5,
"searchExpression": "<string>",
"searchExpressionRequired": true,
"searchExpressionWeight": 0.5,
"socCodes": [
5000
],
"socCodesWeight": 0.5,
"socCodesRequired": true,
"managementLevel": "Low",
"managementLevelRequired": true,
"managementLevelWeight": 0.5,
"customData": [
{
"filterType": "equals",
"query": {
"value": true
},
"dataPoint": "isAvailable",
"field": "isAvailable",
"required": true,
"weight": 0.5
}
]
}
'import requests
url = "https://{region}.affinda.com/v2/resume_search"
payload = {
"indices": ["all-resumes"],
"jobDescription": "<string>",
"resume": "<string>",
"jobTitles": ["<string>"],
"jobTitlesCurrentOnly": True,
"jobTitlesRequired": True,
"jobTitlesWeight": 0.5,
"yearsExperienceMin": 1,
"yearsExperienceMax": 1,
"yearsExperienceRequired": True,
"yearsExperienceWeight": 0.5,
"locations": [
{
"name": "",
"coordinates": {
"latitude": 123,
"longitude": 123
},
"distance": 100,
"unit": "km"
}
],
"locationsWeight": 0.5,
"locationsRequired": True,
"skills": [
{
"name": "<string>",
"required": True
}
],
"skillsWeight": 0.5,
"languages": [
{
"name": "<string>",
"required": True
}
],
"languagesWeight": 0.5,
"institutions": ["<string>"],
"institutionsRequired": True,
"degrees": ["<string>"],
"degreesRequired": True,
"highestDegreeTypes": ["bachelors"],
"highestDegreeTypesRequired": True,
"isCurrentStudent": True,
"isCurrentStudentRequired": True,
"isRecentGraduate": True,
"isRecentGraduateRequired": True,
"educationWeight": 0.5,
"searchExpression": "<string>",
"searchExpressionRequired": True,
"searchExpressionWeight": 0.5,
"socCodes": [5000],
"socCodesWeight": 0.5,
"socCodesRequired": True,
"managementLevel": "Low",
"managementLevelRequired": True,
"managementLevelWeight": 0.5,
"customData": [
{
"filterType": "equals",
"query": { "value": True },
"dataPoint": "isAvailable",
"field": "isAvailable",
"required": True,
"weight": 0.5
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
indices: ['all-resumes'],
jobDescription: '<string>',
resume: '<string>',
jobTitles: ['<string>'],
jobTitlesCurrentOnly: true,
jobTitlesRequired: true,
jobTitlesWeight: 0.5,
yearsExperienceMin: 1,
yearsExperienceMax: 1,
yearsExperienceRequired: true,
yearsExperienceWeight: 0.5,
locations: [
{
name: '',
coordinates: {latitude: 123, longitude: 123},
distance: 100,
unit: 'km'
}
],
locationsWeight: 0.5,
locationsRequired: true,
skills: [{name: '<string>', required: true}],
skillsWeight: 0.5,
languages: [{name: '<string>', required: true}],
languagesWeight: 0.5,
institutions: ['<string>'],
institutionsRequired: true,
degrees: ['<string>'],
degreesRequired: true,
highestDegreeTypes: ['bachelors'],
highestDegreeTypesRequired: true,
isCurrentStudent: true,
isCurrentStudentRequired: true,
isRecentGraduate: true,
isRecentGraduateRequired: true,
educationWeight: 0.5,
searchExpression: '<string>',
searchExpressionRequired: true,
searchExpressionWeight: 0.5,
socCodes: [5000],
socCodesWeight: 0.5,
socCodesRequired: true,
managementLevel: 'Low',
managementLevelRequired: true,
managementLevelWeight: 0.5,
customData: [
{
filterType: 'equals',
query: {value: true},
dataPoint: 'isAvailable',
field: 'isAvailable',
required: true,
weight: 0.5
}
]
})
};
fetch('https://{region}.affinda.com/v2/resume_search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"count": 130,
"next": "https://api.affinda.com/v2/search?limit=20&offset=20",
"previous": "https://api.affinda.com/v2/search?limit=20",
"parameters": {
"indices": [
"all-resumes"
],
"jobDescription": "<string>",
"resume": "<string>",
"jobTitles": [
"<string>"
],
"jobTitlesCurrentOnly": true,
"jobTitlesRequired": true,
"jobTitlesWeight": 0.5,
"yearsExperienceMin": 1,
"yearsExperienceMax": 1,
"yearsExperienceRequired": true,
"yearsExperienceWeight": 0.5,
"locations": [
{
"name": "",
"coordinates": {
"latitude": 123,
"longitude": 123
},
"distance": 100,
"unit": "km"
}
],
"locationsWeight": 0.5,
"locationsRequired": true,
"skills": [
{
"name": "<string>",
"required": true
}
],
"skillsWeight": 0.5,
"languages": [
{
"name": "<string>",
"required": true
}
],
"languagesWeight": 0.5,
"institutions": [
"<string>"
],
"institutionsRequired": true,
"degrees": [
"<string>"
],
"degreesRequired": true,
"highestDegreeTypes": [
"bachelors"
],
"highestDegreeTypesRequired": true,
"isCurrentStudent": true,
"isCurrentStudentRequired": true,
"isRecentGraduate": true,
"isRecentGraduateRequired": true,
"educationWeight": 0.5,
"searchExpression": "<string>",
"searchExpressionRequired": true,
"searchExpressionWeight": 0.5,
"socCodes": [
5000
],
"socCodesWeight": 0.5,
"socCodesRequired": true,
"managementLevel": "Low",
"managementLevelRequired": true,
"managementLevelWeight": 0.5,
"customData": [
{
"filterType": "equals",
"query": {
"value": true
},
"dataPoint": "isAvailable",
"field": "isAvailable",
"required": true,
"weight": 0.5
}
]
},
"results": [
{
"identifier": "<string>",
"score": 0.98,
"pdf": "https://affinda-api.s3.amazonaws.com/media/documents/Example-Resume",
"jobTitle": {
"label": "Job Title",
"value": "Software Developer",
"score": 0.68
},
"managementLevel": {
"label": "Management level",
"value": "Low",
"score": 0.68
},
"experience": {
"label": "Experience",
"value": "2.0 - 3.0 years",
"score": 0.68
},
"skills": {
"label": "Skills",
"value": "Python (Programming Language), Software Development",
"score": 0.68
},
"languages": {
"label": "Languages",
"value": "English",
"score": 0.68
},
"location": {
"label": "Location",
"value": "Roxburgh Park, Australia",
"score": 0.68
},
"education": {
"label": "Education",
"value": "Architecture Interior Design",
"score": 0.68
},
"occupationGroup": {
"label": "Occupation group",
"value": "Programmers and software development professionals",
"score": 0.68
},
"searchExpression": {
"label": "Search expression",
"value": "<string>",
"score": 0.68
},
"customData": {},
"name": "Mary Jane"
}
]
}{
"type": "validation_error",
"errors": [
{
"attr": "non_field_errors",
"code": "unique",
"detail": "This index name has already been used"
}
]
}{
"type": "validation_error",
"errors": [
{
"attr": "non_field_errors",
"code": "unique",
"detail": "This index name has already been used"
}
]
}{
"type": "validation_error",
"errors": [
{
"attr": "non_field_errors",
"code": "unique",
"detail": "This index name has already been used"
}
]
}Search through parsed resumes
Searches through parsed resumes. Users have 3 options to create a search:
1. Match to a job description - a parsed job description is used to find candidates that suit it
2. Match to a resume - a parsed resume is used to find other candidates that have similar attributes
3. Search using custom criteria
Users should only populate 1 of jobDescription, resume or the custom criteria.
curl --request POST \
--url https://{region}.affinda.com/v2/resume_search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"indices": [
"all-resumes"
],
"jobDescription": "<string>",
"resume": "<string>",
"jobTitles": [
"<string>"
],
"jobTitlesCurrentOnly": true,
"jobTitlesRequired": true,
"jobTitlesWeight": 0.5,
"yearsExperienceMin": 1,
"yearsExperienceMax": 1,
"yearsExperienceRequired": true,
"yearsExperienceWeight": 0.5,
"locations": [
{
"name": "",
"coordinates": {
"latitude": 123,
"longitude": 123
},
"distance": 100,
"unit": "km"
}
],
"locationsWeight": 0.5,
"locationsRequired": true,
"skills": [
{
"name": "<string>",
"required": true
}
],
"skillsWeight": 0.5,
"languages": [
{
"name": "<string>",
"required": true
}
],
"languagesWeight": 0.5,
"institutions": [
"<string>"
],
"institutionsRequired": true,
"degrees": [
"<string>"
],
"degreesRequired": true,
"highestDegreeTypes": [
"bachelors"
],
"highestDegreeTypesRequired": true,
"isCurrentStudent": true,
"isCurrentStudentRequired": true,
"isRecentGraduate": true,
"isRecentGraduateRequired": true,
"educationWeight": 0.5,
"searchExpression": "<string>",
"searchExpressionRequired": true,
"searchExpressionWeight": 0.5,
"socCodes": [
5000
],
"socCodesWeight": 0.5,
"socCodesRequired": true,
"managementLevel": "Low",
"managementLevelRequired": true,
"managementLevelWeight": 0.5,
"customData": [
{
"filterType": "equals",
"query": {
"value": true
},
"dataPoint": "isAvailable",
"field": "isAvailable",
"required": true,
"weight": 0.5
}
]
}
'import requests
url = "https://{region}.affinda.com/v2/resume_search"
payload = {
"indices": ["all-resumes"],
"jobDescription": "<string>",
"resume": "<string>",
"jobTitles": ["<string>"],
"jobTitlesCurrentOnly": True,
"jobTitlesRequired": True,
"jobTitlesWeight": 0.5,
"yearsExperienceMin": 1,
"yearsExperienceMax": 1,
"yearsExperienceRequired": True,
"yearsExperienceWeight": 0.5,
"locations": [
{
"name": "",
"coordinates": {
"latitude": 123,
"longitude": 123
},
"distance": 100,
"unit": "km"
}
],
"locationsWeight": 0.5,
"locationsRequired": True,
"skills": [
{
"name": "<string>",
"required": True
}
],
"skillsWeight": 0.5,
"languages": [
{
"name": "<string>",
"required": True
}
],
"languagesWeight": 0.5,
"institutions": ["<string>"],
"institutionsRequired": True,
"degrees": ["<string>"],
"degreesRequired": True,
"highestDegreeTypes": ["bachelors"],
"highestDegreeTypesRequired": True,
"isCurrentStudent": True,
"isCurrentStudentRequired": True,
"isRecentGraduate": True,
"isRecentGraduateRequired": True,
"educationWeight": 0.5,
"searchExpression": "<string>",
"searchExpressionRequired": True,
"searchExpressionWeight": 0.5,
"socCodes": [5000],
"socCodesWeight": 0.5,
"socCodesRequired": True,
"managementLevel": "Low",
"managementLevelRequired": True,
"managementLevelWeight": 0.5,
"customData": [
{
"filterType": "equals",
"query": { "value": True },
"dataPoint": "isAvailable",
"field": "isAvailable",
"required": True,
"weight": 0.5
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
indices: ['all-resumes'],
jobDescription: '<string>',
resume: '<string>',
jobTitles: ['<string>'],
jobTitlesCurrentOnly: true,
jobTitlesRequired: true,
jobTitlesWeight: 0.5,
yearsExperienceMin: 1,
yearsExperienceMax: 1,
yearsExperienceRequired: true,
yearsExperienceWeight: 0.5,
locations: [
{
name: '',
coordinates: {latitude: 123, longitude: 123},
distance: 100,
unit: 'km'
}
],
locationsWeight: 0.5,
locationsRequired: true,
skills: [{name: '<string>', required: true}],
skillsWeight: 0.5,
languages: [{name: '<string>', required: true}],
languagesWeight: 0.5,
institutions: ['<string>'],
institutionsRequired: true,
degrees: ['<string>'],
degreesRequired: true,
highestDegreeTypes: ['bachelors'],
highestDegreeTypesRequired: true,
isCurrentStudent: true,
isCurrentStudentRequired: true,
isRecentGraduate: true,
isRecentGraduateRequired: true,
educationWeight: 0.5,
searchExpression: '<string>',
searchExpressionRequired: true,
searchExpressionWeight: 0.5,
socCodes: [5000],
socCodesWeight: 0.5,
socCodesRequired: true,
managementLevel: 'Low',
managementLevelRequired: true,
managementLevelWeight: 0.5,
customData: [
{
filterType: 'equals',
query: {value: true},
dataPoint: 'isAvailable',
field: 'isAvailable',
required: true,
weight: 0.5
}
]
})
};
fetch('https://{region}.affinda.com/v2/resume_search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"count": 130,
"next": "https://api.affinda.com/v2/search?limit=20&offset=20",
"previous": "https://api.affinda.com/v2/search?limit=20",
"parameters": {
"indices": [
"all-resumes"
],
"jobDescription": "<string>",
"resume": "<string>",
"jobTitles": [
"<string>"
],
"jobTitlesCurrentOnly": true,
"jobTitlesRequired": true,
"jobTitlesWeight": 0.5,
"yearsExperienceMin": 1,
"yearsExperienceMax": 1,
"yearsExperienceRequired": true,
"yearsExperienceWeight": 0.5,
"locations": [
{
"name": "",
"coordinates": {
"latitude": 123,
"longitude": 123
},
"distance": 100,
"unit": "km"
}
],
"locationsWeight": 0.5,
"locationsRequired": true,
"skills": [
{
"name": "<string>",
"required": true
}
],
"skillsWeight": 0.5,
"languages": [
{
"name": "<string>",
"required": true
}
],
"languagesWeight": 0.5,
"institutions": [
"<string>"
],
"institutionsRequired": true,
"degrees": [
"<string>"
],
"degreesRequired": true,
"highestDegreeTypes": [
"bachelors"
],
"highestDegreeTypesRequired": true,
"isCurrentStudent": true,
"isCurrentStudentRequired": true,
"isRecentGraduate": true,
"isRecentGraduateRequired": true,
"educationWeight": 0.5,
"searchExpression": "<string>",
"searchExpressionRequired": true,
"searchExpressionWeight": 0.5,
"socCodes": [
5000
],
"socCodesWeight": 0.5,
"socCodesRequired": true,
"managementLevel": "Low",
"managementLevelRequired": true,
"managementLevelWeight": 0.5,
"customData": [
{
"filterType": "equals",
"query": {
"value": true
},
"dataPoint": "isAvailable",
"field": "isAvailable",
"required": true,
"weight": 0.5
}
]
},
"results": [
{
"identifier": "<string>",
"score": 0.98,
"pdf": "https://affinda-api.s3.amazonaws.com/media/documents/Example-Resume",
"jobTitle": {
"label": "Job Title",
"value": "Software Developer",
"score": 0.68
},
"managementLevel": {
"label": "Management level",
"value": "Low",
"score": 0.68
},
"experience": {
"label": "Experience",
"value": "2.0 - 3.0 years",
"score": 0.68
},
"skills": {
"label": "Skills",
"value": "Python (Programming Language), Software Development",
"score": 0.68
},
"languages": {
"label": "Languages",
"value": "English",
"score": 0.68
},
"location": {
"label": "Location",
"value": "Roxburgh Park, Australia",
"score": 0.68
},
"education": {
"label": "Education",
"value": "Architecture Interior Design",
"score": 0.68
},
"occupationGroup": {
"label": "Occupation group",
"value": "Programmers and software development professionals",
"score": 0.68
},
"searchExpression": {
"label": "Search expression",
"value": "<string>",
"score": 0.68
},
"customData": {},
"name": "Mary Jane"
}
]
}{
"type": "validation_error",
"errors": [
{
"attr": "non_field_errors",
"code": "unique",
"detail": "This index name has already been used"
}
]
}{
"type": "validation_error",
"errors": [
{
"attr": "non_field_errors",
"code": "unique",
"detail": "This index name has already been used"
}
]
}{
"type": "validation_error",
"errors": [
{
"attr": "non_field_errors",
"code": "unique",
"detail": "This index name has already been used"
}
]
}Authorizations
Basic authentication using an API key, e.g. {Authorization: Bearer 75z0bb4fbdf97b7e4111ff6c0015471094155f91}.
You can find your API key within the Settings page of the Affinda web app. You can obtain an API key by signing up for a free trial.
Query Parameters
The number of documents to skip before starting to collect the result set.
x >= 00
The numbers of results to return.
1 <= x <= 5020
Body
Search parameters
["all-resumes"]
A random string that uniquely identify the resource.
A random string that uniquely identify the resource.
Search only through the canditate's current job
0 <= x <= 1Minimum years of total work experience
x >= 0Maximum years of total work experience
x >= 00 <= x <= 1Search by location name or by coordinates
Show child attributes
Show child attributes
0 <= x <= 1Show child attributes
Show child attributes
0 <= x <= 1Show child attributes
Show child attributes
0 <= x <= 1school, certificate, bachelors, masters, doctoral "bachelors"
Search for student canditates
Search for canditates that graduated less than a year ago
0 <= x <= 1Search through resumes' raw text
0 <= x <= 1A list of occupation group IDs, more details can be found in the <occupation_groups> endpoint
1 <= x <= 99990 <= x <= 1None, Low, Mid, Upper "Low"
0 <= x <= 1Show child attributes
Show child attributes
Response
Will return matching documents
Total number of results
x >= 0130
URL to request next page of results
"https://api.affinda.com/v2/search?limit=20&offset=20"
URL to request previous page of results
"https://api.affinda.com/v2/search?limit=20"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?