Skip to main content
The Fetch API allows you to pull candidate and interview data back into your own internal systems. All fetch requests are POST requests with a JSON body.
Rate limit: 60 requests per minute per API key. Requests over the limit return 429 Too Many Requests.

Request body fields

The request body does not accept fields other than those listed above. Keys in additionalFields and tagFilter must contain at least one non-whitespace character, and each object must contain at least one property.

1. Paginated fetch

Retrieve a paginated list of candidates for a specific Interviewer.

2. Single candidate fetch

Look up a specific candidate using their unique interview ID.

3. Custom field filters

Filter your candidate list based on values in additionalFields. Filtering rules:
  • Numeric values: Returns candidates where the field value is the specified number (e.g. "score": 50 returns all candidates with score 50 or above).
  • String and boolean values: Returns candidates where the field value exactly matches the supplied value.

4. Status and tag filters

Response schema

This example shows every field that can be returned. Fields without a value are omitted, except nullable fields such as starRating and phoneNumber. tagAnswers can be an object or an array depending on the stored tag data. retakeAttempts is included only when you provide interviewId. The top-level code contains the HTTP-equivalent status code. The message describes the result. The data.interviews array contains Candidate records, and data.pagination describes the current result page.
Feedback fields depend on the Candidate’s progress. For example, interviewScore, transcript, recordingUrl, and interview_feedback are normally available after the interview is complete. shortlistTimeInMillis, interviewExpiryTimeInMillis, csvMetaData, postInterviewAnswers, and retakeAttempts appear only when relevant.