{
  "openapi": "3.0.1",
  "info": {
    "title": "SEEK, JobStreet & Jobsdb Scraper | All Jobs, from $0.60/1K",
    "description": "Scrape jobs from SEEK (Australia, New Zealand), JobStreet and Jobsdb (Singapore, Malaysia, Philippines, Indonesia, Hong Kong, Thailand). Every job of a search, past the 550-result cap. Full details, parsed salary, contacts, new-jobs monitoring, webhook.",
    "version": "0.1",
    "x-build-id": "EtoTdmX0rECis4Wxv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/alexmorain~seek-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-alexmorain-seek-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/alexmorain~seek-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-alexmorain-seek-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/alexmorain~seek-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-alexmorain-seek-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",
        "properties": {
          "markets": {
            "title": "Markets",
            "type": "array",
            "description": "Job boards to search. One run can cover several.<br>• AU = seek.com.au, NZ = seek.co.nz<br>• SG, MY, PH, ID = JobStreet<br>• HK, TH = Jobsdb",
            "items": {
              "type": "string",
              "enum": [
                "AU",
                "NZ",
                "SG",
                "MY",
                "PH",
                "ID",
                "HK",
                "TH"
              ],
              "enumTitles": [
                "Australia (SEEK)",
                "New Zealand (SEEK)",
                "Singapore (JobStreet)",
                "Malaysia (JobStreet)",
                "Philippines (JobStreet)",
                "Indonesia (JobStreet)",
                "Hong Kong (Jobsdb)",
                "Thailand (Jobsdb)"
              ]
            },
            "default": [
              "AU"
            ]
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "A place as you would type it on the site, for example <code>Sydney NSW</code>, <code>Auckland</code>, <code>Kuala Lumpur</code>. Empty = the whole country.",
            "default": ""
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Job title, skill or company, as in the site search box. Empty = all jobs.",
            "default": ""
          },
          "classifications": {
            "title": "Categories",
            "type": "array",
            "description": "SEEK job categories. Empty = all categories. The ids are the same on the eight markets.",
            "items": {
              "type": "string",
              "enum": [
                "1200",
                "6251",
                "6304",
                "1203",
                "7019",
                "1204",
                "6163",
                "1206",
                "6076",
                "6263",
                "6123",
                "1209",
                "6205",
                "1210",
                "1211",
                "1212",
                "6317",
                "6281",
                "1214",
                "1216",
                "6092",
                "6008",
                "6058",
                "1220",
                "6043",
                "6362",
                "1223",
                "6246",
                "1225"
              ],
              "enumTitles": [
                "Accounting",
                "Administration & Office Support",
                "Advertising, Arts & Media",
                "Banking & Financial Services",
                "CEO & General Management",
                "Call Centre & Customer Service",
                "Community Services & Development",
                "Construction",
                "Consulting & Strategy",
                "Design & Architecture",
                "Education & Training",
                "Engineering",
                "Farming, Animals & Conservation",
                "Government & Defence",
                "Healthcare & Medical",
                "Hospitality & Tourism",
                "Human Resources & Recruitment",
                "Information & Communication Technology",
                "Insurance & Superannuation",
                "Legal",
                "Manufacturing, Transport & Logistics",
                "Marketing & Communications",
                "Mining, Resources & Energy",
                "Real Estate & Property",
                "Retail & Consumer Products",
                "Sales",
                "Science & Technology",
                "Sport & Recreation",
                "Trades & Services"
              ]
            },
            "default": []
          },
          "subClassifications": {
            "title": "Sub-category ids (advanced)",
            "type": "array",
            "description": "Numeric sub-category ids, as found in the <code>subClassificationId</code> field of the results, for example <code>6342</code> (Nursing, general medical and surgical).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "workTypes": {
            "title": "Work types",
            "type": "array",
            "description": "Empty = all work types.",
            "items": {
              "type": "string",
              "enum": [
                "full-time",
                "part-time",
                "contract",
                "casual"
              ],
              "enumTitles": [
                "Full time",
                "Part time",
                "Contract / temp",
                "Casual / vacation"
              ]
            },
            "default": []
          },
          "workArrangements": {
            "title": "Work arrangements",
            "type": "array",
            "description": "Empty = all. Jobs whose advertiser gave no arrangement only show up when this is empty.",
            "items": {
              "type": "string",
              "enum": [
                "on-site",
                "hybrid",
                "remote"
              ],
              "enumTitles": [
                "On-site",
                "Hybrid",
                "Remote"
              ]
            },
            "default": []
          },
          "postedWithinDays": {
            "title": "Posted within",
            "enum": [
              "any",
              "1",
              "3",
              "7",
              "14",
              "31"
            ],
            "type": "string",
            "description": "Only jobs listed in this window.",
            "default": "any"
          },
          "salaryType": {
            "title": "Salary type",
            "enum": [
              "annual",
              "monthly",
              "hourly"
            ],
            "type": "string",
            "description": "Needed when you set a minimum or maximum salary: the amounts are read per year, per month or per hour."
          },
          "salaryMin": {
            "title": "Minimum salary",
            "minimum": 0,
            "type": "integer",
            "description": "In the market's currency, for the salary type above. SEEK matches on the advertiser's salary range, including ranges hidden from the ad."
          },
          "salaryMax": {
            "title": "Maximum salary",
            "minimum": 0,
            "type": "integer",
            "description": "Same unit as the minimum."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Relevance is the site's order. Newest first also brings broader keyword matches to the top, because SEEK matches any of the words. When a big search is split, the order holds inside each slice.",
            "default": "relevance"
          },
          "jobUrls": {
            "title": "Job URLs",
            "type": "array",
            "description": "Links like <code>https://www.seek.com.au/job/95018609</code>, or bare job ids (read on the first market selected above). When this list is filled, the search fields are ignored and each job comes with its full detail.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max jobs per market",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many jobs on each market. Ignored for Job URLs. <b>0 = every job of the search</b>. On SEEK Australia and New Zealand, which show at most 550, the actor splits the search by category, sub-category, work type, arrangement and region until each part fits. JobStreet and Jobsdb have no such cap.",
            "default": 100
          },
          "includeDetails": {
            "title": "Include full job details",
            "type": "boolean",
            "description": "Adds the full description (text and HTML), expiry date, screening questions, recruiter emails and phones found in the ad, company website, size, industry and rating. One extra request per 20 jobs; billed as a job with details.",
            "default": true
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "all",
              "new-only"
            ],
            "type": "string",
            "description": "<b>All matching jobs</b>: every run returns everything that matches.<br><b>New jobs only</b>: a run returns and charges only jobs no previous run of the same search returned. Schedule it daily to receive new jobs.",
            "default": "all"
          },
          "registryKey": {
            "title": "Monitoring key (optional)",
            "type": "string",
            "description": "In New jobs only mode, the memory of seen jobs is tied to the search fields. Set a name here to share or reset that memory on purpose."
          },
          "webhookUrl": {
            "title": "Webhook URL (optional)",
            "type": "string",
            "description": "Called with a POST at the end of a run that found jobs: run id, dataset id, counts per market and the first 100 jobs. A failing webhook never fails the run."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed for searches. Turn on Apify Proxy for runs of more than about 4,500 jobs <b>with full details</b>: SEEK stops serving details to one IP after that, and the actor then moves to a new IP. Without a proxy, the remaining jobs keep their search fields and are billed as plain jobs.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}