Indeed · Schema
JobPosting
A job posting on Indeed with all associated metadata including title, description, location, salary, benefits, qualifications, and application configuration.
CareersEmploymentHiringJob SearchJobsRecruiting
Properties
| Name | Type | Description |
|---|---|---|
| jobPostingId | string | A unique identifier for the job posting within the source system. Used in combination with sourceName for upsert operations. |
| title | string | The title of the job posting. Maximum length of 75 characters. |
| description | string | The full description of the job posting including responsibilities, requirements, and other details. Must be between 30 and 20,000 characters. |
| location | object | |
| salary | object | |
| benefits | array | Benefits offered with the position. |
| qualifications | array | Required or preferred qualifications for the position. |
| workingHours | object | |
| employmentType | string | The type of employment. |
| remoteWorkPolicy | string | The remote work policy for the position. |
| employer | object | Reference to the employer posting this job. |
| source | object | |
| indeedApply | object | |
| status | string | The current status of the job posting on Indeed. |
| applicationUrl | string | The URL where candidates can apply for the position. |
| createdAt | string | The timestamp when the job posting was created. |
| updatedAt | string | The timestamp when the job posting was last updated. |
| expiresAt | string | The timestamp when the job posting expires. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/JobPosting",
"title": "JobPosting",
"type": "object",
"description": "A job posting on Indeed with all associated metadata including title, description, location, salary, benefits, qualifications, and application configuration.",
"required": [
"jobPostingId",
"title",
"description",
"location"
],
"properties": {
"jobPostingId": {
"type": "string",
"description": "A unique identifier for the job posting within the source system. Used in combination with sourceName for upsert operations.",
"example": "JOB-2024-001"
},
"title": {
"type": "string",
"description": "The title of the job posting. Maximum length of 75 characters.",
"maxLength": 75,
"example": "Senior Software Engineer"
},
"description": {
"type": "string",
"description": "The full description of the job posting including responsibilities, requirements, and other details. Must be between 30 and 20,000 characters.",
"minLength": 30,
"maxLength": 20000,
"example": "We are looking for a Senior Software Engineer to join our growing team..."
},
"location": {
"$ref": "#/components/schemas/JobLocation"
},
"salary": {
"$ref": "#/components/schemas/Salary"
},
"benefits": {
"type": "array",
"description": "Benefits offered with the position.",
"items": {
"$ref": "#/components/schemas/Benefit"
},
"example": []
},
"qualifications": {
"type": "array",
"description": "Required or preferred qualifications for the position.",
"items": {
"$ref": "#/components/schemas/Qualification"
},
"example": []
},
"workingHours": {
"$ref": "#/components/schemas/WorkingHours"
},
"employmentType": {
"type": "string",
"description": "The type of employment.",
"enum": [
"FULL_TIME",
"PART_TIME",
"CONTRACT",
"TEMPORARY",
"INTERNSHIP",
"VOLUNTEER"
],
"example": "FULL_TIME"
},
"remoteWorkPolicy": {
"type": "string",
"description": "The remote work policy for the position.",
"enum": [
"ON_SITE",
"REMOTE",
"HYBRID"
],
"example": "HYBRID"
},
"employer": {
"type": "object",
"description": "Reference to the employer posting this job.",
"properties": {
"id": {
"type": "string",
"description": "The employer's unique identifier on Indeed."
},
"employerName": {
"type": "string",
"description": "The employer's display name."
}
},
"example": "example_value"
},
"source": {
"$ref": "#/components/schemas/JobSource"
},
"indeedApply": {
"$ref": "#/components/schemas/IndeedApplyConfig"
},
"status": {
"type": "string",
"description": "The current status of the job posting on Indeed.",
"enum": [
"ACTIVE",
"PAUSED",
"EXPIRED",
"CLOSED"
],
"example": "ACTIVE"
},
"applicationUrl": {
"type": "string",
"format": "uri",
"description": "The URL where candidates can apply for the position.",
"example": "https://www.example.com"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "The timestamp when the job posting was created.",
"example": "2026-01-15T10:30:00Z"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The timestamp when the job posting was last updated.",
"example": "2026-01-15T10:30:00Z"
},
"expiresAt": {
"type": "string",
"format": "date-time",
"description": "The timestamp when the job posting expires.",
"example": "2026-01-15T10:30:00Z"
}
}
}