HigherEdJobs Scraper: Faculty, Staff & Admin Jobs
Pricing
from $1.00 / 1,000 actor starts
HigherEdJobs Scraper: Faculty, Staff & Admin Jobs
Scrape HigherEdJobs.com listings for faculty, administrative and staff roles at US universities and colleges. Returns title, institution, location, salary, category, badges and, with details on, the full description, apply URL, employer website, requisition id and rank.
Pricing
from $1.00 / 1,000 actor starts
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
HigherEdJobs Scraper: Faculty, Staff and Administrative Jobs in US Higher Education
Extract job listings from HigherEdJobs.com, the largest US higher-education job board. Faculty, administrative, executive and staff roles at universities, colleges and community colleges, returned as structured data. No login and no browser needed.
What data can you extract?
Every job includes:
- Position: title, category, position type (Full-Time, Adjunct/Part-Time), employment type, department, detected academic rank, tenure-track flag, credentials required (PhD, MD, JD, EdD, Master's and more)
- Institution: name, location (city, state, country), remote flag, institution website, HigherEdJobs institution profile URL
- Pay and timing: salary text (trimmed to the pay sentence) with parsed min, max and period (see Salary below), posted date and time, application deadline (
deadline_atas aYYYY-MM-DDdate when the posting gives a future date,deadline_textwith the raw text,deadline_open_until_filled) - Listing badges: Military-friendly, Inclusive Workplace, Dual Career, Priority
- With
includeJobDetails: full description (text and HTML), final apply URL, the institution's own requisition id, industry tags - Meta: search query, results page, scrape time, job URL
Most fields appear twice: the original name and a canonical name (institution_name and company_name, job_url and source_url, application_url and apply_url, posted_at and posted_at_datetime).
Salary fields
Only dollar-prefixed amounts are parsed, and 45K means 45,000. salary_period is annual, monthly or hourly. It comes from the pay text (hour, month, year, annual); when no period is named and every amount is 15,000 or more, it is annual. Smaller amounts with no period leave it null. Non-standard pay (per semester, per course, per credit hour, per load, per week or day) keeps the amount in salary_text, leaves salary_min and salary_max null and puts the unit in salary_period_raw (semester, course, credit, ...). salary_period_raw also keeps the older vocabulary (year, month, hour) for standard periods.
Dates, remote and institution type
- Search result pages show only a relative posted date ("Posted 3 days ago"), so
posted_at_datetimeis date-only (midnight UTC) until the detail page adds the exact time (includeJobDetails). remote_optionisonsite,hybridorremote. Postings with no remote or hybrid signal areonsite, because the site files them under Location Bound.institution_typeis exact when you use theinstitutionTypefilter. Otherwise it is inferred from the institution name and is null when unclear, because the site does not print it on job pages.industryis one constant tag set by the site,dual_careeris a rare badge andpriorityis a paid upgrade shown on a small share of jobs. Treat them as informational.
Pricing
Pay per event, no subscription:
- Start: $0.001 per run
- Search result: $0.003 per job returned
- Detail result: $0.005 per job where the description was parsed (only when
includeJobDetailsis on) - Institution details: $0.005 per unique institution (only when
includeCompanyDetailsis on)
Example: 100 jobs without details cost $0.301 ($0.001 + $0.30). With details, 100 jobs cost $0.80 ($0.001 + $0.30 + $0.50). You are only charged for jobs that were written to your dataset.
Input
{"searchQueries": ["assistant professor computer science"],"sortBy": "newest","maxResultsPerQuery": 20,"includeJobDetails": true,"location": "California","category": "faculty","institutionType": "four_year"}
| Field | Notes |
|---|---|
searchQueries | Keywords. Each runs as its own search. Defaults to professor when empty. |
searchUrls | HigherEdJobs search result URLs. Pagination is added for you. |
directUrls | Single details.cfm?JobCode= job URLs. |
companyUrls | Institution pages (InstitutionProfile.cfm?ProfileID=N). Returns that institution's jobs plus company_about, company_social_urls and company_profile_url. |
startUrls | Alias. Any mix of the three URL kinds, routed by URL shape. |
postedWithinDays | Keep jobs posted in the last N days. The site has no date filter, so it is applied to the posted date and, with sortBy: newest, paging stops early. |
positionType | any, full_time, adjunct_part_time (site filter). |
remoteOnly | Only Online/Remote positions (site filter). |
titleOnly | Keyword must match the job title (site filter). |
maxResultsPerQuery | Jobs per keyword or URL. Default 20. |
maxResults | Total cap. Empty or 0 means per-query cap times the number of queries. |
sortBy | newest (default), priority, institution, location, title, category. |
includeJobDetails | Fetch each detail page. Default on. |
includeCompanyDetails | Fetch each institution profile once and add company_website, company_about, company_careers_url, company_headquarters, company_social_urls. Default off. |
location | State name or code, or City, ST (for example Boston, MA). |
category | any, faculty, administrative, executive, staff. |
institutionType | any, four_year, two_year, k12, other. |
maxJobsPerCompany | Cap per institution. Default 25. |
maxConcurrency | Detail pages fetched in parallel. Default 10, maximum 20. |
Institution details are read from the most recent archived copy of the institution profile page (the live profile pages sit behind a bot check that cannot be passed without a full browser), so mission text and links can be a few months old. Job rows are never delayed by this: company enrichment is time-boxed, jobs are always delivered, and an institution is only billed when its profile was read.
Sample output
{"job_id": "179572646","title": "Lab Technician (Temp) - Genetics, Molecular and Cellular Biology","institution_name": "Kennesaw State University","location": "Kennesaw, GA","category": "Laboratory and Research","position_type": "Full-Time","posted_at": "Posted Today","posted_at_datetime": "2026-09-29T19:47:25Z","employer_job_id": "304188","company_website": "https://www.kennesaw.edu/","military_friendly": true,"job_url": "https://www.higheredjobs.com/search/details.cfm?JobCode=179572646"}
Use with AI agents (MCP)
Connect this actor to any MCP-compatible AI client: Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.
Configure the MCP server with this actor preconfigured at mcp.apify.com?tools=santamaria-automations/higheredjobs-scraper.
{"mcpServers": {"apify": {"command": "npx","args": ["mcp-remote","https://mcp.apify.com/?tools=santamaria-automations/higheredjobs-scraper","--header","Authorization: Bearer <YOUR_API_TOKEN>"]}}}
Example prompt: "Use higheredjobs-scraper to find the 30 newest assistant professor jobs in biology with salary and apply URL."
See the auto-generated API tab for language-specific examples (cURL, JS, Python, .NET, Ruby, PHP).
Tips
- Raise
maxResultsPerQueryfor bigger pulls. The scraper pages until the cap is reached or results run out. - Postings often say "commensurate with experience" and list no salary, so salary fields are empty for many jobs.
- Turn
includeJobDetailsoff for a faster, cheaper listing-only pull. - Use
company_websitewith the email scraper and contact extractor below to find hiring contacts.
Related actors
- Website Job Extractor: jobs from any company career page.
- Website Email Scraper: find emails on the institution websites in
company_website. - Website Contact Extractor: names, roles and phones from those sites.
- Indeed Scraper: Indeed listings across many countries.
- Glassdoor Scraper: jobs with salary estimates and company ratings.
- USAJobs Federal Scraper: US federal government jobs.
Support
- Questions or problems? Email contact@nanoscrape.com, we usually reply within 6 hours. You can also open a ticket in the Issues tab.
- Need a field that is missing? Open a ticket with the field name and a HigherEdJobs URL that shows it.
- Found a bug? Include the run URL so we can reproduce it.