Scrape IT & tech jobs from NoFluffJobs, the Poland/CEE board with mandatory salary transparency. Each record has title, company, salary min/max, seniority, tech stack, remote flag and apply URL. Incremental delta mode with repost detection; filter by category, currency, remote. JSON, CSV, Excel.
Which NoFluffJobs categories to fetch. Defaults to all 37 verified category slugs below (broad coverage) — this is the full set of category slugs verified live against the NoFluffJobs search API (each was probed directly and returns real results): standard tech categories (backend, frontend, fullstack, mobile, embedded, devops, testing, architecture, security, game-dev, artificial-intelligence, data, sys-administrator), management/analysis (pm, agile, product-management, project-manager, business-intelligence, business-analyst), design/support (ux, support, erp), engineering (electronics, telecommunication, electrical-eng, automation, mechanics), and non-IT business roles NoFluffJobs also lists (sales, marketing, office-administration, hr, finance, consulting, customer-service, law, logistics, other). ai-data is kept as a legacy alias slug that still returns results server-side but is excluded from the default set (already covered by artificial-intelligence + data).
Type:string[]
Default:
[
"backend",
"frontend",
"fullstack",
"mobile",
"embedded",
"testing",
"devops",
"architecture",
"security",
"game-dev",
"artificial-intelligence",
"data",
"sys-administrator",
"pm",
"agile",
"product-management",
"project-manager",
"business-intelligence",
"business-analyst",
"ux",
"support",
"erp",
"electronics",
"telecommunication",
"electrical-eng",
"automation",
"mechanics",
"sales",
"marketing",
"office-administration",
"hr",
"finance",
"consulting",
"customer-service",
"law",
"logistics",
"other"
]
Example:
[
"frontend",
"fullstack"
]
Max items
maxItems
Optional
Maximum total number of postings to return across all categories. Set 0 for no limit.
Type:integer
Minimum:0
Default:100
Max pages per category
maxPages
Optional
Maximum number of result pages to fetch per category (each page contains up to 50 postings).
Type:integer
Minimum:1
Maximum:20
Default:5
Salary currency
salaryCurrency
Optional
Currency in which salary ranges are returned. NoFluffJobs converts all salaries to this currency.
Type:string
Default:EUR
Options:
EURPLNUSDGBPCHFCZKHUFUAH
Posted within (days)
postedSince
Optional
Drop postings older than this many days, based on the source's postedAt timestamp. Set 0 (default) to disable. Postings with a missing or unparseable postedAt always pass through, since we can't judge their age.
Type:integer
Minimum:0
Default:0
Exclude titles containing
titleExclude
Optional
Drop postings whose title contains any of these words/phrases (case-insensitive substring match). Default empty — no filtering.
Type:array
Default:
[]
Exclude companies containing
companyExclude
Optional
Drop postings whose company name contains any of these words/phrases (case-insensitive substring match). Default empty — no filtering.
Type:array
Default:
[]
Remote only
remoteOnly
Optional
Keep only postings flagged fully remote by NoFluffJobs. Default off (all workplace types).
Type:boolean
Default:false
With salary only
withSalaryOnly
Optional
Keep only postings that publish a salary range. NoFluffJobs mandates salary transparency, so this is rarely needed, but it drops the occasional listing without a parseable range. Default off.
Type:boolean
Default:false
Webhook URL
webhookUrl
Optional
Optional. If set, the postings produced this run are POSTed as JSON ({source, count, truncated, items}, items capped at 200) to this URL after the run. Fail-open: a webhook error is logged and never fails the run. Default empty (no webhook).
Type:string
Default:
Telegram bot token
telegramBotToken
Optional
Optional. Bot token used to send a short summary of this run's postings to a Telegram chat (requires telegramChatId). Stored as a secret. Fail-open: a Telegram error is logged and never fails the run. Default empty (no Telegram).
Type:string
Telegram chat ID
telegramChatId
Optional
Optional. Target chat/channel ID for the Telegram summary (used together with telegramBotToken). Default empty.
Type:string
Default:
Cache TTL (seconds)
cacheTtlSeconds
Optional
Cache the upstream fetch in the key-value store for this many seconds; re-runs within the window skip the network call. Set 0 to disable.
Type:integer
Minimum:0
Default:1800
Region (deprecated — ignored)
region
Optional
Reserved for a future NoFluffJobs regional-portal parameter. NoFluffJobs used to run country-specific portals (nofluffjobs.com/pl, /hu, /cz, ...), but the public search API this Actor calls (api/search/posting) currently ignores this query parameter entirely: we verified this by querying with region=pl, hu, cz, sk, ua, nl and even an invalid value, and every request returned an identical result count. All CEE/EU postings (Poland, Czechia, Hungary, Slovakia, Ukraine, Netherlands and more) already come back from one unified search index regardless of this setting, so no value is being missed by leaving it as pl. Kept for backward compatibility and in case NoFluffJobs re-enables real per-region querying.