Indeed website screenshot

Indeed

Indeed is the world's largest job site, connecting millions of job seekers with employers across industries and locations worldwide. Indeed offers a suite of APIs for applicant tracking systems, job boards, and hiring platforms to integrate with its employment ecosystem.

14 APIs 7 Features
CareersEmploymentHiringJob SearchJobsRecruiting

APIs

Indeed Job Search API

Search for jobs by keyword, location, and other criteria. Returns job listings with details including title, company, location, and description. This API is deprecated and not a...

Indeed Publisher API

Monetize your website by displaying Indeed job listings. Earn revenue through cost-per-click advertising.

Indeed Apply API

Allow job seekers to apply to your jobs directly through Indeed with a streamlined application process. Supports screener questions, EEO compliance for US employers, and disposi...

Indeed Job Sync API

A GraphQL API that enables ATS partners to create, upsert, expire, and get status for job postings on Indeed. Supports qualifications, working hours, salary, benefits, and emplo...

Indeed Disposition Sync API

A GraphQL API that enables ATS partners to send disposition data for Indeed Apply and non-Indeed Apply jobs to Indeed, tracking application status changes through various stages...

Indeed Sponsored Jobs API

A GraphQL API used to get information about and manage an employer's sponsored job campaigns on Indeed, including campaign creation, budget management, and performance insights.

Indeed Job Update API

Allows partners to list and update job postings on Indeed, including adding metadata to ATS-sourced jobs for improved quality and sponsorship grouping, and subscribing to jobs l...

Indeed Real-time API

Stream real-time server-sent events (SSE) to enable front-end applications to update instantly, supporting event filtering, deduplication, and latency tracking.

Indeed Interview API

A GraphQL API for scheduling, updating, retrieving information about, and canceling virtual interview events with job candidates. This API is deprecated.

Indeed Employer API

A RESTful abstraction of Indeed's employer-facing partner APIs, providing unified access to employer management, candidate retrieval, and job posting operations.

Indeed Employer Data API

A GraphQL API for creating and updating employer entities on Indeed and the Indeed PLUS platform.

Indeed Conversion Tracking API

Tracks candidate events such as job application page visits and completed applications from Indeed to your site. Provides data for reporting, analytics dashboards, and apply-bas...

Indeed Employer Registration API

Part of the Candidate Sync APIs, this API allows ATS partners to register employers for Candidate Sync integration.

Indeed Retrieve Candidates API

Part of the Candidate Sync APIs, this API enables ATS partners to get candidate and application information from Indeed on behalf of employers.

Collections

GraphQL

Indeed GraphQL API

A GraphQL API that enables ATS partners to create, upsert, expire, and get status for job postings on Indeed. Supports qualifications, working hours, salary, benefits, and emplo...

GRAPHQL

Pricing Plans

Indeed Plans Pricing

2 plans

PLANS

Rate Limits

Indeed Rate Limits

1 limits

RATE LIMITS

FinOps

Indeed Finops

FINOPS

Features

Job Search and Discovery

Search millions of job listings by keyword, location, salary, and other criteria across industries worldwide.

Job Posting and Syndication

Post and syndicate job listings from ATS platforms to Indeed's marketplace with automated synchronization.

Candidate Management

Retrieve and manage candidate applications, track disposition status, and sync hiring data with ATS systems.

Sponsored Job Campaigns

Create and manage pay-per-click sponsored job campaigns with budget controls and performance analytics.

Indeed Apply Integration

Enable one-click job applications directly through Indeed with screener questions and EEO compliance.

Conversion Tracking

Track candidate events from Indeed to employer sites for analytics, reporting, and bidding optimization.

Real-Time Event Streaming

Stream server-sent events for instant application updates and job lifecycle notifications.

Use Cases

ATS Job Distribution

Automatically distribute job postings from applicant tracking systems to Indeed's marketplace with real-time synchronization.

Candidate Pipeline Management

Retrieve and manage candidates through the hiring pipeline with disposition tracking and status updates.

Recruitment Marketing Analytics

Track campaign performance, application conversions, and ROI across sponsored and organic job listings.

Employer Branding

Create and manage employer profiles on Indeed to attract candidates with company information and branding.

High-Volume Hiring

Scale recruitment operations with automated job posting, candidate retrieval, and application processing.

Integrations

Greenhouse

Native ATS integration for job posting synchronization and candidate data exchange with Greenhouse.

Lever

Pre-built integration for posting jobs and retrieving candidate applications through Lever ATS.

Workday

Enterprise integration for syncing job postings and candidate data with Workday Recruiting.

iCIMS

Integration for job distribution and candidate management through iCIMS talent acquisition platform.

SAP SuccessFactors

Connector for job posting and candidate synchronization with SAP SuccessFactors Recruiting.

Oracle Taleo

Integration for distributing jobs and managing candidates through Oracle Taleo ATS.

Semantic Vocabularies

Indeed Context

0 classes · 14 properties

JSON-LD

Indeed Employer Context

0 classes · 0 properties

JSON-LD

API Governance Rules

Indeed API Rules

7 rules · 7 errors

SPECTRAL

JSON Structure

Indeed Employer Address Structure

6 properties

JSON STRUCTURE

Indeed Employer Api Error Structure

3 properties

JSON STRUCTURE

Indeed Employer Benefit Structure

2 properties

JSON STRUCTURE

Indeed Employer Candidate List Structure

2 properties

JSON STRUCTURE

Indeed Employer Candidate Structure

13 properties

JSON STRUCTURE

Indeed Employer Disposition Update Structure

4 properties

JSON STRUCTURE

Indeed Employer Eeo Responses Structure

4 properties

JSON STRUCTURE

Indeed Employer Employer Attributes Structure

3 properties

JSON STRUCTURE

Indeed Employer Employer Structure

5 properties

JSON STRUCTURE

Indeed Employer Indeed Apply Config Structure

4 properties

JSON STRUCTURE

Indeed Employer Job Location Structure

6 properties

JSON STRUCTURE

Indeed Employer Job Posting List Structure

2 properties

JSON STRUCTURE

Indeed Employer Job Posting Structure

13 properties

JSON STRUCTURE

Indeed Employer Job Source Structure

2 properties

JSON STRUCTURE

Indeed Employer Page Info Structure

4 properties

JSON STRUCTURE

Indeed Employer Qualification Structure

3 properties

JSON STRUCTURE

Indeed Employer Resume File Structure

3 properties

JSON STRUCTURE

Indeed Employer Resume Structure

3 properties

JSON STRUCTURE

Indeed Employer Salary Structure

4 properties

JSON STRUCTURE

Indeed Employer Screener Question Structure

5 properties

JSON STRUCTURE

Indeed Employer Working Hours Structure

3 properties

JSON STRUCTURE

Indeed Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🌐
DeveloperPortal
DeveloperPortal
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
🟢
StatusPage
StatusPage
💬
Support
Support
📰
Blog
Blog
👥
GitHubOrganization
GitHubOrganization
🔗
X
X
🔗
RateLimits
RateLimits
🔑
Authentication
Authentication
🚀
GettingStarted
GettingStarted
📄
ReleaseNotes
ReleaseNotes
🔗
Sandbox
Sandbox
🔗
LinkedIn
LinkedIn

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Indeed Employer API
  version: 1.0.0
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Employers
    type: folder
  items:
  - info:
      name: Indeed Create an Employer
      type: http
    http:
      method: POST
      url: https://apis.indeed.com/v1/employers
      body:
        type: json
        data: '{}'
    docs: Creates a new employer entity on Indeed. The employer name is required when creating a new employer. An employer
      must be created before job postings can be associated with it. Uses the patchEmployer mutation internally.
  - info:
      name: Indeed Retrieve an Employer
      type: http
    http:
      method: GET
      url: https://apis.indeed.com/v1/employers/:employerId
      params:
      - name: employerId
        value: ats-partner_employer-12345
        type: path
        description: The unique identifier of the employer.
    docs: Retrieves the details of an existing employer by their unique identifier.
  - info:
      name: Indeed Update an Employer
      type: http
    http:
      method: PATCH
      url: https://apis.indeed.com/v1/employers/:employerId
      params:
      - name: employerId
        value: ats-partner_employer-12345
        type: path
        description: The unique identifier of the employer to update.
      body:
        type: json
        data: '{}'
    docs: Updates an existing employer entity on Indeed. Only the fields included in the request body are modified. The employer
      name is optional when updating.
  - info:
      name: Indeed Register Employer for Candidate Sync
      type: http
    http:
      method: PUT
      url: https://apis.indeed.com/v1/employers/:employerId/registration
      params:
      - name: employerId
        value: ''
        type: path
        description: The unique identifier of the employer to register.
      body:
        type: json
        data: '{}'
    docs: Registers an employer for Candidate Sync integration, enabling the retrieval of candidate data and disposition synchronization
      between the ATS and Indeed.
- info:
    name: Candidates
    type: folder
  items:
  - info:
      name: Indeed List Candidates for an Employer
      type: http
    http:
      method: GET
      url: https://apis.indeed.com/v1/employers/:employerId/candidates
      params:
      - name: employerId
        value: ''
        type: path
        description: The unique identifier of the employer.
      - name: status
        value: ''
        type: query
        description: Filter candidates by application status.
      - name: jobPostingId
        value: ''
        type: query
        description: Filter candidates by job posting ID.
      - name: after
        value: ''
        type: query
        description: Cursor for forward pagination.
      - name: first
        value: ''
        type: query
        description: Number of candidates to return (max 100).
      - name: since
        value: ''
        type: query
        description: Return only candidates who applied after this timestamp.
    docs: Retrieves a paginated list of candidates who have applied to jobs posted by the specified employer. Part of the
      Candidate Sync APIs, this endpoint returns candidate and application information including the most recent unacknowledged
      applications.
  - info:
      name: Indeed Retrieve a Candidate
      type: http
    http:
      method: GET
      url: https://apis.indeed.com/v1/employers/:employerId/candidates/:candidateId
      params:
      - name: employerId
        value: ''
        type: path
        description: The unique identifier of the employer.
      - name: candidateId
        value: ''
        type: path
        description: The unique identifier of the candidate application.
    docs: Retrieves the full details of a specific candidate application, including personal information, resume, screener
      question responses, and EEO data if applicable.
  - info:
      name: Indeed Update Candidate Disposition
      type: http
    http:
      method: PUT
      url: https://apis.indeed.com/v1/employers/:employerId/candidates/:candidateId/disposition
      params:
      - name: employerId
        value: ''
        type: path
        description: The unique identifier of the employer.
      - name: candidateId
        value: ''
        type: path
        description: The unique identifier of the candidate application.
      body:
        type: json
        data: '{}'
    docs: Updates the disposition (application status) of a candidate for a specific job posting. This syncs the hiring pipeline
      status from the ATS back to Indeed, enabling accurate reporting and analytics.
- info:
    name: Jobs
    type: folder
  items:
  - info:
      name: Indeed Create Job Postings
      type: http
    http:
      method: POST
      url: https://apis.indeed.com/v1/jobs
      body:
        type: json
        data: '{}'
    docs: Creates one or more job postings on Indeed. Requires a job title, description, location, benefits, and job source
      details. The underlying Indeed API uses the createSourcedJobPostings GraphQL mutation. To update an existing job posting,
      submit the same jobPostingId and sourceName values that were used at creation time.
  - info:
      name: Indeed Retrieve a Job Posting
      type: http
    http:
      method: GET
      url: https://apis.indeed.com/v1/jobs/:jobPostingId
      params:
      - name: jobPostingId
        value: JOB-2024-001
        type: path
        description: The unique identifier of the job posting.
      - name: sourceName
        value: ''
        type: query
        description: The source name to scope the job posting lookup. Required when job posting IDs are not globally unique.
    docs: Retrieves the details of a specific job posting by its unique identifier.
  - info:
      name: Indeed Update a Job Posting
      type: http
    http:
      method: PUT
      url: https://apis.indeed.com/v1/jobs/:jobPostingId
      params:
      - name: jobPostingId
        value: ''
        type: path
        description: The unique identifier of the job posting to update.
      body:
        type: json
        data: '{}'
    docs: Updates an existing job posting on Indeed. The same jobPostingId and sourceName that were used during creation must
      be provided. Uses the createSourcedJobPostings mutation with updated fields.
  - info:
      name: Indeed Expire a Job Posting
      type: http
    http:
      method: DELETE
      url: https://apis.indeed.com/v1/jobs/:jobPostingId
      params:
      - name: jobPostingId
        value: ''
        type: path
        description: The unique identifier of the job posting to expire.
      - name: sourceName
        value: ''
        type: query
        description: The source name used when the job posting was created.
    docs: Expires (closes) a job posting on Indeed, removing it from active search results. This operation cannot be undone;
      a new job posting must be created to relist the position.
  - info:
      name: Indeed List Job Postings for an Employer
      type: http
    http:
      method: GET
      url: https://apis.indeed.com/v1/employers/:employerId/jobs
      params:
      - name: employerId
        value: ''
        type: path
        description: The unique identifier of the employer.
      - name: status
        value: ''
        type: query
        description: Filter job postings by status.
      - name: after
        value: ''
        type: query
        description: Cursor for forward pagination.
      - name: first
        value: ''
        type: query
        description: Number of job postings to return (max 100).
    docs: Retrieves a paginated list of job postings associated with a specific employer.
bundled: true