Candidate Search

Searches and recommends candidates for a job from a candidate feed.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Use this endpoint to search for candidates best fit for a job and matching a set of filters. During a search, candidate profiles are sourced from a specified candidate feed, filtered, and then ranked based on fit for the job. AdeptID's Candidate Search incorporates semantic understanding of the job and potential candidates. It can search over millions of candidates in just a few seconds, delivering almost instantaneous results for end users.

  • Job: The Job object describes the job’s responsibilities, requirements, and preferences in the form of a title, description, skills, languages, certifications, and more. This information is used to determine the best-fit candidates and to generate a Match Report accompanying each recommended candidate.
  • Filters: The caller may filter results based on candidate attributes such as location, experience requirements, and more.

Additional Notes:

  • Access: To access this service and attain a candidate_feed_id, please contact your AdeptID Partner Success team.
  • Normalizing Skills, Languages, and Certifications: Skills, languages, and certifications must be normalized before including them in the Candidate Search payload. AdeptID’s Normalize Skills API accepts the raw skills, languages, and/or certifications extracted from the job description and normalizes them to our standard taxonomy. We suggest showing normalized skills within a user interface so that users see consistent, normalized entities in both the user interface and in the search results. In addition to (or in place of) Normalize Skills, Extract Skills may be useful.
  • Users are often interested in finding candidates who hold a specific skill/certification OR a similar skill/certification (e.g., .NET and .NET4). For that reason, our models use skills and certifications to find candidates with similar competencies. Languages only ever function as filters, and certifications can function as filters if certification.required is set to True.
Can be filtered, returning only candidates who meet the exact criteriaUsed by models to find candidates with similar competencies
Languages
Skills
Certifications
  • Location: Location searching performs a radial search in miles from a job’s location. Searches can include remote candidates when specified by the remote_candidates field. The job’s location is a latitude/longitude centroid value derived (when possible) from the supplied postal_code, or the supplied city, state, and country if no postal_code is supplied. AdeptID will return an HTTP error response if a latitude/longitude cannot be derived from the provided location fields.
  • Session and User ID: AdeptID asks for pseudonymized (e.g., hashed) representations of the browser session ID generating the request and the user submitting the request. These IDs enable correlation of searches made by a user, and correlation of sequential updates a user makes to a search, informing improvements to future search results. With pseudonymization, an individual can't be identified (e.g., by name or other identifying information) via the IDs.
  • Custom Filters: Custom filters restrict the candidate pool on customer-defined fields. Every custom filter you specify must match for a candidate to be returned. Each field type supports a different set of operators, but they share common behavior:
    • A bare scalar value is shorthand for an exact match ("string_1": "Nursing" is equivalent to "string_1": { "eq": "Nursing" }).
    • eq matches a single exact value.
    • one_of matches any value in a list (set membership).
    • Range operators bound the value on either or both ends, inclusive. Operators can be combined within a single field object (e.g., a min and a max together).
    • The differences by type:
Field typeFieldsRange operatorseq / one_ofNotes
Stringstring_1string_10Exact match only (no partial/fuzzy matching); matching is case-insensitive
Integerinteger_1integer_5min, max
Floatfloat_1float_5min, max
Datedate_1date_5after, beforeUses after/before instead of min/max; formatted as ISO 8601 (YYYY-MM-DD)
Booleanboolean_1boolean_5Scalar true/false only
"custom_filters": {
  "string_1": "s93jfQZ40293",                      // exact match
  "string_2": { "one_of": ["721bA3", "834mF6"] },  // any of these
  "integer_1": { "min": 3, "max": 10 },            // inclusive range
  "float_1": { "one_of": [1.0, 1.5, 2.0] },
  "date_1": { "after": "2024-01-01", "before": "2024-12-31" },
  "date_2": { "eq": "2025-06-15" },
  "boolean_1": true
}
Body Params
integer
Defaults to 0

Offset for pagination (default 0, i.e., start of list).

integer
Defaults to 25

Maximum number of candidates to return (default 25).

integer
Defaults to 5

Number of skills to include in the match report (default 5).

string
required

Job title to filter candidates by.

string
required

The job_description field contains the text for the entire job posting. This is the body of text originally submitted for the job, before it was parsed. This information is used to build a more robust understanding of the job requirements not captured by other search inputs.

string | null

Employer name to filter candidates by.

number
Defaults to 0

Minimum match score threshold (0-1). Default is 0.

string | null

Earliest profile creation date (ISO 8601).

string | null

Latest profile creation date (ISO 8601).

string | null

Earliest profile update timestamp.

string | null

Latest profile update timestamp.

LocationQuery | object,null

Location criteria for the candidate (e.g. city, country, radius).

string | null
enum

Whether or not to include remote candidates among local candidates in search results.

Allowed:
certifications
array of objects

Certifications to match candidates against.

certifications
skills
array of strings

Skills to filter candidates by.

skills
languages
array of strings

Languages the candidate must speak.

languages
education
array of objects

Education degree or field filters.

education
RangeFieldQuery | object,null

Range for total years of candidate experience.

CustomFilterQuery | object,null

Custom search filters defined by customer.

string | null

Session ID for grouping multiple requests into a logical user session.

string | null

User making the query, for audit/tracking purposes.

string
required

The ID of the candidate feed to search.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json