EdJoin Scraper avatar

EdJoin Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
EdJoin Scraper

EdJoin Scraper

Scrape K-12 education job postings from EdJoin.org - California's largest education jobs board - search by keyword, category, job type, employment type, or fetch exact postings by ID/URL.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Scrape K-12 education job postings from EdJoin.org — California's largest education jobs board, used by public school districts, county offices of education, and charter/private schools across California (and a small number of postings from other US states/Canadian provinces). Search by keyword, job category, job type/role, employment type, or fetch exact postings by ID or URL. Every job includes the full job summary, requirements/qualifications, required documents, contact details, and employer profile.

What this actor does

  • Three modes: search (keyword + filter search), byPostingIds (exact lookup by numeric posting ID), byUrls (exact lookup by job page URL)
  • Rich filters: job category (Certificated / Certificated Management / Classified / Classified Management), job type/role (66 specific roles), employment type (full/part time), state, specific school district (by numeric district ID), online-application availability, posted-within-days window, and sort order
  • Full posting detail: complete job summary, requirements/qualifications, required application documents, number of openings, length of work year, employer description and logo, and hiring-contact name/email/phone
  • Empty fields are omitted — every record only contains data that was actually found (district admins fill in these fields inconsistently, so the actor reports exactly what's published, nothing invented)

Output per job

FieldDescription
postingIdNumeric EdJoin posting ID
positionTitleJob title
districtName, districtUrl, districtLogoUrlHiring school district/organization
city, state, countyName, zipLocation
categoryId, categoryNameTop-level job category
jobTypeId, jobTypeSpecific job type/role
employmentTypeFull Time / Part Time
salaryInfo, payRangeFrom, payRangeTo, payRangePeriod, singleRate, singleRatePeriodSalary as advertised
numberOpeningsNumber of open positions
lengthOfWorkYearWork-year schedule text
jobSummaryPlain-text job definition/summary
requirementsPlain-text requirements/qualifications
requiredDocuments[]Documents applicants must submit
employerDescriptionAbout-the-employer text
contactName, contactEmail, contactPhoneHiring contact
onlineAppWhether online application is available on EdJoin
isSummerSchoolSummer-school flag
postedDate, applicationDeadline, createdAtKey dates (ISO 8601 UTC)
postingUrlCanonical job posting URL
recordTypeAlways "job"
scrapedAtUTC scrape timestamp
sourceUrlSame as postingUrl

Input

FieldTypeDefaultDescription
modeselectsearchsearch / byPostingIds / byUrls
keywordsstringteacherFree-text search query (mode=search)
categoryselect0 (All)Job category
jobTypeIdsarray (enum)Filter by specific job type/role
employmentTypeselectFull / Part
statesarray (enum)Filter by posting's state/province (client-side; see FAQ)
countiesarray (enum)Filter by posting's California county, e.g. Los Angeles, San Diego, Alameda (client-side; see FAQ)
districtIdintegerFilter to one specific school district by its numeric EdJoin district ID (server-side)
onlineAppsOnlybooleanfalseOnly postings that accept online applications
postedWithinDaysselect0 (any time)1 / 3 / 7 / 14 / 30 days
sortByselectpostingDatepostingDate / positionTitle / districtName
sortOrderselectdescasc / desc
postingIdsarrayNumeric posting IDs (mode=byPostingIds)
startUrlsarrayJob page URLs (mode=byUrls)
fetchFullDetailsbooleantrueFetch each posting's detail page for the richer field set above
maxItemsinteger50Maximum number of jobs to return (1–2000)

Example: California teaching vacancies, posted this week

{
"mode": "search",
"keywords": "teacher",
"category": "1",
"postedWithinDays": "7",
"sortBy": "postingDate",
"maxItems": 50
}

Example: fetch specific postings by ID

{
"mode": "byPostingIds",
"postingIds": [2260175, 2259549]
}

Example: fetch specific postings by URL

{
"mode": "byUrls",
"startUrls": [{ "url": "https://www.edjoin.org/Home/JobPosting/2260175" }]
}

Use cases

  • Education recruitment agencies monitoring new California teaching/classified vacancies by role
  • Job aggregators syndicating California K-12 job postings
  • Labour-market researchers tracking district hiring volume by job type/category
  • District HR teams benchmarking postings, salaries, and openings against peer districts

FAQ

Does this require login or an API key? No. EdJoin.org job search and job postings are public; no account, cookies, or API key are needed.

What geography does this cover? EdJoin.org is overwhelmingly California-focused — the vast majority of postings are from California school districts and county offices of education, with an occasional posting from another US state or Canadian province. The states and counties filters are applied client-side against each posting's own listed state/county (EdJoin's own state/region search parameters do not reliably filter server-side), so filtering to a non-California state will typically return few or no results — that reflects the real composition of the job board, not a bug in the actor.

Why do some jobs have fewer fields than others? EdJoin lets each school district fill in whichever detail-page sections it wants (job summary, requirements, required documents, etc. are all optional per posting). The actor reports exactly what each district published — it never fabricates a missing field.

How fresh is the data? Every run queries EdJoin.org's live job-search endpoint directly — there is no caching layer.

Why does fetchFullDetails matter? The search-results endpoint only returns a compact summary (title, district, location, salary, dates). Enabling fetchFullDetails (on by default) fetches each job's detail page for the job summary, requirements, required documents, employer profile, and hiring contact — at the cost of one extra request per job.