{
  "openapi": "3.0.1",
  "info": {
    "title": "Employment Hero Jobs Scraper — Employer Careers Pages",
    "description": "Every open role on any employer's Employment Hero careers page as structured data: title, team, place with postcode and country, remote, hybrid or on-site, work type, posted date and pay where shown, full text on request. Incremental mode charges only for what changed. No personal data.",
    "version": "0.1",
    "x-build-id": "BYe9wnzEGtkoA7bnp"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/adderleydata~employmenthero-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-adderleydata-employmenthero-jobs-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/adderleydata~employmenthero-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-adderleydata-employmenthero-jobs-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/adderleydata~employmenthero-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-adderleydata-employmenthero-jobs-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": [
          "boards"
        ],
        "properties": {
          "boards": {
            "title": "Careers pages",
            "type": "array",
            "description": "One entry per employer: its Employment Hero careers page link (https://employmenthero.com/jobs/organisations/acme-health/), its page on Employment Hero Jobs, or the organisation's name in the link (\"acme-health\"). Up to 500 pages per run; each is one request for up to 100 open postings, their full text included.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Title keywords",
            "type": "array",
            "description": "Keep postings whose title contains every word of any keyword, in any order — \"engineer data\" matches \"Senior Data Engineer\". Leave empty for all titles.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Keep postings whose place contains this text (\"Sydney\", \"New South Wales\", \"2000\"), that are in this country (\"Australia\", \"United Kingdom\", \"NZ\"), or that the employer marks \"Remote\", \"Hybrid\" or \"On-site\". Leave empty for all locations.",
            "items": {
              "type": "string"
            }
          },
          "teams": {
            "title": "Teams",
            "type": "array",
            "description": "Keep postings whose team, as the employer names it, contains this text, e.g. \"Engineering\" or \"Sales\". Leave empty for all teams.",
            "items": {
              "type": "string"
            }
          },
          "workTypes": {
            "title": "Work types",
            "type": "array",
            "description": "Keep postings whose employment type or term, as the employer sets it, contains this text: \"Full-time\", \"Part-time\", \"Casual\", \"Permanent\", \"Contract\", \"Temporary\". Leave empty for all work types.",
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Keep postings that went up within the last N days, counted back from the start of the run. Leave empty for any time."
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "The run stops once this many postings are saved. You are charged per posting saved, so this is also your cost cap.",
            "default": 100
          },
          "includeDescription": {
            "title": "Include full descriptions",
            "type": "boolean",
            "description": "On: each row carries the ad's full text. It arrives in the same request as the list, so it costs no extra request and no extra time. Off: the facts only.",
            "default": false
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "text",
              "text_and_html"
            ],
            "type": "string",
            "description": "Plain text, or plain text plus sanitised HTML.",
            "default": "text"
          },
          "redactContacts": {
            "title": "Redact contact details in descriptions",
            "type": "boolean",
            "description": "On by default: email addresses and phone numbers inside description text are replaced with [redacted]. This Actor never outputs anyone's name or contact fields.",
            "default": true
          },
          "incremental": {
            "title": "Incremental mode",
            "type": "boolean",
            "description": "Remember what earlier runs saw and save only postings that are new, changed or gone. Unchanged postings are skipped and not charged. Put the Actor on a schedule with this on.",
            "default": false
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Optional name for this monitor, e.g. \"competitor-engineering-roles\". Runs with the same key share memory. Left empty, a key is derived from the careers pages and filters themselves."
          },
          "emitExpired": {
            "title": "Report expired postings",
            "type": "boolean",
            "description": "Incremental mode only. When a complete run no longer finds a posting it saw before, save one row with changeType EXPIRED.",
            "default": true
          },
          "emitUnchanged": {
            "title": "Also save unchanged postings",
            "type": "boolean",
            "description": "Incremental mode only. Saves (and charges for) every posting, labelled UNCHANGED where nothing moved.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy, automatic group, is the default and is what this Actor is tested with.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxConcurrency": {
            "title": "Maximum concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Parallel requests. One by default: Employment Hero asks for ten seconds between requests, and the Actor keeps to that whatever is set here.",
            "default": 1
          },
          "maxRequestsPerMinute": {
            "title": "Maximum requests per minute",
            "minimum": 6,
            "maximum": 240,
            "type": "integer",
            "description": "An upper bound on request rate across the whole run. Six by default: Employment Hero's robots.txt asks for ten seconds between requests, which the Actor keeps whatever is set here. If Employment Hero answers 429 (too many requests), the Actor waits as long as it asks, up to two minutes, or a minute when it does not say, and asks again from the same address, at most twice.",
            "default": 6
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}