NHS UK Jobs Scraper avatar
NHS UK Jobs Scraper

Pricing

Pay per usage

Go to Apify Store
NHS UK Jobs Scraper

NHS UK Jobs Scraper

Efficiently extract vacancies from the UK's official health job board. This lightweight actor is designed for speed and reliability. For the best performance and to avoid blocking, using residential proxies is highly recommended. Streamline your healthcare recruitment data today!

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Extract comprehensive job listings from NHS Jobs UK with advanced search capabilities. This scraper automatically uses JSON API when available and seamlessly falls back to HTML parsing for maximum reliability and data quality.

What does NHS UK Jobs Scraper do?

This scraper helps you extract structured job data from NHS Jobs UK, the official recruitment platform for National Health Service positions across the United Kingdom.

Key capabilities:

  • 🔍 Search by keyword, location, contract type, and working pattern
  • 📊 Extract comprehensive job details including salary, closing dates, and descriptions
  • ⚡ Fast and efficient with dual extraction methods (JSON API + HTML parsing)
  • 🎯 Filter by NHS staff groups and pay bands
  • 📍 Location-based search with configurable distance radius
  • 🔄 Automatic pagination handling
  • ✅ Clean, structured output ready for analysis

Why use NHS UK Jobs Scraper?

  • Dual Extraction Method: Prioritizes JSON API for speed, automatically falls back to HTML parsing for reliability
  • Comprehensive Data: Captures job title, organisation, location, salary, contract details, descriptions, and more
  • Flexible Search: Multiple filter options to find exactly the jobs you need
  • Production Ready: Built with modern best practices, error handling, and deduplication
  • No Setup Required: Run directly on Apify platform with zero configuration

Use Cases

Input Configuration

The scraper accepts various input parameters to customize your job search:

Search Parameters

FieldTypeDescriptionExample
keywordStringSearch by job title, skill, or keyword"nurse", "doctor", "administrator"
locationStringCity, town, or postcode to search near"London", "Manchester", "SW1A 1AA"
distanceStringSearch radius in miles from location"10", "20", "50"
contractTypeStringFilter by contract type"Permanent", "Fixed-Term", "Locum"
workingPatternStringFilter by working pattern"Full time", "Part time", "Flexible working"
staffGroupStringNHS staff group filter"Nursing and Midwifery"
payRangeStringSalary range or NHS pay band"Band 5", "Band 6"

Advanced Options

FieldTypeDescriptionDefault
startUrlStringStart from a specific NHS Jobs search URL (overrides search parameters)-
collectDetailsBooleanVisit each job page for full descriptions (slower but more complete)true
results_wantedIntegerMaximum number of jobs to extract100
max_pagesIntegerMaximum search result pages to process50
proxyConfigurationObjectProxy settings (residential recommended)Apify Proxy

Input Example

{
"keyword": "registered nurse",
"location": "London",
"distance": "15",
"contractType": "Permanent",
"workingPattern": "Full time",
"staffGroup": "Nursing and Midwifery",
"payRange": "Band 5",
"collectDetails": true,
"results_wanted": 50,
"max_pages": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Quick Start Example

Minimal configuration to get started quickly:

{
"keyword": "nurse",
"location": "Manchester",
"results_wanted": 20
}

Using Start URL

Skip the search form and start from a specific NHS Jobs URL:

{
"startUrl": "https://www.jobs.nhs.uk/candidate/search/results?keyword=paramedic&location=Birmingham",
"collectDetails": true,
"results_wanted": 30
}

Output Data

The scraper provides comprehensive, structured job data in JSON format:

Output Schema

{
"title": "Senior Staff Nurse - Emergency Department",
"company": "NHS Greater Manchester Integrated Care",
"location": "Manchester Royal Infirmary, Manchester M13 9WL",
"salary": "£35,392 to £42,618 a year",
"contract_type": "Permanent",
"working_pattern": "Full time",
"date_posted": "05 December 2024",
"closing_date": "02 January 2025",
"reference": "MRI-2024-12345",
"description_html": "<p>We are seeking an experienced...</p>",
"description_text": "We are seeking an experienced...",
"url": "https://www.jobs.nhs.uk/candidate/jobadvert/MRI-2024-12345"
}

Field Descriptions

FieldTypeDescription
titleStringJob title/position name
companyStringNHS trust or organisation name
locationStringJob location with postcode
salaryStringSalary range or rate (may include NHS band)
contract_typeStringEmployment contract type (Permanent, Fixed-Term, Locum, Bank, etc.)
working_patternStringWorking hours pattern (Full time, Part time, Flexible, etc.)
date_postedStringDate the job was posted
closing_dateStringApplication deadline
referenceStringJob reference number
description_htmlStringFull job description in HTML format (when collectDetails is true)
description_textStringPlain text version of job description (when collectDetails is true)
urlStringDirect link to job posting

How It Works

  1. Smart Search Construction: Builds optimized search URLs based on your input parameters
  2. Dual Extraction Strategy:
    • First attempts JSON API extraction for maximum speed
    • Automatically falls back to HTML parsing if API unavailable
    • Ensures data quality through multiple extraction methods
  3. Pagination Handling: Automatically processes multiple pages until reaching your desired result count
  4. Detail Collection: Optionally visits each job page to extract complete descriptions and metadata
  5. Data Enrichment: Attempts to extract structured data from JSON-LD when available
  6. Deduplication: Prevents duplicate job listings in results
  7. Clean Output: Provides consistently formatted, structured data ready for immediate use

Performance & Limits

  • Speed: Processes 50-100 jobs per minute (varies with detail collection settings)
  • Concurrency: Optimized at 5 concurrent requests for reliable extraction
  • Rate Limiting: Respects NHS Jobs server capacity with automatic retry logic
  • Memory Efficient: Streams data to dataset, suitable for large-scale extractions

Performance Tips

Common Questions

Can I scrape all NHS jobs?

Yes, set results_wanted to a high number (e.g., 10000) and max_pages accordingly. Be aware this may take longer and consume more compute units.

What if NHS Jobs changes their website?

The scraper uses multiple extraction methods (JSON API, JSON-LD, HTML parsing) to ensure continued functionality even if one method breaks.

Can I filter by specific NHS pay bands?

Yes, use the payRange parameter with values like "Band 5", "Band 6", "Band 7", etc.

How do I search for jobs near a specific location?

Set both location (city/postcode) and distance (radius in miles) parameters:

{
"location": "Leeds",
"distance": "20"
}

Can I export data to CSV or Excel?

Yes, Apify platform provides built-in export to CSV, Excel, JSON, XML, and more formats.

Cost Optimization

  • Use specific search parameters to reduce unnecessary pages
  • Set collectDetails: false if you don't need full descriptions
  • Adjust max_pages to limit scope
  • Use results_wanted to stop when you have enough data

Error Handling

The scraper includes robust error handling:

  • Automatic retry on failed requests (up to 3 attempts)
  • Session management for consistent scraping
  • Graceful fallback between extraction methods
  • Detailed logging for troubleshooting

Integration & Export

Apify Platform

Access your data directly from the Apify platform:

  • Download in multiple formats (JSON, CSV, Excel, XML, RSS, HTML)
  • Access via Apify API
  • Set up scheduled runs
  • Configure webhooks for automation

API Access

Retrieve scraped data programmatically:

$curl https://api.apify.com/v2/datasets/[DATASET_ID]/items

Integration Examples

Works seamlessly with:

  • Google Sheets (via Apify integration)
  • Make (Integromat)
  • Zapier
  • Power BI, Tableau (via CSV/API)
  • Custom applications (via REST API)

Support & Updates

This scraper is actively maintained to ensure compatibility with NHS Jobs website. If you encounter any issues or have feature requests, please report them through the Apify platform.

Important: Always ensure your use of this scraper complies with NHS Jobs' Terms of Service and applicable data protection regulations including GDPR. This tool is designed for legitimate business purposes such as job aggregation, market research, and career planning.

Best Practices

  • Respect rate limits and use reasonable concurrency settings
  • Do not scrape personal data beyond publicly available job listings
  • Use data responsibly and in accordance with UK data protection laws
  • Consider contacting NHS Jobs for official data access if you need large-scale extraction

Technical Requirements

  • Runs on Apify platform (no local setup needed)
  • Uses Apify Proxy (included with platform)
  • Memory: 1024-2048 MB recommended
  • Timeout: 60-300 seconds per request

About This Scraper

Built with modern web scraping best practices:

  • Reliable extraction with multiple fallback methods
  • Clean, maintainable code architecture
  • Comprehensive error handling
  • Optimized for Apify platform
  • Regular updates and maintenance

Ready to extract NHS Jobs data? Click the "Try for free" button to start scraping immediately!