Indeed · Schema

Indeed Candidate

A candidate object from the Indeed Employer API, representing a job applicant who has applied to a position through Indeed or Indeed Apply. Contains personal details, resume, application status, and responses to screener and EEO questions.

CareersEmploymentHiringJob SearchJobsRecruiting

Properties

Name Type Description
id string A unique candidate application identifier. For Indeed Apply applications, this is a 64-character string (apply_id) that uniquely connects the employer, candidate, and job posting.
name string The candidate's full name as provided in their application.
firstName string The candidate's first (given) name.
lastName string The candidate's last (family) name.
email string The candidate's email address.
phoneNumber string The candidate's phone number, typically in E.164 or national format.
location string The candidate's location as a freeform text string, such as city and state.
resume object The candidate's resume in multiple formats. Not all formats are always available; use a robust parser that treats missing fields as empty.
coverLetter string The candidate's cover letter text, if provided with the application.
applicationStatus string The current disposition status of the candidate's application within the hiring pipeline. Must map to one of Indeed's six predefined categories.
screenerQuestionResponses array The candidate's responses to screener questions configured on the job posting.
eeoResponses object Equal Employment Opportunity (EEO) compliance responses provided by the candidate. Only available for US employers that have EEO questions enabled on their job postings.
appliedAt string The ISO 8601 timestamp when the candidate submitted their application.
source string The channel through which the candidate submitted their application, such as indeed_apply, organic, or other integration sources.
jobPostingId string The unique identifier of the job posting the candidate applied to.
jobTitle string The title of the job posting the candidate applied to.
employerId string The unique identifier of the employer who posted the job.
acknowledged boolean Whether this candidate application has been acknowledged by the ATS. Unacknowledged applications are returned first in Retrieve Candidates API queries.
updatedAt string The ISO 8601 timestamp when the candidate record was last updated.
View JSON Schema on GitHub

JSON Schema

indeed-candidate-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/indeed/refs/heads/main/json-schema/indeed-candidate-schema.json",
  "title": "Indeed Candidate",
  "description": "A candidate object from the Indeed Employer API, representing a job applicant who has applied to a position through Indeed or Indeed Apply. Contains personal details, resume, application status, and responses to screener and EEO questions.",
  "type": "object",
  "required": ["id", "name", "email"],
  "properties": {
    "id": {
      "type": "string",
      "description": "A unique candidate application identifier. For Indeed Apply applications, this is a 64-character string (apply_id) that uniquely connects the employer, candidate, and job posting."
    },
    "name": {
      "type": "string",
      "description": "The candidate's full name as provided in their application."
    },
    "firstName": {
      "type": "string",
      "description": "The candidate's first (given) name."
    },
    "lastName": {
      "type": "string",
      "description": "The candidate's last (family) name."
    },
    "email": {
      "type": "string",
      "format": "email",
      "description": "The candidate's email address."
    },
    "phoneNumber": {
      "type": "string",
      "description": "The candidate's phone number, typically in E.164 or national format."
    },
    "location": {
      "type": "string",
      "description": "The candidate's location as a freeform text string, such as city and state."
    },
    "resume": {
      "type": "object",
      "description": "The candidate's resume in multiple formats. Not all formats are always available; use a robust parser that treats missing fields as empty.",
      "properties": {
        "file": {
          "type": "object",
          "description": "The uploaded resume file.",
          "properties": {
            "fileName": {
              "type": "string",
              "description": "The original filename of the uploaded resume document."
            },
            "contentType": {
              "type": "string",
              "description": "The MIME type of the resume file, such as application/pdf or application/msword."
            },
            "data": {
              "type": "string",
              "contentEncoding": "base64",
              "description": "The raw binary content of the resume file, Base64-encoded."
            }
          }
        },
        "text": {
          "type": "string",
          "description": "Plain text representation of the resume content."
        },
        "html": {
          "type": "string",
          "description": "HTML-formatted representation of the resume content."
        },
        "json": {
          "type": "object",
          "description": "Structured JSON representation of the parsed resume data from Indeed Resume.",
          "properties": {
            "workExperience": {
              "type": "array",
              "description": "The candidate's work experience history.",
              "items": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "Job title held by the candidate."
                  },
                  "company": {
                    "type": "string",
                    "description": "Name of the employer or company."
                  },
                  "location": {
                    "type": "string",
                    "description": "Location of the position."
                  },
                  "startDate": {
                    "type": "string",
                    "description": "Start date of employment."
                  },
                  "endDate": {
                    "type": "string",
                    "description": "End date of employment. Null or absent if currently employed."
                  },
                  "current": {
                    "type": "boolean",
                    "description": "Whether this is the candidate's current position."
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of responsibilities and achievements."
                  }
                }
              }
            },
            "education": {
              "type": "array",
              "description": "The candidate's educational background.",
              "items": {
                "type": "object",
                "properties": {
                  "institution": {
                    "type": "string",
                    "description": "Name of the educational institution."
                  },
                  "degree": {
                    "type": "string",
                    "description": "Degree or certification obtained."
                  },
                  "fieldOfStudy": {
                    "type": "string",
                    "description": "Field of study or major."
                  },
                  "startDate": {
                    "type": "string",
                    "description": "Start date of attendance."
                  },
                  "endDate": {
                    "type": "string",
                    "description": "End date or graduation date."
                  },
                  "location": {
                    "type": "string",
                    "description": "Location of the institution."
                  }
                }
              }
            },
            "skills": {
              "type": "array",
              "description": "List of skills from the candidate's resume.",
              "items": {
                "type": "string"
              }
            },
            "certifications": {
              "type": "array",
              "description": "Professional certifications held by the candidate.",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Name of the certification."
                  },
                  "issuer": {
                    "type": "string",
                    "description": "Organization that issued the certification."
                  },
                  "dateObtained": {
                    "type": "string",
                    "description": "Date the certification was obtained."
                  },
                  "expirationDate": {
                    "type": "string",
                    "description": "Expiration date of the certification, if applicable."
                  }
                }
              }
            },
            "summary": {
              "type": "string",
              "description": "Professional summary or objective from the resume."
            }
          }
        }
      }
    },
    "coverLetter": {
      "type": "string",
      "description": "The candidate's cover letter text, if provided with the application."
    },
    "applicationStatus": {
      "type": "string",
      "description": "The current disposition status of the candidate's application within the hiring pipeline. Must map to one of Indeed's six predefined categories.",
      "enum": ["NEW", "CONTACTED", "INTERVIEWED", "OFFERED", "HIRED", "REJECTED"]
    },
    "screenerQuestionResponses": {
      "type": "array",
      "description": "The candidate's responses to screener questions configured on the job posting.",
      "items": {
        "type": "object",
        "properties": {
          "questionId": {
            "type": "string",
            "description": "The unique identifier of the screener question."
          },
          "question": {
            "type": "string",
            "description": "The text of the screener question presented to the candidate."
          },
          "answer": {
            "type": "string",
            "description": "The candidate's response to the screener question."
          }
        }
      }
    },
    "eeoResponses": {
      "type": "object",
      "description": "Equal Employment Opportunity (EEO) compliance responses provided by the candidate. Only available for US employers that have EEO questions enabled on their job postings.",
      "properties": {
        "gender": {
          "type": "string",
          "description": "The candidate's self-reported gender identity."
        },
        "race": {
          "type": "string",
          "description": "The candidate's self-reported race or ethnicity."
        },
        "veteranStatus": {
          "type": "string",
          "description": "The candidate's self-reported veteran status."
        },
        "disabilityStatus": {
          "type": "string",
          "description": "The candidate's self-reported disability status."
        }
      }
    },
    "appliedAt": {
      "type": "string",
      "format": "date-time",
      "description": "The ISO 8601 timestamp when the candidate submitted their application."
    },
    "source": {
      "type": "string",
      "description": "The channel through which the candidate submitted their application, such as indeed_apply, organic, or other integration sources."
    },
    "jobPostingId": {
      "type": "string",
      "description": "The unique identifier of the job posting the candidate applied to."
    },
    "jobTitle": {
      "type": "string",
      "description": "The title of the job posting the candidate applied to."
    },
    "employerId": {
      "type": "string",
      "description": "The unique identifier of the employer who posted the job."
    },
    "acknowledged": {
      "type": "boolean",
      "description": "Whether this candidate application has been acknowledged by the ATS. Unacknowledged applications are returned first in Retrieve Candidates API queries."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "The ISO 8601 timestamp when the candidate record was last updated."
    }
  }
}