{
  "openapi": "3.0.1",
  "info": {
    "title": "Profesia.sk Jobs Scraper",
    "description": "[💰 $1.30 / 1K] Extract job listings from Profesia.sk, Slovakia's largest job board. Search by keyword or URL, filter by region, employment type, salary, remote work and date, and get full descriptions, salary and company details.",
    "version": "1.0",
    "x-build-id": "tjFFB4NeuRchePmgI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~profesia-sk-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-profesia-sk-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/solidcode~profesia-sk-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-profesia-sk-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/solidcode~profesia-sk-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-profesia-sk-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": {
          "searchQueries": {
            "title": "Search Keywords",
            "maxItems": 50,
            "type": "array",
            "description": "Job titles or keywords to search for, such as 'účtovník', 'vodič', 'Java developer' or 'manažér'. Each keyword runs its own search and the results are merged and de-duplicated. Up to 50 keywords per run. Leave empty if you only want to use the direct URLs below.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Direct URLs",
            "maxItems": 100,
            "type": "array",
            "description": "Paste full Profesia.sk URLs directly — search-result pages (for example a search you already filtered in your browser), region or category pages, or individual job-offer pages. Any filters already baked into a search URL are collected exactly as-is, and pagination is handled automatically. Up to 100 URLs per run.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "region": {
            "title": "Region",
            "enum": [
              "",
              "bratislava",
              "trnava",
              "trencin",
              "nitra",
              "zilina",
              "banska-bystrica",
              "presov",
              "kosice",
              "abroad"
            ],
            "type": "string",
            "description": "Limit results to one Slovak region. Leave on 'Any region' to search the whole country. Use 'Abroad' for jobs located outside Slovakia.",
            "default": ""
          },
          "employmentType": {
            "title": "Employment Type",
            "uniqueItems": true,
            "type": "array",
            "description": "Only collect jobs offering these types of employment. Leave empty to include every type.",
            "items": {
              "type": "string",
              "enum": [
                "full-time",
                "part-time",
                "self-employment",
                "agreement",
                "internship"
              ],
              "enumTitles": [
                "Full-time (plný úväzok)",
                "Part-time (skrátený úväzok)",
                "Self-employment / trade licence (živnosť)",
                "Agreement / gig work (na dohodu, brigády)",
                "Internship (stáž)"
              ]
            }
          },
          "remoteWork": {
            "title": "Remote Work",
            "enum": [
              "",
              "onsite",
              "remote",
              "hybrid"
            ],
            "type": "string",
            "description": "Filter by where the work is done. Leave on 'Any' to include all jobs.",
            "default": ""
          },
          "salaryMin": {
            "title": "Minimum Salary (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Only collect jobs offering at least this salary in euros. Use together with the Salary Period below (monthly or hourly). Leave empty for no minimum. Note: jobs that do not publish a salary are excluded when this filter is set."
          },
          "salaryPeriod": {
            "title": "Salary Period",
            "enum": [
              "monthly",
              "hourly"
            ],
            "type": "string",
            "description": "Whether the Minimum Salary above is a monthly or an hourly amount. Only used when a minimum salary is set.",
            "default": "monthly"
          },
          "datePosted": {
            "title": "Posted Within",
            "enum": [
              "",
              "1",
              "2",
              "7",
              "30"
            ],
            "type": "string",
            "description": "Only show jobs published within this time window. Leave on 'Any time' for all jobs.",
            "default": ""
          },
          "maxResults": {
            "title": "Max Results per Search",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum number of jobs to collect per search keyword. Use 50 for a quick scan or a higher number for deep research. Capped at 5000 per search. Set to 0 (or leave empty) to collect every matching job with no limit up to a 50,000 per-search safety ceiling, which can return a very large number of results for broad keywords. The last page is always kept in full, so the final count can slightly overshoot this number.",
            "default": 100
          },
          "includeJobDetails": {
            "title": "Fetch Full Job Details",
            "type": "boolean",
            "description": "Fetch each job's detail page to fill the full description, employment type, remote type, positions, publish date, education, benefits, company profile and contact fields. Leave on for the richest data. Turn off for a faster, lighter scan that returns only the always-present listing summary (title, company, location, salary, sponsored flag and job link).",
            "default": true
          },
          "descriptionFormat": {
            "title": "Description Format",
            "enum": [
              "text",
              "html",
              "both"
            ],
            "type": "string",
            "description": "How to return the full job description. 'Plain text' gives clean readable text, 'HTML' preserves the original formatting, 'Both' includes each in its own field. Only applies when Fetch Full Job Details is on.",
            "default": "text"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}