{
  "openapi": "3.0.1",
  "info": {
    "title": "SEEK Jobs Scraper",
    "description": "Scrape jobs from SEEK Australia and New Zealand (seek.com.au, seek.co.nz): title, company, salary (parsed), classification, work type, work arrangement, bullet points and full descriptions. Search by keywords and filters or paste SEEK URLs. Incremental mode outputs only new jobs.",
    "version": "0.0",
    "x-build-id": "rzEw2YMmFype6wVoD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rjmacarthy~seek-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rjmacarthy-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/rjmacarthy~seek-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-rjmacarthy-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/rjmacarthy~seek-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-rjmacarthy-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": {
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "What you would type into SEEK's \"What\" box: a job title, skill or company (e.g. \"data engineer\", \"registered nurse\"). Leave empty for all jobs."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "SEEK's \"Where\" box: a suburb, city, region, state or postcode (e.g. \"Sydney\", \"All Melbourne VIC\", \"Auckland\", \"2000\"). Leave empty for the whole country. The run log shows which location SEEK matched."
          },
          "country": {
            "title": "Country",
            "enum": [
              "AU",
              "NZ"
            ],
            "type": "string",
            "description": "Which SEEK site to search: seek.com.au (Australia) or seek.co.nz (New Zealand). Start URLs use the site in their own address.",
            "default": "AU"
          },
          "maxJobs": {
            "title": "Max jobs per search",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many jobs from each search (the form search, or each start URL). Default 100. Set 0 for all jobs SEEK returns, which is at most 550 per search.",
            "default": 100
          },
          "includeDescription": {
            "title": "Include full job description",
            "type": "boolean",
            "description": "Fetch each job's details for the full description (HTML and plain text), expiry date, external-apply flag and company profile. This is one extra request per job. Turn off for a faster scrape of the listing data only (title, company, salary, classification, work type, bullet points, teaser).",
            "default": true
          },
          "startUrls": {
            "title": "SEEK search URLs (optional)",
            "type": "array",
            "description": "Instead of the form, paste SEEK URLs copied from the browser, e.g. https://www.seek.com.au/developer-jobs-in-information-communication-technology/in-All-Melbourne-VIC?daterange=7&worktype=242 or https://www.seek.co.nz/nurse-jobs/in-Auckland. Single job links (https://www.seek.com.au/job/12345678) work too. When you add URLs, the search form fields above and the filters below are ignored; each URL keeps its own filters.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "classifications": {
            "title": "Classification",
            "type": "array",
            "description": "SEEK job classifications (industries). Several are OR-ed.",
            "items": {
              "type": "string",
              "enum": [
                "accounting",
                "administration-office-support",
                "advertising-arts-media",
                "banking-financial-services",
                "call-centre-customer-service",
                "ceo-general-management",
                "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",
                "self-employment",
                "sport-recreation",
                "trades-services"
              ],
              "enumTitles": [
                "Accounting",
                "Administration & Office Support",
                "Advertising, Arts & Media",
                "Banking & Financial Services",
                "Call Centre & Customer Service",
                "CEO & General Management",
                "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",
                "Self Employment",
                "Sport & Recreation",
                "Trades & Services"
              ]
            }
          },
          "workTypes": {
            "title": "Work type",
            "type": "array",
            "description": "Full time, part time, contract/temp or casual/vacation. Several are OR-ed.",
            "items": {
              "type": "string",
              "enum": [
                "full-time",
                "part-time",
                "contract-temp",
                "casual-vacation"
              ],
              "enumTitles": [
                "Full time",
                "Part time",
                "Contract/Temp",
                "Casual/Vacation"
              ]
            }
          },
          "workArrangements": {
            "title": "Work arrangement",
            "type": "array",
            "description": "On-site, hybrid or remote, as set by the advertiser. Several are OR-ed.",
            "items": {
              "type": "string",
              "enum": [
                "on-site",
                "hybrid",
                "remote"
              ],
              "enumTitles": [
                "On-site",
                "Hybrid",
                "Remote"
              ]
            }
          },
          "dateRange": {
            "title": "Date listed",
            "enum": [
              "any",
              "1",
              "3",
              "7",
              "14",
              "31"
            ],
            "type": "string",
            "description": "Only jobs listed within this many days.",
            "default": "any"
          },
          "salaryMin": {
            "title": "Salary from",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum pay, in the unit chosen under \"Salary type\" (e.g. 100000 annual, or 40 hourly). SEEK also filters on salary ranges that advertisers hide, so some matching jobs show no salary."
          },
          "salaryMax": {
            "title": "Salary to",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum pay, in the same unit. Leave empty for no upper limit."
          },
          "salaryType": {
            "title": "Salary type",
            "enum": [
              "annual",
              "monthly",
              "hourly"
            ],
            "type": "string",
            "description": "Unit for the salary filter.",
            "default": "annual"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "date",
              "relevance"
            ],
            "type": "string",
            "description": "Newest first (date) or SEEK's relevance ranking. Matters when you set \"Max jobs per search\". Incremental mode always sorts by date.",
            "default": "date"
          },
          "onlyNewJobs": {
            "title": "Only new jobs (incremental mode)",
            "type": "boolean",
            "description": "Remember which jobs were already output and only output (and charge for) jobs that are new since the previous run. The first run outputs all matching jobs and saves them as the baseline. Ideal for scheduled monitoring.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name (state key)",
            "type": "string",
            "description": "Name of this monitor's memory. Runs with the same name share the list of already-seen jobs (kept separately for each search). Use different names for independent monitors.",
            "default": "default"
          },
          "stateStoreName": {
            "title": "State key-value store name",
            "type": "string",
            "description": "Named key-value store in your account where incremental state is kept (letters, digits and dashes).",
            "default": "seek-jobs-scraper-state"
          },
          "maxConcurrency": {
            "title": "Max parallel requests",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum parallel requests (job details are fetched in parallel). The default is polite; there is rarely a reason to raise it.",
            "default": 3
          },
          "maxRequestsPerSecond": {
            "title": "Max requests per second",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Upper limit on how fast requests are sent to SEEK.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Off by default. If SEEK's Cloudflare protection blocks the run (the log and status say so), enable Apify Proxy with the RESIDENTIAL group and country AU or NZ.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}