{
  "openapi": "3.0.1",
  "info": {
    "title": "Oracle Recruiting Cloud Jobs Scraper - oraclecloud.com Careers",
    "description": "Scrape open job requisitions from any employer's Oracle Recruiting Cloud careers site. Clean-text descriptions, every location, salary text where published, new-postings-only mode. No API key.",
    "version": "1.0",
    "x-build-id": "mG082YCi3zmLcBp5X"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maydit~oracle-recruiting-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maydit-oracle-recruiting-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/maydit~oracle-recruiting-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-maydit-oracle-recruiting-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/maydit~oracle-recruiting-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-maydit-oracle-recruiting-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": {
          "careersUrls": {
            "title": "Oracle careers site URLs",
            "type": "array",
            "description": "One entry per employer. Paste the careers URL exactly as it appears in the browser, e.g. https://iazbqy.fa.ocs.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1/requisitions - the host and the site number (the segment after /sites/) are read out of it. Job-page URLs (/job/12345), /jobs pages and the older fa-xxxx-saasfaprod1.fa.ocs.oraclecloud.com hosts all work. A URL with no /sites/ segment uses the tenant's first active site. Vanity domains (careers.company.com) are tried on a best-effort basis and reported clearly when they cannot be traced to an oraclecloud.com host. When this list is filled in, the preset below is ignored.",
            "items": {
              "type": "string"
            }
          },
          "preset": {
            "title": "Preset employer list",
            "enum": [
              "verified-sample",
              "none"
            ],
            "type": "string",
            "description": "Used only when 'Oracle careers site URLs' is empty. 'verified-sample' scrapes three third-party employers whose Oracle-hosted careers sites were verified live (International Paper, Pearson, Lucas County OH). 'none' means you will supply your own URLs; if the list is still empty the Actor falls back to the sample so a run never silently returns nothing.",
            "default": "verified-sample"
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Passed to Oracle's own job search on each site. It matches the description as well as the title and is fuzzy (a search for 'nurse' can return 'Fire Medic'), so treat it as a first filter, not an exact match. Leave empty for every open requisition."
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "POSTING_DATES_DESC",
              "RELEVANCY"
            ],
            "type": "string",
            "description": "Newest posting first (the default) or Oracle's relevance ranking, which is only meaningful together with a keyword.",
            "default": "POSTING_DATES_DESC"
          },
          "includeDetails": {
            "title": "Fetch job details (description, qualifications, salary text)",
            "type": "boolean",
            "description": "Calls each requisition's detail endpoint. This adds the description, qualifications and responsibilities as clean text, the category, job function and schedule, the full posting timestamp, and the salary text parsed out of the description. Turn it off for a faster, list-only run (title, locations, workplace type and posting date only).",
            "default": true
          },
          "maxJobsPerSite": {
            "title": "Max postings per site",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Cap on postings written for each careers site, newest first. The Actor lists 100 rows per request; with details on, every posting is one extra request, so a 500-posting site is 5 list calls plus 500 detail calls - raise 'Max run seconds' with it.",
            "default": 25
          },
          "detailConcurrency": {
            "title": "Detail requests in flight per site",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many detail lookups run at once against one tenant. Sites are always scraped one after another; this only controls parallelism inside a site. Capped at 8 to stay a polite guest on someone else's tenant.",
            "default": 5
          },
          "onlyNewSinceLastRun": {
            "title": "Only postings new since the last run",
            "type": "boolean",
            "description": "Compares this run against the requisition ids stored by the previous run in the named key-value store 'oracle-recruiting-jobs-scraper-state' and writes only postings that were not there. The FIRST run has no baseline, so it returns everything and saves it - from the second run on you get just the new openings. An empty dataset then means nothing new was posted (the run succeeds with a warning).",
            "default": false
          },
          "maxRunSeconds": {
            "title": "Max run seconds",
            "minimum": 30,
            "maximum": 3600,
            "type": "integer",
            "description": "Wall-clock budget. The Actor stops cleanly at this point and keeps everything collected so far, instead of being killed mid-write. Raise it for large sites; the platform run timeout still applies on top.",
            "default": 240
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}