{
  "openapi": "3.0.1",
  "info": {
    "title": "EmploymentHero Scraper - Jobs, Salaries & Company Profiles",
    "description": "Scrape Employment Hero's job marketplace: roles with pay ranges, full descriptions, locations and work types; employer profiles with websites and open roles; webinars and events; partner directory and customer case studies. Search with filters, paste links, or target employers directly.",
    "version": "0.1",
    "x-build-id": "qyGXTVOqPvguEzt9n"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~employmenthero-jobs-employers-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-employmenthero-jobs-employers-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/abotapi~employmenthero-jobs-employers-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-employmenthero-jobs-employers-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/abotapi~employmenthero-jobs-employers-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-employmenthero-jobs-employers-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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "organisation",
              "url",
              "resources"
            ],
            "type": "string",
            "description": "Search finds jobs across the marketplace. Employers scrapes company profiles plus every open role they list. URL scrapes the job or employer pages you paste. Resources pulls webinars and events, partner directory entries, customer case studies, news and quick demos.",
            "default": "search"
          },
          "query": {
            "title": "Keywords",
            "type": "string",
            "description": "Free-text job search, matching how the site's own search box works (e.g. chef, registered nurse, warehouse)."
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "City names, one per line. Each city is matched against the site's own location index and searched with a radius around it. Leave empty to search everywhere.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "locationRadiusKm": {
            "title": "Location radius",
            "enum": [
              "5",
              "10",
              "15",
              "25",
              "50",
              "100",
              "200"
            ],
            "type": "string",
            "description": "Radius in kilometres applied around each location when Locations is set.",
            "default": "25"
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Country filter as a multi-select with every country the site's own search offers (95 markets; only the larger ones carry listings today — a market with no roles returns nothing rather than an error). Default: the four largest markets (Australia, Canada, United Kingdom, New Zealand). Untick everything to search all countries everywhere.",
            "items": {
              "type": "string",
              "enum": [
                "AD",
                "AO",
                "AR",
                "AU",
                "AT",
                "BD",
                "BB",
                "BE",
                "BM",
                "BR",
                "BN",
                "BG",
                "CA",
                "GG",
                "CN",
                "CO",
                "HR",
                "CZ",
                "DK",
                "EG",
                "GQ",
                "FO",
                "FR",
                "GA",
                "DE",
                "GH",
                "GR",
                "GP",
                "GU",
                "HK",
                "HU",
                "IN",
                "ID",
                "IQ",
                "IE",
                "IM",
                "IT",
                "JP",
                "JE",
                "JO",
                "LY",
                "LI",
                "LU",
                "MK",
                "MY",
                "MT",
                "MH",
                "MQ",
                "YT",
                "MX",
                "MD",
                "MC",
                "MZ",
                "MM",
                "NA",
                "NL",
                "NZ",
                "NG",
                "MP",
                "NO",
                "OM",
                "PK",
                "PE",
                "PH",
                "PL",
                "PT",
                "PR",
                "QA",
                "ZZ",
                "RE",
                "RO",
                "RU",
                "SM",
                "SA",
                "RS",
                "SG",
                "ZA",
                "KR",
                "ES",
                "LK",
                "PM",
                "SE",
                "CH",
                "TW",
                "TZ",
                "TH",
                "TN",
                "TR",
                "AE",
                "GB",
                "US",
                "VA",
                "VE",
                "VN",
                "VI"
              ],
              "enumTitles": [
                "Andorra",
                "Angola",
                "Argentina",
                "Australia",
                "Austria",
                "Bangladesh",
                "Barbados",
                "Belgium",
                "Bermuda",
                "Brazil",
                "Brunei",
                "Bulgaria",
                "Canada",
                "Channel Islands",
                "China",
                "Colombia",
                "Croatia",
                "Czech Republic",
                "Denmark",
                "Egypt",
                "Equatorial Guinea",
                "Faroe Islands",
                "France",
                "Gabon",
                "Germany",
                "Ghana",
                "Greece",
                "Guadeloupe",
                "Guam",
                "Hong Kong",
                "Hungary",
                "India",
                "Indonesia",
                "Iraq",
                "Ireland",
                "Isle of Man",
                "Italy",
                "Japan",
                "Jersey",
                "Jordan",
                "Libya",
                "Liechtenstein",
                "Luxembourg",
                "Macedonia",
                "Malaysia",
                "Malta",
                "Marshall Islands",
                "Martinique",
                "Mayotte",
                "Mexico",
                "Moldova",
                "Monaco",
                "Mozambique",
                "Myanmar",
                "Namibia",
                "Netherlands",
                "New Zealand",
                "Nigeria",
                "Northern Mariana Islands",
                "Norway",
                "Oman",
                "Pakistan",
                "Peru",
                "Philippines",
                "Poland",
                "Portugal",
                "Puerto Rico",
                "Qatar",
                "Rest of the world (Other countries)",
                "Reunion",
                "Romania",
                "Russia",
                "San Marino",
                "Saudi Arabia",
                "Serbia",
                "Singapore",
                "South Africa",
                "South Korea",
                "Spain",
                "Sri Lanka",
                "St. Pierre and Miquelon",
                "Sweden",
                "Switzerland",
                "Taiwan",
                "Tanzania",
                "Thailand",
                "Tunisia",
                "Turkey",
                "United Arab Emirates",
                "United Kingdom",
                "United States",
                "Vatican City",
                "Venezuela",
                "Vietnam",
                "Virgin Islands (U.S.)"
              ]
            },
            "default": [
              "AU",
              "CA",
              "GB",
              "NZ"
            ]
          },
          "sectors": {
            "title": "Sectors",
            "type": "array",
            "description": "Optional job sectors (industries) to keep. Leave empty for all sectors.",
            "items": {
              "type": "string",
              "enum": [
                "Accountancy",
                "Accountancy (Qualified)",
                "Admin & Secretarial",
                "Advertising & PR",
                "Aerospace",
                "Agriculture Fishing & Forestry",
                "Arts",
                "Automotive",
                "Banking",
                "Building & Construction",
                "Call Centre & Customer Service",
                "Charity & Voluntary",
                "Consultancy",
                "Defence & Military",
                "Design & Creative",
                "Education & Training",
                "Electronics",
                "Engineering",
                "Executive and Management",
                "Fashion",
                "Financial Services",
                "FMCG",
                "Graduate Roles",
                "Health & Safety",
                "Hospitality & Catering",
                "HR & Personnel",
                "Insurance",
                "Internet & New Media",
                "IT",
                "Legal",
                "Leisure & Sport",
                "Logistics Distribution & Supply Chain",
                "Manufacturing & Production",
                "Marketing",
                "Media",
                "Medical & Nursing",
                "Pharmaceuticals",
                "Property & Housing",
                "Public Sector & Government",
                "Purchasing & Procurement",
                "Recruitment Consultancy",
                "Retail",
                "Sales",
                "Science & Research",
                "Social Care",
                "Telecommunications",
                "Transport & Rail",
                "Travel & Tourism",
                "Utilities",
                "Mining"
              ]
            },
            "default": []
          },
          "workplaceTypes": {
            "title": "Workplace types",
            "type": "array",
            "description": "Optional filter: onsite, remote or hybrid roles.",
            "items": {
              "type": "string",
              "enum": [
                "onsite",
                "remote",
                "hybrid"
              ]
            },
            "default": []
          },
          "employmentTypes": {
            "title": "Employment types",
            "type": "array",
            "description": "Optional filter: full time, part time or casual.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "casual"
              ],
              "enumTitles": [
                "Full time",
                "Part time",
                "Casual"
              ]
            },
            "default": []
          },
          "experienceLevels": {
            "title": "Experience levels",
            "type": "array",
            "description": "Optional seniority filter.",
            "items": {
              "type": "string",
              "enum": [
                "entry_level",
                "internship",
                "associate",
                "mid_senior",
                "director",
                "executive",
                "other"
              ],
              "enumTitles": [
                "Entry level",
                "Internship",
                "Associate",
                "Mid-senior",
                "Director",
                "Executive",
                "Other"
              ]
            },
            "default": []
          },
          "datePostedDays": {
            "title": "Posted within (days)",
            "enum": [
              "",
              "1",
              "7",
              "30"
            ],
            "type": "string",
            "description": "Optional recency filter: only roles posted in the last 1, 7 or 30 days. Empty means any age.",
            "default": ""
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "relevance",
              "date_posted"
            ],
            "type": "string",
            "description": "Order of results within each search.",
            "default": "relevance"
          },
          "organisationSlugs": {
            "title": "Employers",
            "type": "array",
            "description": "Employer slugs from careers page addresses like employmenthero.com/jobs/organisations/el-jannah-stores/ (Employer mode), or full employer page links. Each employer gets a profile row plus one row per open role.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "resourceTypes": {
            "title": "Resource types",
            "type": "array",
            "description": "Which library sections to pull. Webinars includes live events and on-demand webinars.",
            "items": {
              "type": "string",
              "enum": [
                "webinars",
                "resources",
                "case_studies",
                "partners",
                "news",
                "quick_demos"
              ],
              "enumTitles": [
                "Webinars & events",
                "Guides, ebooks & factsheets",
                "Customer case studies",
                "Partner directory",
                "News",
                "Quick demos"
              ]
            },
            "default": [
              "webinars"
            ]
          },
          "resourceSearch": {
            "title": "Resource keywords",
            "type": "string",
            "description": "Optional keyword filter applied to the resource library."
          },
          "urls": {
            "title": "URLs",
            "type": "array",
            "description": "Job pages, employer careers pages or both, one per line. Filter fields are ignored in this mode; pagination walks forward from list pages. The prefill above shows one of each working shape.",
            "default": [
              {
                "url": "https://employmenthero.com/jobs/position/el-jannah-stores-shift-leader-rbpon/"
              },
              {
                "url": "https://employmenthero.com/jobs/organisations/el-jannah-stores/"
              }
            ],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "fetchOrgDetails": {
            "title": "Add employer details",
            "type": "boolean",
            "description": "Read each employer's own careers page once to add the company website and about text to employer rows. Off keeps rows lighter and skips that read.",
            "default": true
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 0,
            "type": "integer",
            "description": "Ends the run after this many delivered rows in total across all modes. 0 means unlimited.",
            "default": 20
          },
          "maxPages": {
            "title": "Max pages per search",
            "minimum": 0,
            "type": "integer",
            "description": "Caps result pages per search or employer. Leave empty or 0 to walk as many pages as Max items requires; Max items always decides the final stop."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify proxy is on by default and is enough for this site. For the most reliable long scheduled runs, point the proxy at Residential with the country your target listings are in (AU, CA, GB or NZ)."
          },
          "resumeFromRunId": {
            "title": "Resume from run or dataset ID",
            "type": "string",
            "description": "Continue an interrupted run: paste its run or dataset ID and this run delivers only rows that run had not collected yet."
          },
          "incrementalMode": {
            "title": "Incremental mode",
            "type": "boolean",
            "description": "Schedule this actor against the SAME search and it delivers only what changed since the last run: NEW, UPDATED, REAPPEARED or EXPIRED, each tagged in changeType. Unchanged records are neither written nor charged.",
            "default": false
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Names the incremental baseline. Leave empty to derive it from the search itself. Use a distinct key to run several independent monitoring campaigns."
          },
          "emitUnchanged": {
            "title": "Emit unchanged",
            "type": "boolean",
            "description": "Incremental mode: also write records that did not change (tagged UNCHANGED, still charged as rows).",
            "default": false
          },
          "emitExpired": {
            "title": "Emit expired",
            "type": "boolean",
            "description": "Incremental mode: after a complete scan, also write rows for records that disappeared since the last run (tagged EXPIRED).",
            "default": false
          },
          "ignoreFieldsForChanges": {
            "title": "Ignore fields when detecting changes (incremental mode only)",
            "type": "array",
            "description": "Extra row fields that should never mark a record UPDATED in incremental mode (employer logo links are already handled by default).",
            "items": {
              "type": "string"
            }
          },
          "mcpConnectors": {
            "title": "MCP connectors",
            "type": "array",
            "description": "Connector IDs that receive the first rows of every run (for example an Notion or Google Docs connector from the Apify MCP Connector gallery).",
            "items": {
              "type": "string"
            }
          },
          "notionParentPageUrl": {
            "title": "Notion parent page URL",
            "type": "string",
            "description": "When your connector writes to Notion, the parent page the results land under."
          },
          "maxNotifyListings": {
            "title": "Max rows to connectors",
            "type": "integer",
            "description": "How many rows each run hands to the connectors, at most.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}