{
  "openapi": "3.0.1",
  "info": {
    "title": "No Fluff Jobs Scraper",
    "description": "[💰 $0.75 / 1K] Extract IT and tech job listings from No Fluff Jobs across 6 European site editions. Search by keyword and filter by category, seniority, employment type, city, salary, and remote work to get structured jobs with salary ranges, tech stack, company, and a direct job link on every row.",
    "version": "1.0",
    "x-build-id": "iOZoYeK8HIAa4WWPc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~nofluffjobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-nofluffjobs-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~nofluffjobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-nofluffjobs-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~nofluffjobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-nofluffjobs-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, roles, or technologies to search for, such as 'python', 'react', or 'data engineer'. A multi-word phrase like 'data engineer' is matched as one phrase. Each keyword runs a separate search. Leave empty to collect the broadest result set for the chosen country and filters. Up to 50 keywords per run.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Direct No Fluff Jobs URLs",
            "maxItems": 50,
            "type": "array",
            "description": "Paste full No Fluff Jobs search-result, category, or individual job URLs (e.g. https://nofluffjobs.com/jobs/backend) to scrape them directly. Useful when you already have a search dialed in on the website. When set, this takes priority over the keyword search above. Up to 50 URLs per run.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Site Edition (language & salary currency)",
            "enum": [
              "pl",
              "nl",
              "cz",
              "sk",
              "hu",
              "ua"
            ],
            "type": "string",
            "description": "Which country edition of the No Fluff Jobs website to search. It sets the site language, the currency salaries are shown in, and which regional catalogue is served. It does not filter jobs by where they are located: the Czechia and Slovakia editions serve mostly Poland-based listings, and the Netherlands edition currently has no live postings. To restrict results to a place, use the City field below.",
            "default": "pl"
          },
          "category": {
            "title": "Job Category",
            "enum": [
              "",
              "backend",
              "frontend",
              "fullstack",
              "mobile",
              "devops",
              "testing",
              "data",
              "business-intelligence",
              "ai",
              "security",
              "ux",
              "architecture",
              "embedded",
              "sys-administrator",
              "support",
              "business-analyst",
              "project-manager"
            ],
            "type": "string",
            "description": "Limit results to one IT job category. Leave on 'Any' to include all categories. No Fluff Jobs files data and business-intelligence roles under a single category, so those two options return exactly the same listings; the other 15 are each a distinct set. Every result row is tagged with the same category code you pick here, so you can filter or group your results on it (Data and Business Intelligence rows are both tagged \"data\", because they are one category).",
            "default": ""
          },
          "seniority": {
            "title": "Seniority Level",
            "enum": [
              "",
              "trainee",
              "junior",
              "mid",
              "senior",
              "expert"
            ],
            "type": "string",
            "description": "Limit results to one experience level. Leave on 'Any' to include all levels.",
            "default": ""
          },
          "employmentType": {
            "title": "Employment Type",
            "enum": [
              "",
              "b2b",
              "permanent"
            ],
            "type": "string",
            "description": "Filter by contract type. Pick one or leave on 'Any' for all types.",
            "default": ""
          },
          "location": {
            "title": "City",
            "type": "string",
            "description": "The one input that genuinely filters by place. Type a city such as 'Warsaw', 'Kraków', or 'Wrocław' (English and native spellings both work). Leave empty to search everywhere the chosen edition covers, including remote roles."
          },
          "remoteOnly": {
            "title": "Remote Only",
            "type": "boolean",
            "description": "Only show jobs that can be done fully remotely.",
            "default": false
          },
          "withSalaryOnly": {
            "title": "With Salary Only",
            "type": "boolean",
            "description": "Only show jobs that disclose a salary range.",
            "default": false
          },
          "salaryCurrency": {
            "title": "Salary Currency",
            "enum": [
              "",
              "PLN",
              "EUR",
              "USD",
              "GBP",
              "CZK",
              "HUF",
              "UAH"
            ],
            "type": "string",
            "description": "Show every salary converted into one currency, so offers from different countries sit on the same scale. This changes the numbers, not the results: the same jobs come back whichever currency you pick. Leave on 'Any' to read each salary in the site edition's own currency.",
            "default": ""
          },
          "maxResultsPerQuery": {
            "title": "Max Results per Query",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of job listings to collect per search keyword (or per start URL). Set to 0 to collect every available result. The cap is exact: the run stops on the row you asked for, so you are never charged for more results than you set. A run finishes below the cap only when No Fluff Jobs has no more listings matching your search.",
            "default": 100
          },
          "onlyUniqueJobs": {
            "title": "Only Unique Jobs",
            "type": "boolean",
            "description": "When on, each job is returned once even if No Fluff Jobs lists it under several regions or URLs. Deduplicates by the listing's reference. Turn off to keep every regional copy.",
            "default": true
          },
          "includeDescription": {
            "title": "Fetch Full Job Descriptions",
            "type": "boolean",
            "description": "Include the full job description text and HTML for each listing. Leave on for the most complete data. Turn off for lighter, faster records when you only need titles, companies, salaries, and tech stack.",
            "default": 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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}