Teaching Vacancies UK Scraper: DfE School Jobs and Change Feed avatar

Teaching Vacancies UK Scraper: DfE School Jobs and Change Feed

Pricing

from $1.88 / 1,000 job postings

Go to Apify Store
Teaching Vacancies UK Scraper: DfE School Jobs and Change Feed

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

GetAScraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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.
  1. Add a public Teaching Vacancies search URL, or enter keywords and locations.
  2. Select source-supported filters and choose whether to fetch vacancy details.
  3. 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

FieldTypeRequiredDescription
startUrlsarray of URLsNoPublic Teaching Vacancies search or vacancy URLs.
searchQueriesarray of stringsNoKeywords such as primary teacher, maths, or SENCO.
locationsarray of stringsNoUK towns, cities, counties, or postcodes.
jobRolesarray of enumsNoTeaching and support role filters.
phasesarray of enumsNoNursery, primary, secondary, sixth form, or through.
subjectsarray of stringsNoPublic subject names accepted by the source.
organisationTypesarray of enumsNoAcademy, local authority maintained school, or FE college.
schoolTypesarray of enumsNoFaith-school or special-school filters.
workingPatternsarray of enumsNoFull time, part time, or job share.
ectStatusenumNoAny, ECT suitable, or QTS not needed.
visaSponsorshipOnlybooleanNoKeep only source-marked sponsorship vacancies.
quickApplyOnlybooleanNoRequire a public application or advert link.
sortByenumNoClosing soon or newest first.
postedWithinDaysintegerNoLocal date filter for recently published vacancies.
closingWithinDaysintegerNoLocal date filter for upcoming closing dates.
includeDetailsbooleanNoFetch public vacancy pages for richer fields.
detailRefreshModeenumNoRefresh new or summary-changed records, or every selected record.
includeOrganisationSnapshotbooleanNoAdd visible related vacancies from public organisation pages.
maxDetailRequestsintegerNoBound optional detail work for predictable runs.
outputModeenumNoCurrent snapshot, snapshot with changes, or changes only.
stateNamestringNoIndependent name for a recurring monitoring scope.
maxItemsintegerNoMaximum output rows, from 1 to 500.
maxPagesintegerNoMaximum listing pages per source URL, from 1 to 25.
proxyConfigurationobjectNoOptional 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

FieldTypeDescription
recordTypestringAlways job.
jobIdstringStable source identifier or canonical vacancy slug.
titlestringPublished vacancy title.
employerNamestringSchool or organisation name when published.
sourceUrlURLCanonical public vacancy page.
descriptionstringSource description when detail enrichment is enabled.
salaryTextstringOriginal published salary text.
salaryMin, salaryMaxnumberParsed salary values in pounds when safely available.
salaryCurrencystringUsually GBP when a numeric salary is present.
salaryPeriodstringYear, month, week, day, or hour.
salaryBasisstringActual, pro rata, full-time equivalent, scale, or unspecified.
datePosted, closingDate, validThroughdate-timeSource-backed vacancy dates.
jobRole, subject, phase, keyStagestringSource role and education classifications.
schoolType, organisationTypestringSource school and organisation values.
workingPattern, contractTypestringPublished work and contract details.
visaSponsorship, ectSuitable, qtsNotNeededstring or booleanSource-backed eligibility fields.
location, streetAddress, city, region, postalCode, countrystringPublic school location fields.
pupilCount, daysUntilClosingnumberNumeric values derived only from valid source data.
organisationUrl, schoolWebsite, ofstedUrl, applyUrlURLPublic links exposed by the vacancy page.
organisationActiveJobsarrayVisible related vacancies when organisation enrichment is enabled.
hasSalary, hasApplyUrl, hasDescription, isActivebooleanFactual availability and monitoring flags.
changeTypestringnew, changed, unchanged, or removed.
changedFieldsarrayFields that changed since the prior saved state.
previousSalaryMin, previousSalaryMax, previousClosingDatenumber or date-timePrevious values when a factual change is detected.
searchUrl, sourcePage, scrapedAtURL, number, date-timeSearch 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 removed only 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 includeDetails once you need descriptions or application links.
  • Give each recurring search its own stateName so 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" or closingWithinDays when you only care about vacancies closing soon.
  • Run an uncapped search occasionally so the Actor can safely detect removed vacancies.

โ“ 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.

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