Skip to main content
GET
/
v2
/
jobs
/
search
Search Jobs (GET)
curl --request GET \
  --url https://api.hirebase.org/v2/jobs/search
{
  "jobs": [
    {
      "_id": "<string>",
      "company_name": "<string>",
      "job_title": "<string>",
      "description": "<string>",
      "application_link": "<string>",
      "job_type": "<string>",
      "location_type": "<string>",
      "salary_range": {},
      "yoe_range": {},
      "requirements_summary": "<string>",
      "visa_sponsored": true,
      "locations": [
        {}
      ],
      "expired": true
    }
  ],
  "total_count": 123,
  "company_count": 123,
  "page": 123,
  "limit": 123,
  "total_pages": 123
}

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.

Status: This GET variant is planned but not yet fully supported. Today, the primary search endpoint is POST /v2/jobs/search. The schema below describes the intended GET interface for URL-parameter-based searches.
Search for jobs using traditional filtering methods with URL parameters. While this endpoint mirrors the POST variant, some parameters use flattened names (see the comparison table at the bottom of this page).

Query Parameters

job_titles
string
Comma-separated list of job titles to search for (e.g., “Software Engineer,Data Scientist”)
keywords
string
Comma-separated list of keywords to match in job descriptions
location_group
string
Predefined geographic area (e.g., “Bay_Area”)
location_types
string
Comma-separated list of work arrangements. Accepted values: "Remote", "Hybrid", "In-Person".
experience
string
Comma-separated list of experience levels. Accepted values: "Entry", "Junior", "Mid", "Senior", "Executive".
years_from
number
Minimum years of experience
years_to
number
Maximum years of experience
company_types
string
Comma-separated list of company types (e.g., “Startup,Enterprise”)
company_name
string
Filter by specific company name
salary_from
number
Minimum salary
salary_to
number
Maximum salary
job_types
string
Comma-separated list of job types (e.g., “Full Time,Contract”)
industry
string
Filter by industry sector
sub_industry
string
Filter by more specific industry category
visa
string
Filter for jobs that offer visa sponsorship (“true” or “false”)
sort_by
string
Field to sort results by. Accepted values: "relevance", "date_posted", "salary", "company", "yoe". Invalid values are silently ignored.
sort_order
string
Sort direction ("asc" or "desc").
page
number
Page number for pagination (default: 1)
limit
number
Number of results per page (default: 10)

Response

jobs
array
Array of job objects
total_count
number
Total number of matching jobs
company_count
number
Number of unique companies in the results
page
number
Current page number
limit
number
Number of results per page
total_pages
number
Total number of pages

Example Request

curl -X GET "https://api.hirebase.org/v2/jobs/search?job_titles=Software+Engineer,Data+Scientist&keywords=Python,AWS&location_types=Remote&salary_from=80000&salary_to=120000&sort_by=relevance&sort_order=desc&page=1&limit=10" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY"

Example Response

{
  "jobs": [
    {
      "_id": "6123456789abcdef01234567",
      "company_name": "TechCorp",
      "job_title": "Software Engineer",
      "description": "We're looking for a talented Software Engineer...",
      "application_link": "https://apply.techcorp.com/jobs/123",
      "job_type": "Full Time",
      "location_type": "Remote",
      "salary_range": {
        "min": 80000,
        "max": 120000,
        "currency": "USD",
        "period": "yearly"
      },
      "yoe_range": {
        "min": 0,
        "max": 1
      },
      "requirements_summary": "Python, AWS, and a CS degree",
      "visa_sponsored": true,
      "locations": [
        {
          "city": "San Francisco",
          "region": "CA",
          "country": "United States"
        }
      ],
      "expired": false
    }
  ],
  "total_count": 120,
  "company_count": 30,
  "page": 1,
  "limit": 10,
  "total_pages": 12
}

Parameter Differences from POST Version

While the functionality is the same as the POST version, the parameter naming for some fields is slightly different:
POST ParameterGET Parameter
yoe.minyears_from
yoe.maxyears_to
salary.minsalary_from
salary.maxsalary_to

Notes

  • Use URL encoding for special characters and spaces in parameter values
  • Arrays in the POST version are represented as comma-separated strings in the GET version
  • For complex queries with many parameters, the POST version may be more convenient