HigherEdJobs Scraper [$1.4/1K💰] | Academic Jobs | Faculty Data avatar

HigherEdJobs Scraper [$1.4/1K💰] | Academic Jobs | Faculty Data

Pricing

from $1.30 / 1,000 results

Go to Apify Store
HigherEdJobs Scraper [$1.4/1K💰] | Academic Jobs | Faculty Data

HigherEdJobs Scraper [$1.4/1K💰] | Academic Jobs | Faculty Data

Extract faculty, administrative and executive job postings from HigherEdJobs.com — titles, institutions, locations, salaries, categories, deadlines, descriptions and apply links. Built for academic job-market research, salary benchmarking and higher-ed hiring intelligence. $1.40 per 1,000 jobs.

Pricing

from $1.30 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Security

Limited permissions

Share

HigherEdJobs Scraper

Extract faculty, administrative and executive job postings from HigherEdJobs.com — job titles, hiring institutions, locations, published salaries, categories, application deadlines, full descriptions and direct apply links — in structured JSON.

Built for academic job-market research, faculty salary benchmarking, higher-education hiring intelligence and university-career-data pipelines.

Track Faculty and Executive Hiring Across US Higher Education

  • Academic job-market research — faculty, administrative and executive openings across US colleges and universities in one dataset.
  • Salary benchmarking — capture published salary text (salaryText) wherever institutions disclose it.
  • Institution-level hiring intelligence — which universities hire, for which disciplines, in which states, on what timeline.
  • Job-aggregation feeds — normalized rows (title, institution, location, categories, apply URL) ready for boards or AI matching.
  • Deadline & pipeline monitoring — application deadlines (validThrough) and posted dates for time-sensitive tracking.
  • Discipline-level analysis — structured categories (Physics, Computer Science, Nursing …) for field-by-field comparisons.

How It Works

How the HigherEdJobs Scraper works: academic job pages become rows with institutions, salaries, deadlines, descriptions and apply links.

The Actor parses the JSON-LD JobPosting block on each server-rendered page, then fills gaps from the HTML for salary, categories and application URLs. Incapsula challenges are detected and retried through fresh sessions or IPs.

Each row covers one job with its JobCode, title, institution, location, position type, categories, published salary text, posted date, deadline, description and apply link. Results are deduplicated by JobCode and stop exactly at maxItems.

HigherEdJobs is server-rendered, so a CheerioCrawler (plain HTTP + HTML parsing) is enough — no browser automation. Per page the Actor:

  1. Parses the embedded JSON-LD JobPosting structured data (dates, description, organization, employment type).
  2. Falls back to the HTML markup for fields JSON-LD does not expose (salary, categories, apply URL) and for VIP-branded page layouts.
  3. Detects anti-bot challenge pages (Imperva Incapsula challenges datacenter IPs) and retries them with a fresh session or IP instead of saving empty data — the default proxy group is UNBLOCKER, which solves those challenges.
  4. Deduplicates job detail pages by JobCode, follows pagination with NumJobs=100 enforced, and counts saved results internally so maxItems is honored exactly — the crawl stops early instead of wasting requests. robots.txt is respected.

Input Parameters

FieldTypeRequiredDefaultNotes
startUrlsarrayNoToday's jobs, 100/pageSearch results, category/region listings, or individual detail pages.
maxItemsintegerNo10Max saved job results; the crawl stops as soon as it is reached.
maxRequestsPerCrawlintegerNo200Page budget; each job detail costs one request.
includeDetailsbooleanNotrueVisit each job's detail page for description, apply URL, deadline and salary. false = fast listing-only crawl (billed per detail saved).
maxConcurrencyintegerNo25Pages downloaded in parallel. Applied from the first request, so detail pages are fetched in parallel right away (10–50 recommended).
proxyobjectNoApify Proxy, UNBLOCKER groupThe site challenges datacenter IPs; UNBLOCKER solves it, RESIDENTIAL works as an alternative.

Example start URLs:

https://www.higheredjobs.com/search/today.cfm?NumJobs=100
https://www.higheredjobs.com/search/advanced_action.cfm?Keyword=professor&NumJobs=100
https://www.higheredjobs.com/region/default.cfm?Region=5
https://www.higheredjobs.com/search/details.cfm?JobCode=179588781

Output Fields

One object per job (15 fields):

FieldDescription
jobIdHigherEdJobs JobCode identifier
titleJob title
institution, institutionUrlHiring institution and its website
location, city, stateJob location
positionTypeFull-Time, Part-Time, Contract, …
categoriesJob categories (e.g. Physics, Computer Science)
salaryTextSalary as published, when provided
postedDatePosting date (ISO from JSON-LD when available)
deadlineApplication deadline (validThrough), when published
descriptionFull job description as plain text (detail mode)
applyUrlDirect application link to the employer's site
urlHigherEdJobs detail page

Example Input

{
"startUrls": [{ "url": "https://www.higheredjobs.com/search/advanced_action.cfm?Keyword=computer+science&NumJobs=100" }],
"maxItems": 200,
"includeDetails": true,
"maxRequestsPerCrawl": 250
}

Example Output

{
"jobId": "179588781",
"title": "Assistant Professor of Physics - Applied Mechanics",
"institution": "California State University, San Marcos",
"institutionUrl": "http://www.csusm.edu/",
"location": "San Marcos, CA",
"city": "San Marcos",
"state": "CA",
"positionType": "Full-Time",
"categories": ["Physics"],
"salaryText": "$6,221 - $13,224 per month",
"postedDate": "2026-10-15T05:12:41.11",
"deadline": "2028-04-07T23:59:59.9",
"description": "California State University San Marcos has an opening for a tenure track assistant professor of physics…",
"applyUrl": "https://apptrkr.com/9899433",
"url": "https://www.higheredjobs.com/search/details.cfm?JobCode=179588781"
}

Automate Academic Job Monitoring With Schedules & Webhooks

  • Schedule daily runs on Today's Jobs or per-discipline searches to keep a rolling academic job-market dataset.
  • Webhooks fire on run completion — push new postings into Slack, Sheets, a data warehouse or your own board.
  • API / MCP — start runs and download datasets from any pipeline or AI agent.
  • Listing-only mode (includeDetails: false) gives a cheap daily inventory of titles, institutions, locations and salaries; turn details on for full records.
  • Cost control — free accounts get a capped preview; paid accounts are billed $1.40 per 1,000 saved jobs plus $2.00 per 1,000 detail fetches.

Verified related actors on Apify that pair well with this one. All links point to real, publicly available actors.

Frequently Asked Questions

Does HigherEdJobs have an official API?

No public job-data API is published. HigherEdJobs serves server-rendered HTML search and detail pages (plus RSS feeds for categories, which open-source academic-job trackers use). Institutions post their ads through paid placement, not through a public developer API. This Actor reads the same public pages any visitor sees and returns them as structured JSON.

What are alternatives to HigherEdJobs for academic job data?

Comparable US higher-ed job boards: The Chronicle of Higher Education jobs (jobs.chronicle.com), Inside Higher Ed Careers (which offers employer-side posting automation but no public read API) and HERC (hercjobs.org, 550+ member institutions). For employer-direct feeds, many universities also publish through Greenhouse or Lever, whose public APIs (and the scrapers in Related Actors) cover them. Most serious academic-job trackers aggregate several boards at once.

Is salary data included?

Wherever an institution publishes a salary, the Actor captures the exact published text in salaryText (e.g. $6,221 - $13,224 per month). Many academic postings do not disclose salary — those rows carry an empty value rather than an estimate.

Can I monitor only new or changed postings?

This Actor returns the current state of each run's scope. For change-only feeds (NEW / UPDATED / EXPIRED events between scheduled runs), pair it with the monitoring-enabled HigherEdJobs actor linked in Related Actors, or diff consecutive datasets yourself — jobId is stable across runs.

How much does a run cost?

Pay per event: $1.40 per 1,000 saved jobs plus $2.00 per 1,000 detail-page fetches when includeDetails is on. 100 jobs with details cost 100 × ($0.0014 + $0.002) = $0.34. includeDetails: false drops the detail charge entirely for listing-only snapshots.

Can an AI agent call this Actor?

Yes — JSON input through the Apify API and MCP server. See For AI Agents & LLM Apps for the minimal call, output fields and billing rules.

Why does the default proxy use the UNBLOCKER group?

HigherEdJobs runs Imperva Incapsula, which challenges datacenter IP addresses immediately. The default proxy input is Apify Proxy with the UNBLOCKER group, which solves those challenges automatically; RESIDENTIAL is a working alternative. Set useApifyProxy: false only for small crawls from a residential IP.

For AI Agents & LLM Apps

Returns structured academic job postings from HigherEdJobs.com: institution, location, position type, categories, published salary, deadlines, description and apply link.

Minimal input (today's jobs, 100 saved):

{ "maxItems": 100 }

Keyword search with details:

{
"startUrls": [{ "url": "https://www.higheredjobs.com/search/advanced_action.cfm?Keyword=professor&NumJobs=100" }],
"maxItems": 250,
"includeDetails": true
}

Output fields: jobId, title, institution, institutionUrl, location, city, state, positionType, categories, salaryText, postedDate, deadline, description, applyUrl, url.

Behaviors an agent should know:

  • Omitted startUrls defaults to Today's jobs at 100 per page.
  • includeDetails: true (default) adds one billed job-detail event ($2/1K) per saved job; false returns listing-only fields (no description, applyUrl or deadline).
  • maxItems is enforced exactly via an internal counter — the run stops early once reached.
  • Results are deduplicated by jobId (JobCode) even when multiple search pages link to the same job.
  • Pagination links are rewritten with NumJobs=100 so each listing page yields up to 100 jobs.
  • Leave proxy at its default (UNBLOCKER) unless you have residential IPs; the site challenges datacenter addresses.

Billing: pay per event — $0.0014 per saved job (apify-default-dataset-item) plus $0.002 per detail page fetched (job-detail).

This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by HigherEdJobs, Inc. or higheredjobs.com. It accesses only publicly available search and detail pages — no login, no authenticated areas; anti-bot challenge pages are retried through Apify's standard proxy products rather than by breaking into protected areas, and the Actor respects robots.txt. Job data returned (institutions, titles, locations, published salaries, descriptions) is what each institution already publishes to every visitor; where personal contact data appears inside descriptions, handle it under GDPR/CCPA rules. You are responsible for your own compliance with HigherEdJobs' Terms of Service and applicable data-protection law; do not use contact data from the output for unsolicited commercial outreach in violation of applicable law such as CAN-SPAM, GDPR or TCPA.

SEO Keywords

higheredjobs scraper, higheredjobs api, higheredjobs data, academic job listings, higher education jobs data, faculty job postings, university job board data, higher ed job market, academic job market data, college job listings, faculty salary data, higher education hiring, scrape academic jobs, academic positions database, inside higher ed jobs, chronicle higher education jobs, herc jobs data, job data universities