{
  "openapi": "3.0.1",
  "info": {
    "title": "Nofluffjobs $1💰 URL Search | Keyword Filtering | Rich Output",
    "description": "From $1/1K. Extract IT jobs from NoFluffJobs.com across Poland, Czechia, Slovakia, Hungary, and the Netherlands. Search by filters or use NoFluffJobs URLs. Returns salary ranges, skills, full descriptions, tasks, benefits, hiring steps, company size, GPS coordinates, and merged office locations.",
    "version": "1.0",
    "x-build-id": "1HrrS7WOYfIyRXg0m"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~nofluffjobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-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/abotapi~nofluffjobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-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/abotapi~nofluffjobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "url"
            ],
            "type": "string",
            "description": "How to find jobs. 'search' builds a query from the filters below. 'url' fetches the NoFluffJobs URLs you paste (search pages or individual job pages).",
            "default": "search"
          },
          "region": {
            "title": "Region",
            "enum": [
              "pl",
              "cz",
              "sk",
              "hu",
              "nl",
              "all"
            ],
            "type": "string",
            "description": "Which NoFluffJobs market to search. 'All regions' scrapes every market.",
            "default": "pl"
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Free-text search, e.g. a role, technology or company name. Leave empty to list everything in the region."
          },
          "category": {
            "title": "Category",
            "enum": [
              "",
              "backend",
              "frontend",
              "fullstack",
              "mobile",
              "embedded",
              "testing",
              "devops",
              "sys-administrator",
              "agile",
              "ux",
              "project-manager",
              "business-analyst",
              "security",
              "data",
              "ai",
              "support",
              "architecture",
              "marketing",
              "sales",
              "hr",
              "finance"
            ],
            "type": "string",
            "description": "Job category. Leave empty for all categories.",
            "default": ""
          },
          "seniority": {
            "title": "Seniority",
            "enum": [
              "",
              "trainee",
              "junior",
              "mid",
              "senior",
              "expert"
            ],
            "type": "string",
            "description": "Experience level. Leave empty for any.",
            "default": ""
          },
          "employmentType": {
            "title": "Employment type",
            "enum": [
              "",
              "b2b",
              "permanent",
              "mandate-contract",
              "internship"
            ],
            "type": "string",
            "description": "Contract type. Leave empty for any.",
            "default": ""
          },
          "jobLanguage": {
            "title": "Job posting language",
            "enum": [
              "",
              "en",
              "pl",
              "cs",
              "sk",
              "hu",
              "uk"
            ],
            "type": "string",
            "description": "Language the posting is written in. Leave empty for any.",
            "default": ""
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Filter to a single city (e.g. warszawa, krakow, praha). Leave empty for all cities."
          },
          "technology": {
            "title": "Technology / skill",
            "type": "string",
            "description": "Require a specific skill or technology (e.g. java, react, kubernetes)."
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Only return jobs that offer remote work. The detail fields remotePercent and fullyRemote tell you whether a job is fully remote or hybrid.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "",
              "newest",
              "salary-desc",
              "salary-asc"
            ],
            "type": "string",
            "description": "Result ordering. Default is the site's relevance ranking. Salary sorts use the disclosed range; newest sorts by publish date. Applied server-side, so it orders the whole result set, not just the page.",
            "default": ""
          },
          "minSalary": {
            "title": "Minimum salary",
            "minimum": 0,
            "type": "integer",
            "description": "Only jobs whose disclosed salary range reaches at least this amount (monthly gross, in the region currency). Jobs with no disclosed salary are excluded when a salary filter is set."
          },
          "maxSalary": {
            "title": "Maximum salary",
            "minimum": 0,
            "type": "integer",
            "description": "Only jobs whose disclosed salary range starts at or below this amount (monthly gross, in the region currency)."
          },
          "urls": {
            "title": "NoFluffJobs URLs",
            "type": "array",
            "description": "Paste NoFluffJobs URLs (one per line). Search/listing pages are walked with pagination; individual job pages are fetched directly. Filter fields above are ignored in URL mode (salary filter still applies).",
            "items": {
              "type": "string"
            }
          },
          "fetchDetails": {
            "title": "Fetch full job details",
            "type": "boolean",
            "description": "Open each job's detail page to add full description, required/nice-to-have skills, daily tasks, benefits, equipment, recruitment steps, company size, salary breakdown and GPS. Turn off for a faster, lighter run with list-level fields only.",
            "default": true
          },
          "maxListings": {
            "title": "Max jobs",
            "minimum": 0,
            "type": "integer",
            "description": "The main limit: maximum number of jobs to return. 0 means unlimited (then Max pages becomes the cap).",
            "default": 20
          },
          "maxPages": {
            "title": "Max pages per query",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Safety bound on how many search-result pages to walk per query/region (about 20 jobs per page). Leave at the default; Max jobs is the primary limit. Only lower this if you set Max jobs to 0 (unlimited) and want pages to be the cap.",
            "default": 500
          },
          "proxy": {
            "title": "Connection (proxy)",
            "type": "object",
            "description": "NoFluffJobs works on the cheap Apify Datacenter connection (the default, free-tier friendly). Residential is optional and used only if you need geo-diverse IPs.",
            "default": {
              "useApifyProxy": true
            }
          },
          "residentialRequestCap": {
            "title": "Residential request cap",
            "minimum": 0,
            "type": "integer",
            "description": "Cost guard. If you chose a Residential connection, switch to the cheaper Datacenter connection after this many residential requests. 0 means no cap.",
            "default": 0
          },
          "residentialBudgetMb": {
            "title": "Residential traffic budget (MB)",
            "minimum": 0,
            "type": "integer",
            "description": "Cost guard. If you chose a Residential connection, switch to the cheaper Datacenter connection after pulling this many MB over residential. 0 means no budget limit.",
            "default": 0
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}