Skip to main content
GET
/
v2
/
jobs
/
expired-jobs
curl -X GET 'https://api.hirebase.org/v2/jobs/expired-jobs?since=2026-01-31&page=1&limit=100' \
  -H 'x-api-key: YOUR_API_KEY'
{
  "jobs": [
    {
      "company_slug": "rentokil-initial-group",
      "job_slug": "service-driver-2353c936",
      "date_expired": "2026-03-01"
    },
    {
      "company_slug": "phasor-engineering-inc",
      "job_slug": "commissioning-lead-commissioning-manager-field-based-2cfa04f9",
      "date_expired": "2026-03-01"
    },
    {
      "company_slug": "squaredev",
      "job_slug": "fullstack-engineer-88e05e56",
      "date_expired": "2026-03-01"
    },
    {
      "company_slug": "zoopla",
      "job_slug": "customer-success-consultant-12-months-ftc-47754cd9",
      "date_expired": "2026-03-01"
    }
  ],
  "total_count": 1247
}

Documentation Index

Fetch the complete documentation index at: https://www.hirebase.org/docs/llms.txt

Use this file to discover all available pages before exploring further.

Overview

The Expired Jobs endpoint allows you to retrieve jobs that have been removed or expired from company career pages after a specified date. This is useful for tracking job lifecycle, maintaining data freshness, and identifying positions that are no longer active.

Authentication

This endpoint requires an API key for all requests, including page 1. See Authentication to get one.
x-api-key
string
required
Your Hirebase API key

Query Parameters

since
string
required
Starting date to retrieve expired jobs from. Accepts ISO date format (YYYY-MM-DD) or other standard date strings (e.g., 2026-01-31)
page
integer
default:"1"
Page number for pagination (min: 1)
limit
integer
default:"100"
Number of results per page (min: 1, max: 1000)

Response

jobs
array
List of expired job objects
total_count
integer
Total number of expired jobs matching the query across all pages
curl -X GET 'https://api.hirebase.org/v2/jobs/expired-jobs?since=2026-01-31&page=1&limit=100' \
  -H 'x-api-key: YOUR_API_KEY'
{
  "jobs": [
    {
      "company_slug": "rentokil-initial-group",
      "job_slug": "service-driver-2353c936",
      "date_expired": "2026-03-01"
    },
    {
      "company_slug": "phasor-engineering-inc",
      "job_slug": "commissioning-lead-commissioning-manager-field-based-2cfa04f9",
      "date_expired": "2026-03-01"
    },
    {
      "company_slug": "squaredev",
      "job_slug": "fullstack-engineer-88e05e56",
      "date_expired": "2026-03-01"
    },
    {
      "company_slug": "zoopla",
      "job_slug": "customer-success-consultant-12-months-ftc-47754cd9",
      "date_expired": "2026-03-01"
    }
  ],
  "total_count": 1247
}

Use Cases

Data Cleanup

Identify and remove stale job postings from your database

Job Lifecycle Tracking

Monitor how long positions remain active

Market Analysis

Analyze hiring velocity by tracking when jobs are filled or closed

Database Synchronization

Keep your local job database in sync with Hirebase

Pagination

Use the page and limit parameters to paginate through large result sets:
# Get first 500 expired jobs
GET /v2/jobs/expired-jobs?since=2026-01-01&page=1&limit=500

# Get next 500 expired jobs  
GET /v2/jobs/expired-jobs?since=2026-01-01&page=2&limit=500
Calculate total pages: total_pages = ceil(total_count / limit)

Important Notes

The since parameter is required and must be a valid date string
  • Jobs are considered expired when they are no longer available on the company’s career page
  • The date_expired field represents when Hirebase detected the job was no longer active (not necessarily when the company removed it)
  • Results are sorted by date_expired in descending order (most recent first)
  • Maximum limit per request is 1000 jobs
  • For optimal performance, query smaller date ranges (e.g., daily or weekly) rather than large historical periods

Error Responses

400
Bad Request
Missing or invalid since parameter
{
  "detail": "since parameter is required and must be a valid date"
}
401
Unauthorized
Invalid or missing API key
{
  "detail": "Invalid API key"
}
404
Not Found
Invalid endpoint path
{
  "detail": "Not Found"
}
429
Too Many Requests
Rate limit exceeded
{
  "detail": "Rate limit exceeded. Please try again later."
}