Skip to main content

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.

Prerequisites

You don’t need an API key to try your first request — page 1 of any search endpoint is free. Create a Hirebase account only when you want to paginate beyond page 1 or hit endpoints that always require authentication (like /v2/jobs/expired-jobs and /v2/jobs/export). See Authentication for details.
By default, job results return a cleaned summary in the description field. To get the full original HTML description from the ATS source, set return_raw_description to "true" — the response will then include a description_raw field.

Making Your First Request

Let’s start by searching for software engineering jobs in the Bay Area:
The Python example uses the requests library. If you don’t have it installed, run pip install requests first.
const response = await fetch('https://api.hirebase.org/v2/jobs/search', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': 'YOUR_API_KEY',
  },
  body: JSON.stringify({
    job_titles: ['Software Engineer'],
    keywords: ['Python'],
    location_types: ['Remote'],
    limit: 10,
  }),
});

const data = await response.json();
console.log(`Found ${data.total_count} jobs`);

Expected Response

{
  "jobs": [
    {
      "_id": "6123456789abcdef01234567",
      "company_name": "TechCorp",
      "job_title": "Software Engineer",
      "description": "We're looking for a talented Software Engineer...",
      "location_type": "Hybrid",
      "locations": [
        {
          "city": "San Francisco",
          "region": "CA",
          "country": "United States"
        }
      ],
      "salary_range": {
        "min": 120000,
        "max": 170000,
        "currency": "USD"
      }
    }
  ],
  "total_count": 342,
  "company_count": 85,
  "page": 1,
  "limit": 10,
  "total_pages": 35
}
Example trimmed to a single job for brevity — the real response includes up to limit job objects.

Boolean Parameters

Most boolean filters (visa, include_expired, include_no_salary, include_yoe, hide_seen_jobs, filter_incomplete_jobs, return_raw_description) expect the strings "true" or "false"not JSON booleans. Example: "visa": "true" (not "visa": true). Sending a JSON boolean will return a 422 validation error.

Next Steps

Now that you’ve made your first request, explore these resources to learn more:

Jobs Search Guide

Learn about all the search parameters and features

Company Data Guide

Discover how to work with company information

Jobs API Reference

View detailed API endpoint documentation

Companies API Reference

Explore company data endpoints