{
  "openapi": "3.0.1",
  "info": {
    "title": "RocketJobs.pl Jobs Scraper",
    "description": "Scrapes job offers from rocketjobs.pl, the Polish job board for non-IT jobs (sales, logistics, hospitality, finance), through its public JSON API: salaries (also per month), skills, experience, contract types, locations and company. Same output schema as our other job portal actors.",
    "version": "0.5",
    "x-build-id": "Z885K7RR6MjfRcUzL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datawatcher~rocketjobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datawatcher-rocketjobs-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/datawatcher~rocketjobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-datawatcher-rocketjobs-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/datawatcher~rocketjobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-datawatcher-rocketjobs-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": {
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of offers returned, in total. 0 = no limit (the run timeout still applies). Free plan Apify users get at most 1000 offers per run, whatever is set here (paying users have no cap). rocketjobs.pl serves at most 10,000 per search.",
            "default": 50
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "URLs from which the actor starts scraping, instead of a search: a listing/search URL is read as that listing, a specific offer URL is read directly. locations, categories, contractTypes, workType, experience and withSalaryOnly still apply: rows that do not match are dropped. searchQueries is not applied (a warning says so). rocketjobs.pl listing pages (https://rocketjobs.pl/oferty-pracy/warszawa/sales?doswiadczenie=junior) or offer pages (https://rocketjobs.pl/oferta-pracy/...).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "Keywords to search for, one search per line (a technology or a job title). Empty - every offer. Each search runs once per location; a job title like sprzedawca or kierowca works best.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Only offers in these cities, written as normal city names; accents and case do not matter (Krakow = Kraków = KRAKÓW). A city the portal does not know gives a warning and no search for it, never an unfiltered search. Empty - anywhere. Each search runs once per location.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Only offers in these categories (the output's `categories[].value` values). Empty - all. rocketjobs.pl has no category for backend, frontend, fullstack, mobile, devops, ai-ml, testing, security, it-admin, embedded, gamedev, erp, architecture, product and business-analysis: those values are ignored (a warning says so); with only such values, no search is made. One search per site category.",
            "items": {
              "type": "string",
              "enum": [
                "backend",
                "frontend",
                "fullstack",
                "mobile",
                "devops",
                "data",
                "ai-ml",
                "testing",
                "security",
                "it-admin",
                "support",
                "embedded",
                "gamedev",
                "erp",
                "architecture",
                "project-management",
                "product",
                "ux-ui",
                "business-analysis",
                "sales",
                "marketing",
                "hr",
                "finance",
                "customer-service",
                "engineering",
                "production",
                "logistics",
                "legal",
                "administration",
                "consulting",
                "education",
                "healthcare",
                "construction",
                "hospitality"
              ],
              "enumTitles": [
                "Backend",
                "Frontend",
                "Full-stack",
                "Mobile",
                "DevOps",
                "Data",
                "AI / ML",
                "Testing",
                "Security",
                "IT admin",
                "Support",
                "Embedded",
                "Game dev",
                "ERP",
                "Architecture",
                "Project management",
                "Product",
                "UX / UI",
                "Business analysis",
                "Sales",
                "Marketing",
                "HR",
                "Finance",
                "Customer service",
                "Engineering",
                "Production",
                "Logistics",
                "Legal",
                "Administration",
                "Consulting",
                "Education",
                "Healthcare",
                "Construction",
                "Hospitality"
              ]
            }
          },
          "contractTypes": {
            "title": "Contract types",
            "type": "array",
            "description": "Only offers that allow one of these contracts (the output's `contractTypes` values). Empty - all. rocketjobs.pl cannot filter on `specific-task`: that value is ignored (a warning says so); with only that value, no search is made.",
            "items": {
              "type": "string",
              "enum": [
                "employment",
                "b2b",
                "mandate",
                "specific-task",
                "internship"
              ],
              "enumTitles": [
                "Employment contract",
                "B2B",
                "Mandate contract",
                "Contract for specific work",
                "Internship"
              ]
            }
          },
          "workType": {
            "title": "Work type",
            "type": "array",
            "description": "Only offers with one of these work types (the output's `workType[].type` values). Empty - all.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite",
                "mobile"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site",
                "Mobile"
              ]
            }
          },
          "experience": {
            "title": "Experience",
            "type": "array",
            "description": "Only offers for these experience levels (the output's `experience.levels[].value` values). Empty - all. rocketjobs.pl has no `expert` or `lead` level: those values are ignored (a warning says so); with only such values, no search is made.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "junior",
                "mid",
                "senior",
                "expert",
                "lead",
                "manager",
                "executive"
              ],
              "enumTitles": [
                "Intern",
                "Junior",
                "Mid",
                "Senior",
                "Expert",
                "Lead",
                "Manager",
                "Executive"
              ]
            }
          },
          "withSalaryOnly": {
            "title": "With salary only",
            "type": "boolean",
            "description": "Only offers that show a salary (the output's `salaries` is not empty). Off - all offers.",
            "default": false
          },
          "extractFullDetails": {
            "title": "Extract full details",
            "type": "boolean",
            "description": "Fetch each offer's own page (and its company once per run) and return the full data: the description, skills, benefits, languages, company details. Off - listing-level data only, cheaper and faster. An offer start URL is always read. A filter whose field the listing lacks still reads that offer's page to decide.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum number of searches/details processed in parallel.",
            "default": 1
          },
          "maxRequestsPerMinute": {
            "title": "Max requests per minute",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum HTTP request rate, for the whole run.",
            "default": 60
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings, especially useful when many detail pages are requested.",
            "default": {
              "useApifyProxy": false
            }
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Number of retries after a failed HTTP request.",
            "default": 2
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}