Indeed · Schema

JobPosting

A job posting on Indeed with all associated metadata including title, description, location, salary, benefits, qualifications, and application configuration.

CareersEmploymentHiringJob SearchJobRecruiting

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.
View JSON Schema on GitHub

JSON Schema

indeed-jobposting-schema.json Raw ↑
{
  "$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"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/indeed-jobposting"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.