Teaching Vacancies UK Scraper: DfE School Jobs and Change Feed
Pricing
from $1.88 / 1,000 job postings
Teaching Vacancies UK Scraper: DfE School Jobs and Change Feed
Scrape public England school vacancies from the DfE Teaching Vacancies service. Export typed salaries, closing dates, roles, schools, application links, and safe new/changed/removed records for Google Sheets, Make, Zapier, or scheduled hiring feeds. No login. $0.0025 per vacancy.
Pricing
from $1.88 / 1,000 job postings
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
๐ Teaching Vacancies UK Scraper: DfE School Jobs and Change Feed
|
Turn public school vacancies into a hiring feed you can act on Keep salary, school context, closing dates, and application routes together, then return only meaningful changes on scheduled runs. |
|
๐ซ Official source Public DfE vacancy pages, nothing scraped from private accounts. |
๐ท Typed pay Salary values and periods parsed into usable numbers. |
๐งญ Useful filters Roles, phases, subjects, and dates narrowed before you export. |
๐ Change feed New, changed, unchanged, and removed on every scheduled run. |
Find current England school vacancies, published pay, closing dates, and genuine application links from the official Teaching Vacancies service. Export to Google Sheets, Make, or Zapier, or schedule the same search to watch for new, changed, and removed roles.
๐ฏ What does this Actor do?
Teaching Vacancies UK Scraper collects public listings from the UK Department for Education service. It is built for recruitment teams, multi-academy trusts, education researchers, and job-feed operators.
The default run is deliberately small. It returns up to 20 listing-page records from two pages and does not fetch detail pages unless you enable enrichment. That keeps the first run quick and inexpensive.
When detail enrichment is enabled, the Actor can add full descriptions, structured salary values, posting and closing dates, application links, school websites, organisation pages, pupil counts, age ranges, and Ofsted links when the source publishes them.
๐ก Who is this for?
- I am a recruitment lead at a multi-academy trust. I need every open vacancy across my schools in one export so that I can spot gaps without checking each school's page by hand.
- I am a supply-teaching agency. I need to know the moment a new vacancy posts in my region so that I can reach the school before other agencies do.
- I am an education researcher. I need typed salary and location data across many postings so that I can compare pay by phase and region.
- I am building a school-jobs feed or newsletter. I need a reliable new-and-changed signal so that I only send subscribers vacancies they have not seen yet.
๐ How to use it
|
STEP 1 Choose a source Paste a public search URL or enter keywords and UK locations. |
STEP 2 Set the shortlist Filter by role, phase, subject, school type, pay dates, or application readiness. |
STEP 3 Run or schedule Export current roles, or use a named state for a focused change feed. |
- Add a public Teaching Vacancies search URL, or enter keywords and locations.
- Select source-supported filters and choose whether to fetch vacancy details.
- Run once for a current dataset, or reuse a state name for scheduled monitoring.
The Actor rejects private service paths, external hosts, and radius searches that the source does not permit. Missing source values are omitted rather than replaced with guesses.
๐งพ Input
| Field | Type | Required | Description |
|---|---|---|---|
startUrls | array of URLs | No | Public Teaching Vacancies search or vacancy URLs. |
searchQueries | array of strings | No | Keywords such as primary teacher, maths, or SENCO. |
locations | array of strings | No | UK towns, cities, counties, or postcodes. |
jobRoles | array of enums | No | Teaching and support role filters. |
phases | array of enums | No | Nursery, primary, secondary, sixth form, or through. |
subjects | array of strings | No | Public subject names accepted by the source. |
organisationTypes | array of enums | No | Academy, local authority maintained school, or FE college. |
schoolTypes | array of enums | No | Faith-school or special-school filters. |
workingPatterns | array of enums | No | Full time, part time, or job share. |
ectStatus | enum | No | Any, ECT suitable, or QTS not needed. |
visaSponsorshipOnly | boolean | No | Keep only source-marked sponsorship vacancies. |
quickApplyOnly | boolean | No | Require a public application or advert link. |
sortBy | enum | No | Closing soon or newest first. |
postedWithinDays | integer | No | Local date filter for recently published vacancies. |
closingWithinDays | integer | No | Local date filter for upcoming closing dates. |
includeDetails | boolean | No | Fetch public vacancy pages for richer fields. |
detailRefreshMode | enum | No | Refresh new or summary-changed records, or every selected record. |
includeOrganisationSnapshot | boolean | No | Add visible related vacancies from public organisation pages. |
maxDetailRequests | integer | No | Bound optional detail work for predictable runs. |
outputMode | enum | No | Current snapshot, snapshot with changes, or changes only. |
stateName | string | No | Independent name for a recurring monitoring scope. |
maxItems | integer | No | Maximum output rows, from 1 to 500. |
maxPages | integer | No | Maximum listing pages per source URL, from 1 to 25. |
proxyConfiguration | object | No | Optional Apify Proxy configuration. Direct access is the default. |
๐ฆ Default input
{"startUrls": [{ "url": "https://teaching-vacancies.service.gov.uk/jobs" }],"maxItems": 20,"maxPages": 2,"includeDetails": false,"outputMode": "snapshotAndChanges","stateName": "default","proxyConfiguration": { "useApifyProxy": false }}
๐ Data table
| Field | Type | Description |
|---|---|---|
recordType | string | Always job. |
jobId | string | Stable source identifier or canonical vacancy slug. |
title | string | Published vacancy title. |
employerName | string | School or organisation name when published. |
sourceUrl | URL | Canonical public vacancy page. |
description | string | Source description when detail enrichment is enabled. |
salaryText | string | Original published salary text. |
salaryMin, salaryMax | number | Parsed salary values in pounds when safely available. |
salaryCurrency | string | Usually GBP when a numeric salary is present. |
salaryPeriod | string | Year, month, week, day, or hour. |
salaryBasis | string | Actual, pro rata, full-time equivalent, scale, or unspecified. |
datePosted, closingDate, validThrough | date-time | Source-backed vacancy dates. |
jobRole, subject, phase, keyStage | string | Source role and education classifications. |
schoolType, organisationType | string | Source school and organisation values. |
workingPattern, contractType | string | Published work and contract details. |
visaSponsorship, ectSuitable, qtsNotNeeded | string or boolean | Source-backed eligibility fields. |
location, streetAddress, city, region, postalCode, country | string | Public school location fields. |
pupilCount, daysUntilClosing | number | Numeric values derived only from valid source data. |
organisationUrl, schoolWebsite, ofstedUrl, applyUrl | URL | Public links exposed by the vacancy page. |
organisationActiveJobs | array | Visible related vacancies when organisation enrichment is enabled. |
hasSalary, hasApplyUrl, hasDescription, isActive | boolean | Factual availability and monitoring flags. |
changeType | string | new, changed, unchanged, or removed. |
changedFields | array | Fields that changed since the prior saved state. |
previousSalaryMin, previousSalaryMax, previousClosingDate | number or date-time | Previous values when a factual change is detected. |
searchUrl, sourcePage, scrapedAt | URL, number, date-time | Search traceability and retrieval metadata. |
๐ Monitoring behavior
Use the same stateName for recurring runs.
- The first complete run marks current vacancies as
new. - An identical run marks them as
unchanged. - Salary, title, employer, location, eligibility, or closing-date changes become
changed. - A vacancy becomes
removedonly after a complete, uncapped source run. - Partial, capped, failed, or detail-incomplete runs never infer removals.
detailRefreshMode: "newOrChanged"reuses saved detail data for unchanged vacancies.
๐ฐ Pricing
This Actor uses pay-per-event pricing: you pay per vacancy returned, plus a small fixed run-start charge. Empty runs do not create result-item charges, and there is no subscription requirement. Detail and organisation enrichment are included in the same result price and remain opt-in, so you control request volume.
โญ Enjoying Teaching Vacancies UK Scraper?
|
โญ โญ โญ โญ โญ One scheduled run just caught a vacancy change before you'd have noticed it. A 5-star rating takes 10 seconds and helps other recruitment teams find this Actor. Your feedback also tells us what to build next. |
| โ ย ย Rate this Actor on Apify |
๐ง Tips
- Keep the default run listing-only while you check the fields, then turn on
includeDetailsonce you need descriptions or application links. - Give each recurring search its own
stateNameso separate monitors do not share a baseline. - Use
detailRefreshMode: "newOrChanged"on scheduled runs to skip re-fetching vacancies that have not changed. - Set
sortBy: "expiringSoon"orclosingWithinDayswhen you only care about vacancies closing soon. - Run an uncapped search occasionally so the Actor can safely detect
removedvacancies.
โ FAQ
Does it collect private candidate or reviewer information?
No. It collects public vacancy and school information only. Private accounts, candidate records, reviewer identities, and unpublished contact data are outside the scope.
Can I fetch full vacancy descriptions and application links?
Yes. Enable includeDetails. The Actor reads public vacancy pages and omits fields that the source does not publish.
Why are some detail requests skipped on later runs?
newOrChanged reuses saved details for unchanged vacancies. Select all when you need every selected detail page refreshed.
Can I monitor vacancies closing soon?
Yes. Use sortBy: "expiringSoon" or set closingWithinDays for a local closing-date filter.
๐ Other actors
- Job Bank Canada Scraper & LMIA Job Monitor โ - Monitor Canadian government job postings and LMIA listings.
- HigherEdJobs Scraper: Academic Job Monitor โ - Track academic vacancies with salary and change signals.
- EdJoin Jobs Scraper: Educator & School District Listings โ - Collect public K-12 school district vacancies and deadlines.
- NHS Jobs Scraper: UK Trust Vacancy Alerts โ - Monitor another UK public-sector vacancy source.