API Documentation

Everything you need to integrate Hospital Jobs API into your product.

Authentication

Every request (except the sample endpoint) must include your API key in the Authorization header, prefixed with Api-Key:

Authorization: Api-Key YOUR_API_KEY

You can get a free API key by registering an account. Requests without a valid key will return a 401 Unauthorized response.

Base URL

All endpoints are relative to:

https://hospitaljobsapi.com/api/

Endpoints

Method Endpoint Description
GET /api/jobs/ List all jobs (paginated, supports filters)
GET /api/jobs/{id}/ Retrieve a single job by ID
GET /api/sample-jobs/ 5 sample jobs — no API key required

Query Parameters

Apply these to GET /api/jobs/. Multiple parameters can be combined.

Parameter Type Description Example
search string Search job titles ?search=nurse
location string Filter by city or state ?location=texas
job_type string full_time, part_time, prn, per_diem, contract ?job_type=full_time
category string Job category ?category=nursing
hospital string Hospital name ?hospital=mayo+clinic
page integer Page number ?page=2
page_size integer Results per page, max 100 ?page_size=50

Response Format

Responses are paginated JSON objects with count, next, previous, and results.

{
  "count": 4181,
  "next": "https://hospitaljobsapi.com/api/jobs/?page=2",
  "previous": null,
  "results": [
    {
      "id": 1042,
      "title": "Registered Nurse - ICU",
      "hospital": "Mayo Clinic",
      "category": "Nursing",
      "industry": "Healthcare",
      "department": "ICU",
      "job_type": "full_time",
      "location": "Rochester, MN",
      "location_type": "On-site",
      "shift": "Night Shift",
      "hours_per_week": "36",
      "posted_date": "2026-06-20",
      "salary": {
        "min": 72000,
        "max": 95000,
        "type": "yearly"
      },
      "apply_url": "https://...",
      "job_url": "https://...",
      "description": "..."
    }
  ]
}

Code Examples

# List jobs
curl -H "Authorization: Api-Key YOUR_API_KEY" \
     https://hospitaljobsapi.com/api/jobs/

# Search + filter
curl -H "Authorization: Api-Key YOUR_API_KEY" \
     "https://hospitaljobsapi.com/api/jobs/?search=nurse&location=texas"

# Single job
curl -H "Authorization: Api-Key YOUR_API_KEY" \
     https://hospitaljobsapi.com/api/jobs/1042/
import requests

headers = {"Authorization": "Api-Key YOUR_API_KEY"}

response = requests.get(
    "https://hospitaljobsapi.com/api/jobs/",
    headers=headers,
    params={"search": "nurse", "location": "texas"},
)
data = response.json()
print(data["count"], "jobs found")
const res = await fetch(
  "https://hospitaljobsapi.com/api/jobs/?search=nurse&location=texas",
  { headers: { "Authorization": "Api-Key YOUR_API_KEY" } }
);
const data = await res.json();
console.log(data.count, "jobs found");