{
  "openapi": "3.0.1",
  "info": {
    "title": "Platsbanken Scraper: Sweden Job Ads from Arbetsförmedlingen",
    "description": "Returns Swedish job ads from Platsbanken (Arbetsförmedlingen) via the open JobTech API, one clean row per ad with employer, organisation number, location, occupation and deadline, without contact persons. Filter by keyword, county, municipality, occupation field and remote work. Supports onlyNew.",
    "version": "0.1",
    "x-build-id": "uGfI5CJgn2QPWgUeW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nightwave-owner~sweden-job-ads-platsbanken/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nightwave-owner-sweden-job-ads-platsbanken",
        "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/nightwave-owner~sweden-job-ads-platsbanken/runs": {
      "post": {
        "operationId": "runs-sync-nightwave-owner-sweden-job-ads-platsbanken",
        "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/nightwave-owner~sweden-job-ads-platsbanken/run-sync": {
      "post": {
        "operationId": "run-sync-nightwave-owner-sweden-job-ads-platsbanken",
        "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": {
          "query": {
            "title": "Keyword",
            "type": "string",
            "description": "Optional. Free text search in headline, ad text and employer name, for example \"systemutvecklare\", \"python\" or \"sjuksköterska\". Swedish words find the most ads. Put a phrase in double quotes, and put - before a word to exclude it, for example \"unix -linux\"."
          },
          "regions": {
            "title": "Counties (län)",
            "type": "array",
            "description": "Optional. Only ads in these counties, for example [\"Stockholms län\"]. In the API you can also pass the county name in other spellings (\"Stockholm\") or the two digit county code (\"01\").",
            "items": {
              "type": "string",
              "enum": [
                "Stockholms län",
                "Uppsala län",
                "Södermanlands län",
                "Östergötlands län",
                "Jönköpings län",
                "Kronobergs län",
                "Kalmar län",
                "Gotlands län",
                "Blekinge län",
                "Skåne län",
                "Hallands län",
                "Västra Götalands län",
                "Värmlands län",
                "Örebro län",
                "Västmanlands län",
                "Dalarnas län",
                "Gävleborgs län",
                "Västernorrlands län",
                "Jämtlands län",
                "Västerbottens län",
                "Norrbottens län"
              ]
            }
          },
          "municipalities": {
            "title": "Municipalities",
            "type": "array",
            "description": "Optional. Municipality names or four digit municipality codes, for example [\"Göteborg\"] or [\"1480\"]. All 290 Swedish municipalities are accepted.",
            "items": {
              "type": "string"
            }
          },
          "occupationFields": {
            "title": "Occupation fields",
            "type": "array",
            "description": "Optional. Only ads in these occupation fields (yrkesområden), for example [\"Data/IT\"].",
            "items": {
              "type": "string",
              "enum": [
                "Administration, ekonomi, juridik",
                "Bygg och anläggning",
                "Chefer och verksamhetsledare",
                "Data/IT",
                "Försäljning, inköp, marknadsföring",
                "Hantverk",
                "Hotell, restaurang, storhushåll",
                "Hälso- och sjukvård",
                "Industriell tillverkning",
                "Installation, drift, underhåll",
                "Kropps- och skönhetsvård",
                "Kultur, media, design",
                "Militära yrken",
                "Naturbruk",
                "Naturvetenskap",
                "Pedagogik",
                "Sanering och renhållning",
                "Säkerhet och bevakning",
                "Transport, distribution, lager",
                "Yrken med social inriktning",
                "Yrken med teknisk inriktning"
              ]
            }
          },
          "employmentTypes": {
            "title": "Employment types",
            "type": "array",
            "description": "Optional. Only ads with these employment types, for example [\"permanent\"].",
            "items": {
              "type": "string",
              "enum": [
                "permanent",
                "temporary",
                "substitute",
                "onDemand",
                "seasonal"
              ],
              "enumTitles": [
                "Permanent (tillsvidare)",
                "Fixed term (tidsbegränsad)",
                "Substitute (vikariat)",
                "On demand (behovsanställning)",
                "Seasonal (säsongsanställning)"
              ]
            }
          },
          "remote": {
            "title": "Remote work",
            "type": "boolean",
            "description": "Optional. true: only ads that mention remote work, for example true. Leave empty for all ads. Platsbanken detects remote work from phrases in the ad, so the filter is approximate."
          },
          "publishedAfter": {
            "title": "Published after",
            "type": "string",
            "description": "Optional. A date (2026-10-01), a Swedish local datetime (2026-10-01T08:00) or a number of hours back (\"24\" for the last day). Useful for daily scheduled runs."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Maximum number of ads to return, newest first, for example 50. One search can return at most 2 000 ads; split larger searches by county or occupation field. Each ad is one billable result. Defaults to 50.",
            "default": 50
          },
          "onlyNew": {
            "title": "Only new ads",
            "type": "boolean",
            "description": "For scheduled runs. When true, ads that an earlier run with the same input already delivered are skipped and not charged, so a daily run returns only ads published since the last run (among the newest maxResults). The first run returns everything. Defaults to false.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}