{
  "openapi": "3.0.1",
  "info": {
    "title": "Bayt.com | Only $0.9💰| Search by URL or Keywords",
    "description": "💰$0.9 per 1,000 jobs. Scrape job listings from Bayt.com, the leading Middle East job portal. Extract job titles, company names, locations, descriptions, requirements, salaries, and more. Supports search URLs and individual job pages with pagination and proxy support.",
    "version": "0.0",
    "x-build-id": "W2iexj5yoSAG8vbZj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~bayt-search-cheerio-ppr/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-bayt-search-cheerio-ppr",
        "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/memo23~bayt-search-cheerio-ppr/runs": {
      "post": {
        "operationId": "runs-sync-memo23-bayt-search-cheerio-ppr",
        "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/memo23~bayt-search-cheerio-ppr/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-bayt-search-cheerio-ppr",
        "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": {
          "startUrls": {
            "title": "Copy and paste URLs from Bayt website",
            "type": "array",
            "description": "Bayt job listing pages (e.g. …/en/uae/jobs/software-engineer-jobs/) or job detail URLs. If every URL is empty, the actor uses **Search by filters** — see the actor description for which fields are required in that case.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchJobKeyword": {
            "title": "Job keyword",
            "type": "string",
            "description": "Becomes the keyword segment in the Bayt path (e.g. “software engineer” → …/software-engineer-jobs/). Optional when using filters without URLs: use for a focused search, or leave blank for country-wide listing (still set **Country / region** or rely on its default). If **Country / region** is omitted by your client, this or **Location** must be set."
          },
          "searchLocation": {
            "title": "Location",
            "type": "string",
            "description": "City or area name for the path (e.g. “Dubai” → …/jobs-in-dubai/ or combined with keyword)."
          },
          "searchCountryRegion": {
            "title": "Country / region",
            "enum": [
              "international",
              "uae",
              "saudi-arabia",
              "qatar",
              "kuwait",
              "oman",
              "bahrain",
              "egypt",
              "jordan",
              "lebanon",
              "iraq",
              "pakistan",
              "india",
              "morocco",
              "tunisia",
              "algeria",
              "libya",
              "yemen",
              "syria",
              "palestine"
            ],
            "type": "string",
            "description": "**Required when using filters without Start URLs** (unless **Job keyword** or **Location** is set — then the actor may default to `international`). Chooses the Bayt path segment: `uae`, `international`, etc. Schema default: **Middle East & international**.",
            "default": "international"
          },
          "searchPostedWithin": {
            "title": "Posted within",
            "enum": [
              "anytime",
              "past_30_days",
              "past_7_days",
              "past_24_hours"
            ],
            "type": "string",
            "description": "Maps to Bayt’s **Date posted** filter.",
            "default": "anytime"
          },
          "searchSortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date",
              "language"
            ],
            "type": "string",
            "description": "Bayt sort option for the listing.",
            "default": "relevance"
          },
          "searchEasyApplyOnly": {
            "title": "Easy apply only",
            "type": "boolean",
            "description": "Matches Bayt’s **Easy Apply only** filter.",
            "default": false
          },
          "searchRemoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Matches Bayt’s remote-work filter.",
            "default": false
          },
          "searchWorkType": {
            "title": "Work type (advanced)",
            "enum": [
              "",
              "full_time",
              "part_time",
              "freelance"
            ],
            "type": "string",
            "description": "Bayt employment type filter.",
            "default": ""
          },
          "searchRadiusKm": {
            "title": "Search radius (km)",
            "type": "integer",
            "description": "Not used in Bayt URLs yet (placeholder for parity with other actors)."
          },
          "searchMinSalary": {
            "title": "Minimum salary (advanced)",
            "type": "integer",
            "description": "Not used in Bayt URLs yet (placeholder for parity with other actors)."
          },
          "maxItems": {
            "title": "Max jobs",
            "type": "integer",
            "description": "Maximum number of job listings to collect.",
            "default": 100
          },
          "moreResults": {
            "title": "Scrape all possible results (bypass limit of 500 items/listings)",
            "type": "boolean",
            "description": "When enabled, keeps paginating to retrieve as many results as Bayt allows.",
            "default": false
          },
          "includeListingDetails": {
            "title": "Include full job details",
            "type": "boolean",
            "description": "Fetch each job’s detail page for full description and fields.",
            "default": false
          },
          "downloadImages": {
            "title": "Download images (stored in Key-Value Store)",
            "type": "boolean",
            "description": "Store listing images in the run’s Key-Value Store.",
            "default": false
          },
          "maxImages": {
            "title": "Max images per listing",
            "type": "integer",
            "description": "Only applies when **Download images** is enabled.",
            "default": 10
          },
          "storeName": {
            "title": "Key-Value Store name (optional)",
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
            "type": "string",
            "description": "Optional named store for long-term retention of listings."
          },
          "maxConcurrency": {
            "title": "Max Concurrency",
            "type": "integer",
            "description": "Maximum parallel requests.",
            "default": 100
          },
          "minConcurrency": {
            "title": "Min Concurrency",
            "type": "integer",
            "description": "Minimum concurrent requests.",
            "default": 1
          },
          "maxRequestRetries": {
            "title": "Max Request Retries",
            "type": "integer",
            "description": "Retries per failed request before giving up.",
            "default": 100
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings for the crawler.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}