{
  "openapi": "3.0.1",
  "info": {
    "title": "Bayt.com MENA Job Listing & Salary Scraper",
    "description": "Search Bayt.com job listings across Middle East and North Africa countries by keyword, location, career level, and employment type. Get titles, companies, locations, salaries, required skills, full descriptions, and apply links.",
    "version": "1.1",
    "x-build-id": "dmkWw6R5TxYj7Fdkk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dataspryva~bayt-com-mena-job-listing-and-salary-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dataspryva-bayt-com-mena-job-listing-and-salary-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/dataspryva~bayt-com-mena-job-listing-and-salary-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dataspryva-bayt-com-mena-job-listing-and-salary-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/dataspryva~bayt-com-mena-job-listing-and-salary-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dataspryva-bayt-com-mena-job-listing-and-salary-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "byUrls",
              "byJobIds",
              "company"
            ],
            "type": "string",
            "description": "What to scrape. Search jobs builds one Bayt search per query. Paste URLs accepts job, search or company links. Job IDs resolves specific postings. Company pulls a profile and its open roles.",
            "default": "search"
          },
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "One keyword per entry, for example accountant or software engineer. Several entries are searched in order and duplicates are removed.",
            "default": [
              "accountant"
            ],
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Market",
            "enum": [
              "international",
              "uae",
              "saudi-arabia",
              "qatar",
              "kuwait",
              "bahrain",
              "oman",
              "egypt",
              "jordan",
              "lebanon",
              "iraq",
              "morocco",
              "tunisia",
              "algeria",
              "libya",
              "syria",
              "palestine",
              "pakistan",
              "india",
              "usa",
              "uk",
              "canada",
              "australia",
              "turkiye"
            ],
            "type": "string",
            "description": "Bayt market to search. Pick International for every country, or choose one of the 24 supported markets.",
            "default": "international"
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Optional city name such as Dubai, Riyadh or Cairo. If Bayt has no page for the city, the search falls back to the whole country."
          },
          "employmentType": {
            "title": "Employment type",
            "enum": [
              "any",
              "full_time",
              "part_time",
              "contractor",
              "temporary",
              "internship",
              "freelance"
            ],
            "type": "string",
            "description": "Filter by the employment type Bayt publishes for the job.",
            "default": "any"
          },
          "careerLevel": {
            "title": "Career level",
            "enum": [
              "any",
              "student",
              "fresh_graduate",
              "entry",
              "mid_career",
              "management",
              "director",
              "senior_executive"
            ],
            "type": "string",
            "description": "Filter by seniority. Bayt publishes this for some jobs, mostly employer postings.",
            "default": "any"
          },
          "datePosted": {
            "title": "Date posted",
            "enum": [
              "any",
              "last_24_hours",
              "last_week",
              "last_month"
            ],
            "type": "string",
            "description": "Only return jobs Bayt marks as posted within this window.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "date",
              "relevance"
            ],
            "type": "string",
            "description": "Newest first is best for monitoring. Most relevant is best for broad keyword research.",
            "default": "date"
          },
          "industry": {
            "title": "Industry",
            "enum": [
              "any",
              "accounting",
              "pharmaceutical-manufacturing",
              "construction-building",
              "recruitment-employment-agency",
              "general-engineering-consultancy",
              "hospitality-accommodation",
              "hr-outsourcing",
              "it-services",
              "law-firm",
              "other-business-support",
              "real-estate",
              "sales-outsourcing",
              "scientific-research-development",
              "airlines",
              "automotive-dealership",
              "manufacturing",
              "marketing",
              "oil-gas",
              "telecommunications",
              "management-consulting",
              "project-construction-planning",
              "market-research"
            ],
            "type": "string",
            "description": "Filter by one of Bayt's employer industries.",
            "default": "any"
          },
          "companyName": {
            "title": "Company name",
            "type": "string",
            "description": "Optional employer name filter, for example Al Futtaim or Infosys. Bayt matches the employer facet, so partial names may work differently from exact names."
          },
          "remoteOnly": {
            "title": "Remote or hybrid only",
            "type": "boolean",
            "description": "Use Bayt's server-side remote-working filter.",
            "default": false
          },
          "easyApplyOnly": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Only return jobs that accept an application directly on Bayt.",
            "default": false
          },
          "minSalary": {
            "title": "Minimum monthly salary (USD)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Exclude jobs whose published USD monthly range ends below this amount. Jobs with no published salary are excluded when this is set."
          },
          "includeDetails": {
            "title": "Visit each job page",
            "type": "boolean",
            "description": "On: full descriptions, skills, preferred-candidate criteria, parsed salary and company metadata. Off: faster, listing-card fields only.",
            "default": true
          },
          "maxItems": {
            "title": "Maximum records",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Overall record limit for the run. Bayt exposes at most about 10,000 results per single search.",
            "default": 50
          },
          "maxPages": {
            "title": "Maximum pages per search",
            "minimum": 1,
            "maximum": 400,
            "type": "integer",
            "description": "Safety cap on listing pages per search. Bayt shows 30 jobs per page and stops near 10,000 results.",
            "default": 100
          },
          "startUrls": {
            "title": "URLs to scrape",
            "type": "array",
            "description": "Job, search or company URLs, used when Mode is Paste URLs. Arabic and English Bayt URLs are accepted.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "jobIds": {
            "title": "Job IDs or job URLs",
            "type": "array",
            "description": "Bayt job IDs such as 5498312, or full job URLs, used when Mode is Resolve job IDs.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "companyUrls": {
            "title": "Company URLs or IDs",
            "type": "array",
            "description": "Bayt company profile URLs or numeric company IDs, used when Mode is Company profile.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeCompanyJobs": {
            "title": "Include the company's open jobs",
            "type": "boolean",
            "description": "In Company mode, also return the company's open roles as job records.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}