{
  "openapi": "3.0.1",
  "info": {
    "title": "BestJobs Scraper — Romania Jobs & Salaries, No Phones",
    "description": "Romanian job ads from BestJobs (bestjobs.eu): title, company, towns, salary in EUR, employment type, level, remote/hybrid, languages, benefits and the full ad. Links or keywords + towns.",
    "version": "0.1",
    "x-build-id": "iR2XsJZhDd05uSeiX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/highbrow_fame~bestjobs-ro-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-highbrow_fame-bestjobs-ro-jobs",
        "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/highbrow_fame~bestjobs-ro-jobs/runs": {
      "post": {
        "operationId": "runs-sync-highbrow_fame-bestjobs-ro-jobs",
        "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/highbrow_fame~bestjobs-ro-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-highbrow_fame-bestjobs-ro-jobs",
        "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": {
          "searchUrls": {
            "title": "Search links",
            "type": "array",
            "description": "Set up a search on bestjobs.eu (keyword, town, employment type, level, language, remote, order) and paste the address of the results page. One per line. Category filters (/it/, /sales/ …) cannot be read — see the FAQ.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Or search here without a link: job titles or keywords (contabil, programator, sofer, customer support). Each keyword is searched in each place below, or in all of Romania when there is no place. The filters below apply.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Places",
            "type": "array",
            "description": "Towns or counties in Romania (București, Cluj-Napoca, Sectorul 1, Ilfov, Timișoara). A place without keywords gives all its jobs.",
            "items": {
              "type": "string"
            }
          },
          "employmentTypes": {
            "title": "Employment type",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional: only jobs of any of these kinds.",
            "items": {
              "type": "string",
              "enum": [
                "full-time",
                "part-time",
                "internship",
                "project",
                "volunteer"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Internship",
                "Project",
                "Volunteering"
              ]
            }
          },
          "careerLevels": {
            "title": "Experience level",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional: only jobs for any of these levels.",
            "items": {
              "type": "string",
              "enum": [
                "no-experience",
                "entry",
                "middle",
                "senior",
                "executive"
              ],
              "enumTitles": [
                "No experience",
                "Entry (0-2 years)",
                "Middle (2-5 years)",
                "Senior (5-10 years)",
                "Executive (10+ years)"
              ]
            }
          },
          "languages": {
            "title": "Spoken language",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional: only jobs that ask for any of these languages.",
            "items": {
              "type": "string",
              "enum": [
                "en",
                "de",
                "fr",
                "it",
                "es",
                "hu",
                "nl",
                "pl",
                "pt",
                "ru",
                "tr",
                "el",
                "cs",
                "sk",
                "bg",
                "sr",
                "hr",
                "uk",
                "sv",
                "da",
                "no",
                "fi",
                "ar",
                "he",
                "ja",
                "ko",
                "zh",
                "lv",
                "sl",
                "ro"
              ],
              "enumTitles": [
                "English",
                "German",
                "French",
                "Italian",
                "Spanish",
                "Hungarian",
                "Dutch",
                "Polish",
                "Portuguese",
                "Russian",
                "Turkish",
                "Greek",
                "Czech",
                "Slovak",
                "Bulgarian",
                "Serbian",
                "Croatian",
                "Ukrainian",
                "Swedish",
                "Danish",
                "Norwegian",
                "Finnish",
                "Arabic",
                "Hebrew",
                "Japanese",
                "Korean",
                "Chinese",
                "Latvian",
                "Slovenian",
                "Romanian"
              ]
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Only jobs that can be done remotely (BestJobs' remote filter).",
            "default": false
          },
          "includeRemoteJobs": {
            "title": "Include remote jobs in place searches",
            "type": "boolean",
            "description": "BestJobs mixes remote-only jobs into the results of a town (239 of 291 \"programator\" jobs in Cluj-Napoca). Turn off to keep only the jobs located in the place. Applies to links with a town too.",
            "default": true
          },
          "sort": {
            "title": "Order",
            "enum": [
              "",
              "recent",
              "salary"
            ],
            "type": "string",
            "description": "The order of the results, as on BestJobs. Only matters when the maximum below cuts a search short.",
            "default": ""
          },
          "maxListingsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Stops each search after this many jobs.",
            "default": 200
          },
          "includeDetails": {
            "title": "Full job ad and details",
            "type": "boolean",
            "description": "Opens every job for the full ad text, employment types, experience levels, remote/hybrid, languages, benefits, skills, vacancies and views. One more small request per job.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Parallel searches",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many searches to work on at the same time.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Used only when a request fails on the network: the first try goes out directly.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}