{
  "openapi": "3.0.1",
  "info": {
    "title": "Bayt Jobs Scraper",
    "description": "Bayt Jobs Scraper SD - Bayt Jobs Scraper is a job data tool that extracts bayt.com jobs in UAE, Saudi Arabia, Egypt and MENA: title, company, salary, career level, job role, industry, skills, degree, experience, description and apply link. No login.",
    "version": "1.0",
    "x-build-id": "CyalvL98St3oMJ1z9"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neuro-scraper~bayt-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neuro-scraper-bayt-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/neuro-scraper~bayt-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-neuro-scraper-bayt-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/neuro-scraper~bayt-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-neuro-scraper-bayt-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": {
          "queries": {
            "title": "Search keywords",
            "type": "array",
            "description": "One Bayt search per line, e.g. \"python\", \"accountant\", \"sales manager\". Leave empty to list every job of the country / city below.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "international",
              "uae",
              "saudi-arabia",
              "egypt",
              "qatar",
              "kuwait",
              "bahrain",
              "oman",
              "jordan",
              "lebanon",
              "morocco",
              "algeria",
              "tunisia",
              "iraq",
              "libya",
              "syria",
              "yemen",
              "pakistan",
              "india"
            ],
            "type": "string",
            "description": "Bayt country to search. \"International\" = all countries. The list is Bayt's own (the run checks it against the page).",
            "default": "international"
          },
          "location": {
            "title": "City",
            "type": "string",
            "description": "Optional city inside the country, e.g. \"Dubai\", \"Riyadh\", \"Cairo\" - or country/city as Bayt writes it, e.g. \"uae/abu-dhabi\" (then the country above is ignored)."
          },
          "startUrls": {
            "title": "Bayt URLs (optional)",
            "type": "array",
            "description": "Bayt job search URLs (e.g. https://www.bayt.com/en/uae/jobs/python-jobs-in-dubai/ - filters in the URL are kept) or single job URLs (e.g. https://www.bayt.com/en/uae/jobs/senior-backend-engineer-5484629/).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "datePosted": {
            "title": "Date posted",
            "enum": [
              "any",
              "past-24h",
              "past-week",
              "past-month"
            ],
            "type": "string",
            "description": "Bayt's \"Date posted\" filter (read from the page's own menu).",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date",
              "language"
            ],
            "type": "string",
            "description": "Bayt's sort order.",
            "default": "relevance"
          },
          "careerLevel": {
            "title": "Career level",
            "enum": [
              "any",
              "student",
              "fresh-graduate",
              "entry-level",
              "mid-career",
              "management",
              "director",
              "senior-executive"
            ],
            "type": "string",
            "description": "Bayt's career-level filter. Bayt lists only levels that have jobs for the search; a level it does not list gives 0 jobs (the log says so).",
            "default": "any"
          },
          "employmentType": {
            "title": "Employment type",
            "enum": [
              "any",
              "full-time",
              "part-time",
              "contractor",
              "freelance",
              "internship",
              "temporary",
              "volunteer"
            ],
            "type": "string",
            "description": "Bayt's employment-type filter.",
            "default": "any"
          },
          "industry": {
            "title": "Industry",
            "type": "string",
            "description": "Bayt industry name or id as in its filter menu, e.g. \"Accounting\", \"Management Consulting\", \"Airlines\" or \"79\"."
          },
          "gender": {
            "title": "Gender requirement",
            "enum": [
              "any",
              "unspecified",
              "male",
              "female"
            ],
            "type": "string",
            "description": "Bayt's gender-requirement filter (what the employer asked for).",
            "default": "any"
          },
          "companyType": {
            "title": "Company type",
            "enum": [
              "any",
              "employer-private-sector",
              "employer-public-sector",
              "recruitment-agency",
              "non-profit-organization"
            ],
            "type": "string",
            "description": "Bayt's company-type filter.",
            "default": "any"
          },
          "remoteOnly": {
            "title": "Work from home only",
            "type": "boolean",
            "description": "Bayt's \"Work from home jobs\" switch.",
            "default": false
          },
          "easyApplyOnly": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Bayt's \"Easy Apply only\" switch.",
            "default": false
          },
          "nationalsOnly": {
            "title": "Nationals-only jobs",
            "type": "boolean",
            "description": "Bayt's \"<Country> Nationals Only\" switch (jobs reserved for citizens of the searched country).",
            "default": false
          },
          "fewerApplicants": {
            "title": "Jobs with fewer applicants",
            "type": "boolean",
            "description": "Bayt's \"Jobs with fewer applicants\" switch.",
            "default": false
          },
          "searchMinSalary": {
            "title": "Minimum salary (USD per month)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only jobs whose published maximum salary is at least this many US dollars per month (Bayt's own USD figure from the job page). Bayt has no salary filter, so this is applied by the Actor and jobs without a salary are left out. 0 = off.",
            "default": 0
          },
          "language": {
            "title": "Site language",
            "enum": [
              "en",
              "ar"
            ],
            "type": "string",
            "description": "Bayt site language (labels and AI-translated texts).",
            "default": "en"
          },
          "includeDetails": {
            "title": "Open each job page",
            "type": "boolean",
            "description": "Read each job page for employment type, job role, industry, skills, degree, years of experience, nationality, full description, USD salary, dates and the apply link (one extra request per job).",
            "default": true
          },
          "maxItems": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many jobs in total (all searches together). Bayt shows 30 jobs per page and up to about 10,000 per search.",
            "default": 50
          },
          "maxPages": {
            "title": "Max pages per search",
            "minimum": 0,
            "type": "integer",
            "description": "Stop each search after this many result pages (30 jobs each). 0 = no page limit.",
            "default": 0
          },
          "maxConcurrency": {
            "title": "Parallel job-page readers",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many job pages are read at the same time (each reader is its own visitor with its own proxy session).",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Residential proxy is the default. Bayt answered from every country tried.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}