{
  "openapi": "3.0.1",
  "info": {
    "title": "SEEK Jobs Scraper - Australia & New Zealand Job Ads API",
    "description": "Use this to get job ads from SEEK (seek.com.au, seek.co.nz). Input: keywords, locations, filters or SEEK URLs. One result = one job: title, company, location, salary, work type, category, date, URL; optional full description and company profile. Not capped at 550 jobs. $0.80 per 1,000.",
    "version": "1.0",
    "x-build-id": "qQVzIU3Rz9NIJPc62"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rel8ble~seek-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rel8ble-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/rel8ble~seek-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-rel8ble-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/rel8ble~seek-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-rel8ble-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": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Optional. Job keywords as typed into the SEEK search box, one per line: \"data analyst\", \"registered nurse\", \"forklift\". A company name also works. Each keyword is one search and returns up to maxItems jobs. Leave empty to list all jobs matching the location and filters below. Give at least one of searchQueries, locations, a filter or startUrls.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Optional. Where to search, one per line, written the way the site shows it: \"Sydney NSW\", \"All Melbourne VIC\", \"Brisbane QLD\", \"Perth WA\", \"Auckland\", a suburb (\"Parramatta NSW\") or a postcode (\"3000\"). Every keyword is searched in every location (2 keywords x 3 locations = 6 searches). Empty = the whole country. A location the site does not recognise returns 0 jobs and is named in the run summary.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country / site",
            "enum": [
              "AU",
              "NZ"
            ],
            "type": "string",
            "description": "Which site to search: \"AU\" = Australia (seek.com.au), \"NZ\" = New Zealand (seek.co.nz). One country per run; start another run for another country. Default \"AU\".",
            "default": "AU"
          },
          "classification": {
            "title": "Classification (job category)",
            "enum": [
              "any",
              "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"
            ],
            "type": "string",
            "description": "Optional. Limit every search to one of the 30 job categories, e.g. \"Information & Communication Technology\", \"Healthcare & Medical\", \"Accounting\". \"any\" (default) = no limit. Through the API you can also pass a sub-category as \"Accounting > Payroll\" or a numeric id such as \"6281\".",
            "default": "any"
          },
          "workTypes": {
            "title": "Work types",
            "type": "array",
            "description": "Optional. Keep only these work types: any of \"fulltime\", \"parttime\", \"contract\", \"casual\". Empty = all work types.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "parttime",
                "contract",
                "casual"
              ],
              "enumTitles": [
                "Full time",
                "Part time",
                "Contract / Temp",
                "Casual / Vacation"
              ]
            }
          },
          "workArrangements": {
            "title": "Work arrangements",
            "type": "array",
            "description": "Optional. Keep only these arrangements: any of \"onsite\", \"hybrid\", \"remote\". Use [\"remote\"] for remote jobs only. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "onsite",
                "hybrid",
                "remote"
              ],
              "enumTitles": [
                "On-site",
                "Hybrid",
                "Remote"
              ]
            }
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 31,
            "type": "integer",
            "description": "Optional. Only jobs listed in the last N days, integer 0-31: 1 = listed today, 3, 7, 14 or 31 are the usual choices. 0 (default) = any date (ads stay up about 30 days). Use 1 on a daily schedule to collect only new jobs.",
            "default": 0
          },
          "salaryMin": {
            "title": "Minimum salary",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Lowest pay to include, in the site currency and the unit chosen in salaryType: 100000 with \"annual\" = jobs paying at least $100,000 a year. 0 (default) = no minimum. The site matches on the pay range the advertiser entered, including ads that hide the figure.",
            "default": 0
          },
          "salaryMax": {
            "title": "Maximum salary",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Highest pay to include, same unit as salaryMin. 0 (default) = no maximum.",
            "default": 0
          },
          "salaryType": {
            "title": "Salary unit",
            "enum": [
              "annual",
              "monthly",
              "hourly"
            ],
            "type": "string",
            "description": "Optional. Unit of salaryMin / salaryMax: \"annual\", \"monthly\" or \"hourly\". Default \"annual\". Ignored when both salary fields are 0.",
            "default": "annual"
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Optional. \"relevance\" (default) or \"date\" (newest first; sponsored ads still appear near the top, flagged isSponsored).",
            "default": "relevance"
          },
          "maxItems": {
            "title": "Max jobs per search",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Maximum jobs saved per search (one keyword in one location), integer >= 0. Default 100; 0 = every job the search has. You pay per job saved ($0.0008 each), so 100 jobs = $0.08. Use 10-20 for a quick answer.",
            "default": 100
          },
          "deepSearch": {
            "title": "Deep search (go past the 550-job limit)",
            "type": "boolean",
            "description": "Optional boolean, default true. The site returns at most 550 jobs for any one search. With deep search on, a bigger search is split automatically by category, sub-category and work type and the results are merged without duplicates, so \"nurse\" in all of Australia returns thousands of jobs instead of 550. Only kicks in when maxItems is above 550 (or 0). It costs extra requests, not extra money per job.",
            "default": true
          },
          "includeDetails": {
            "title": "Include full description & company profile (slower)",
            "type": "boolean",
            "description": "Optional boolean. false (default) = listing data only: title, company, location, salary, work type, category, teaser, bullet points, dates, links; 100 jobs per request. true = also open each job to add the full description (plain text), expiry date, screening questions, whether you apply on the company site, and the company profile where one exists (website, industry, size, rating, review count). One extra request per job, same price per result.",
            "default": false
          },
          "includeDescriptionHtml": {
            "title": "Also keep the description as HTML",
            "type": "boolean",
            "description": "Optional boolean. Only used with includeDetails. true = add descriptionHtml (the original formatting) next to the plain-text description. Default false.",
            "default": false
          },
          "startUrls": {
            "title": "Search or job URLs",
            "type": "array",
            "description": "Optional. URLs copied from the site, one per line. A search results URL (\"https://www.seek.com.au/data-analyst-jobs/in-All-Melbourne-VIC?daterange=7\") is scraped with the filters in the URL (the filter fields above are not applied to it). A job URL (\"https://www.seek.com.au/job/95126283\") or a bare job id (\"95126283\") is looked up directly and always includes the full details. A job that has expired is listed in the run summary and is not charged.",
            "items": {
              "type": "string"
            }
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Optional, advanced. Number of parallel requests, integer 1-20. Default 8. Leave unset.",
            "default": 8
          },
          "maxRequestRetries": {
            "title": "Max retries per request",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Optional, advanced. Retries per failed or blocked request, integer 0-20; each retry uses a new session and IP. Default 8. Leave unset.",
            "default": 8
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional, advanced. Apify Proxy settings object. Default {\"useApifyProxy\": true} (datacenter proxies are enough). Leave unset.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}