{
  "openapi": "3.0.1",
  "info": {
    "title": "HigherEdJobs Scraper: Faculty, Staff & Admin Jobs",
    "description": "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.",
    "version": "0.5",
    "x-build-id": "OmwK0XQ0SMIUqhwO6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/santamaria-automations~higheredjobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-santamaria-automations-higheredjobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/santamaria-automations~higheredjobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-santamaria-automations-higheredjobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/santamaria-automations~higheredjobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-santamaria-automations-higheredjobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "One or more job search terms, for example 'professor', 'assistant professor computer science', 'director of admissions'. Each query runs as its own search. Defaults to 'professor' when empty.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Search URLs",
            "type": "array",
            "description": "HigherEdJobs search result URLs (advanced_action.cfm). Pagination is added automatically.",
            "items": {
              "type": "string"
            }
          },
          "directUrls": {
            "title": "Job detail URLs",
            "type": "array",
            "description": "Single job URLs (details.cfm?JobCode=...). Each is fetched directly.",
            "items": {
              "type": "string"
            }
          },
          "companyUrls": {
            "title": "Institution profile URLs",
            "type": "array",
            "description": "Institution pages (InstitutionProfile.cfm?ProfileID=N). Returns all jobs of that institution plus its about text and social links.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs (alias)",
            "type": "array",
            "description": "Backwards-compatible alias. Any mix of the URLs above, routed by shape to searchUrls, directUrls or companyUrls.",
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerQuery": {
            "title": "Max results per query",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum jobs to return per keyword or start URL.",
            "default": 20
          },
          "maxResults": {
            "title": "Max total results",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap on total jobs across all keywords and URLs. Leave empty or 0 to use max results per query times the number of queries."
          },
          "sortBy": {
            "title": "Sort results by",
            "enum": [
              "newest",
              "priority",
              "institution",
              "location",
              "title",
              "category"
            ],
            "type": "string",
            "description": "Result order, using the site's own sort options. Newest posted first is the default.",
            "default": "newest"
          },
          "postedWithinDays": {
            "title": "Posted within days",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only jobs posted in the last N days. The site has no date filter, so this is applied to the posted date (day precision). With newest-first sorting the scraper stops paging once a page has nothing in range."
          },
          "includeJobDetails": {
            "title": "Include full job details",
            "type": "boolean",
            "description": "Fetch each job's detail page for the full description, exact posting time, apply URL, employer website, requisition id, department, rank, credentials and more. Billed as a separate 'job-detail-result' event for each job where a description was parsed.",
            "default": true
          },
          "includeCompanyDetails": {
            "title": "Include institution details",
            "type": "boolean",
            "description": "Fetch each institution's HigherEdJobs profile page once and add company_website, company_about, company_careers_url, company_headquarters and company_social_urls to every job from that institution. Billed as a 'company-detail-result' event ($0.005) once per unique institution.",
            "default": false
          },
          "location": {
            "title": "Location (state or city)",
            "type": "string",
            "description": "State name or code, or 'City, ST', for example 'California', 'TX' or 'Boston, MA'. Leave empty for nationwide.",
            "default": ""
          },
          "category": {
            "title": "Job category",
            "enum": [
              "any",
              "faculty",
              "administrative",
              "executive",
              "staff"
            ],
            "type": "string",
            "description": "Broad category filter. 'any' = no filter. Staff maps to the site's Admin group.",
            "default": "any"
          },
          "institutionType": {
            "title": "Institution type",
            "enum": [
              "any",
              "four_year",
              "two_year",
              "k12",
              "other"
            ],
            "type": "string",
            "description": "Institution type filter. 'any' = no filter. K-12 and Other both map to the site's 'Outside Higher Education'.",
            "default": "any"
          },
          "positionType": {
            "title": "Position type",
            "enum": [
              "any",
              "full_time",
              "adjunct_part_time"
            ],
            "type": "string",
            "description": "Server-side filter. Full-time or Adjunct / Part-time.",
            "default": "any"
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Only Online/Remote positions (site filter).",
            "default": false
          },
          "titleOnly": {
            "title": "Keyword in title only",
            "type": "boolean",
            "description": "Match the keyword in the job title only (site filter), for higher precision.",
            "default": false
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per institution",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Keep at most N jobs per institution. Useful when one large university dominates the results.",
            "default": 25
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Number of detail pages fetched in parallel. Each request uses its own proxy session, so a higher value is a safe speedup. Default 10, maximum 20.",
            "default": 10
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}