HealthJobsUK APIhealthjobsuk.com ↗
Access NHS Obstetrics & Gynaecology job listings from HealthJobsUK. Get paginated vacancies, full job details, grades, salaries, and visa sponsorship info.
What is the HealthJobsUK API?
The HealthJobsUK API provides structured access to NHS Obstetrics and Gynaecology job listings across two endpoints, returning up to 50 vacancies per page with fields including job title, NHS grade, employer trust, salary, and contract type. The get_job_details endpoint goes further, delivering full job descriptions alongside structured visa and sponsorship information — data that is otherwise buried in individual listing pages.
curl -X GET 'https://api.parse.bot/scraper/de9664aa-65d3-4202-99d6-0e4178acd56b/list_jobs?page=2' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace healthjobsuk-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: HealthJobsUK SDK — browse NHS O&G vacancies and check visa sponsorship."""
from parse_apis.healthjobsuk_com_api import HealthJobsUK, InputFormatInvalid
client = HealthJobsUK()
# Browse current Obstetrics & Gynaecology listings, capped at 5 items.
for summary in client.job_summaries.list(limit=5):
print(summary.title, "|", summary.employer, "|", summary.location)
# Keyword search, then drill into the first match for full details.
hit = client.job_summaries.list(keyword="consultant", limit=1).first()
if hit is not None:
try:
job = hit.details()
except InputFormatInvalid as e:
print("Job no longer available:", e.message)
job = None
if job is not None:
print(job.title)
print("Grade:", job.grade, "| Salary:", job.salary, "| Hours:", job.hours)
print("Closing:", job.closing_date)
# Check visa/sponsorship eligibility from the structured info block.
visa = job.visa_sponsorship_info
if visa is not None:
print("Sponsorship available:", visa.sponsorship_available)
if visa.visa_text:
print("Visa note:", visa.visa_text[:120])
print("exercised: job_summaries.list / details / visa_sponsorship_info")
Lists NHS job vacancies in the Medical: Obstetrics and Gynaecology sector from HealthJobsUK. Returns paginated results with 50 jobs per page. Each job includes a job_path identifier that can be used with get_job_details to retrieve full details including visa/sponsorship information. An optional keyword filter narrows results to jobs matching the search term.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. Each page returns up to 50 jobs. |
| keyword | string | Optional search keyword to filter job listings (e.g. 'consultant', 'obstetrics'). Omitting returns all Obstetrics & Gynaecology vacancies. |
{
"type": "object",
"fields": {
"jobs": "array of job listing summaries, each with url, title, job_path, grade, employer, location, speciality, and salary",
"page": "current page number",
"count": "number of jobs on this page",
"has_more": "whether more pages are available",
"total_pages": "total number of pages available"
},
"sample": {
"data": {
"jobs": [
{
"url": "https://www.healthjobsuk.com/job/UK/Norfolk/Norwich/Norfolk_Norwich_University_Hospitals_NHS_Foundation_Trust/Obstetrics/Obstetrics-v8261655?_ts=1",
"grade": "Locum Consultant",
"title": "Locum Consultant in Obstetrics",
"salary": "£113,565 - £150,569 pa",
"employer": "Norfolk and Norwich University Hospitals NHS Foundation Trust",
"job_path": "UK/Norfolk/Norwich/Norfolk_Norwich_University_Hospitals_NHS_Foundation_Trust/Obstetrics/Obstetrics-v8261655",
"location": "Norwich",
"speciality": "Obstetrics"
}
],
"page": 1,
"count": 50,
"has_more": true,
"total_pages": 2
},
"status": "success"
}
}About the HealthJobsUK API
What the API Covers
This API targets NHS Medical: Obstetrics and Gynaecology vacancies listed on HealthJobsUK. The list_jobs endpoint returns paginated summaries — up to 50 results per page — with fields for title, grade, employer, location, speciality, salary, and a job_path identifier. The has_more and total_pages fields let you walk through the full catalogue programmatically. An optional keyword parameter filters results (e.g., 'consultant' or 'registrar'), and page controls which page of results to fetch.
Job Detail Fields
Passing a job_path from list_jobs to get_job_details returns a richer record. Structured summary fields include site, town, grade, hours, salary, job_ref, contract, and employer. The endpoint also returns sectioned job description content and a visa_sponsorship_info object that indicates whether the listing references sponsorship, visa, or work permit terms — useful for filtering opportunities by immigration eligibility.
Scope and Limitations
Coverage is limited to the Obstetrics and Gynaecology specialty on HealthJobsUK. The data reflects NHS roles only; private sector or non-O&G specialties are not included. Pagination is fixed at 50 results per page, so iterating page values alongside has_more is the standard approach for full catalogue pulls. The job_path field from list_jobs is required as the sole input to get_job_details; there is no batch detail endpoint.
The HealthJobsUK API is a managed, monitored endpoint for healthjobsuk.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when healthjobsuk.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official healthjobsuk.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate current NHS O&G consultant and registrar vacancies for a medical recruitment platform
- Filter listings by
gradeorsalaryto match candidates to appropriate seniority levels - Check
visa_sponsorship_infoto surface only roles open to internationally trained doctors requiring sponsorship - Build job alert workflows that detect new listings by comparing
job_refvalues across daily pulls - Populate a specialty-specific NHS jobs board focused on obstetrics and gynaecology
- Analyse geographic distribution of vacancies using
townandemployerfields across paginated results
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does HealthJobsUK have an official developer API?+
What does the visa_sponsorship_info field actually tell me?+
get_job_details that indicates whether the individual job listing mentions sponsorship, visa, or work permit requirements. It attempts to extract that information into a consistent shape rather than leaving you to parse free-text descriptions. Not every listing explicitly states sponsorship eligibility, so some values may reflect that the information was absent from the listing.Does the API cover NHS job listings outside Obstetrics and Gynaecology?+
Can I retrieve applications, saved jobs, or candidate account data?+
How should I paginate through all available listings?+
list_jobs at page=1. Each response includes total_pages and a has_more boolean. Increment page and continue requesting until has_more is false. Each page returns at most 50 jobs.