{
  "openapi": "3.0.1",
  "info": {
    "title": "Gulf Jobs & Hiring Signals Monitor",
    "description": "Track jobs from Greenhouse, Lever, Ashby, and Workable career boards across Saudi Arabia, the UAE, and the GCC. Get new, updated, and closed jobs between runs, plus a per-company hiring summary.",
    "version": "1.0",
    "x-build-id": "EewgxiO3F9Sxdwwlm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/pharaoh_data~gulf-jobs-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-pharaoh_data-gulf-jobs-monitor",
        "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/pharaoh_data~gulf-jobs-monitor/runs": {
      "post": {
        "operationId": "runs-sync-pharaoh_data-gulf-jobs-monitor",
        "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/pharaoh_data~gulf-jobs-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-pharaoh_data-gulf-jobs-monitor",
        "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": [
          "sources"
        ],
        "properties": {
          "sources": {
            "title": "Employer job boards",
            "minItems": 1,
            "maxItems": 100,
            "type": "array",
            "description": "Public careers-board root URLs on Greenhouse, Lever, Ashby, or Workable, for example https://jobs.lever.co/company, https://job-boards.greenhouse.io/company, https://jobs.ashbyhq.com/company, or https://apply.workable.com/company/. The provider is detected from the URL. Optional per board: companyName (label in results) and country (used for listings whose location names no place, such as \"Remote\"). Use only boards whose terms permit your intended use. Up to 100 boards.",
            "items": {
              "type": "object",
              "properties": {
                "boardUrl": {
                  "title": "Public job board URL",
                  "type": "string",
                  "description": "Root URL of the employer's public careers board. Do not paste a single job URL."
                },
                "provider": {
                  "title": "Provider",
                  "type": "string",
                  "description": "Optional. Detected from the board URL when omitted.",
                  "enum": [
                    "greenhouse",
                    "lever",
                    "ashby",
                    "workable"
                  ]
                },
                "companyName": {
                  "title": "Company name",
                  "type": "string",
                  "description": "Optional label for results. Defaults to the board name."
                },
                "country": {
                  "title": "Fallback country",
                  "type": "string",
                  "description": "Optional. Country for listings whose location names no place, such as \"Remote\".",
                  "enum": [
                    "SA",
                    "AE",
                    "QA",
                    "KW",
                    "BH",
                    "OM"
                  ]
                }
              },
              "required": [
                "boardUrl"
              ]
            }
          },
          "countries": {
            "title": "Countries to include",
            "type": "array",
            "description": "Keep listings located in these GCC countries, detected from the city or country in each listing's location (English or Arabic). Listings with no specific location use the board's fallback country. Leave empty to keep listings from every location worldwide.",
            "items": {
              "type": "string",
              "enum": [
                "SA",
                "AE",
                "QA",
                "KW",
                "BH",
                "OM"
              ],
              "enumTitles": [
                "Saudi Arabia",
                "United Arab Emirates",
                "Qatar",
                "Kuwait",
                "Bahrain",
                "Oman"
              ]
            },
            "default": [
              "SA",
              "AE",
              "QA",
              "KW",
              "BH",
              "OM"
            ]
          },
          "jobTitles": {
            "title": "Job titles",
            "type": "array",
            "description": "Optional phrases to match in job titles, such as \"engineer\" or \"مدير\". Any phrase can match.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Optional location terms such as Riyadh, Jeddah, Dubai, Doha, or Abu Dhabi. Any term can match.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Optional terms to match in the title, description, department, company, or location. Any term can match. Arabic spelling variants (أ/إ/ا, ى/ي, ة/ه) and diacritics are ignored.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "postedWithinDays": {
            "title": "Posted within days",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Optional age filter using each provider's published or created date. Use 0 for no date filter. Listings without a usable date are kept.",
            "default": 0
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum dataset records to save in one run, including closed-job records (1–10,000). Each record is one billable result.",
            "default": 1000
          },
          "trackChanges": {
            "title": "Track changes between runs",
            "type": "boolean",
            "description": "Label each job new, updated, or unchanged compared with the previous run of this monitor, and report jobs that were removed from their board as closed. History is kept in your account's named key-value store gulf-jobs-monitor-state.",
            "default": true
          },
          "outputMode": {
            "title": "Output",
            "enum": [
              "all",
              "changes"
            ],
            "type": "string",
            "description": "\"All current jobs\" saves every matching job with its change status. \"Changes only\" saves only new, updated, and closed jobs, which suits scheduled alerts and keeps costs low. Requires change tracking.",
            "default": "all"
          },
          "includeClosed": {
            "title": "Report closed jobs",
            "type": "boolean",
            "description": "Save a record with changeType \"closed\" when a job that an earlier run saved is no longer listed by a board that was read successfully in this run.",
            "default": true
          },
          "monitorId": {
            "title": "Monitor ID",
            "type": "string",
            "description": "Optional name for this monitor's change history, such as \"riyadh-fintech\". Letters, digits, and dashes. When empty, an ID is derived from the boards and filters, so changing them starts a fresh history.",
            "default": ""
          },
          "includeDescriptions": {
            "title": "Include job descriptions",
            "type": "boolean",
            "description": "Include the plain-text job description (up to 20,000 characters). Turn off for smaller, cheaper-to-store records.",
            "default": true
          },
          "redactContactDetails": {
            "title": "Redact contact details in descriptions",
            "type": "boolean",
            "description": "Remove email addresses, phone numbers, and personal LinkedIn profile links that employers sometimes put in descriptions. Recommended unless you have a lawful basis to process them.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}