Skip to content

No Fluff Jobs Scraper

Try for free

Export IT job offers from No Fluff Jobs (nofluffjobs.com) in Poland, Hungary, Czechia, Slovakia and Ukraine: salary ranges per contract type, skills, tasks, benefits, company and full description. Search by keyword, technology or city with filters, or paste links. No login needed.

💼 No Fluff Jobs Scraper

Export IT job offers from No Fluff Jobs (nofluffjobs.com), the tech job board for Poland, Hungary, Czechia, Slovakia and Ukraine. Search the way you would on the site, by technology, role, city or company, and get one clean row per job ad: salary ranges for every contract type, must-have and nice-to-have skills, daily tasks, benefits, company details and the full description. No login, no browser, a few seconds per run.

✨ Why use No Fluff Jobs Scraper?

  • 💰 Salary for every contract type: No Fluff Jobs requires salary ranges, and you get all of them (B2B, employment contract, mandate) with currency and period, plus optional conversion to EUR, USD and more with the site's own rates.
  • 🧹 One row per job ad: the site lists a multi-city ad once per city (often 17 near-identical listings). You get the ad once, with every city in locations. Prefer the site's view? Turn on One row per city.
  • 🎯 Real filters: category, seniority, contract type, cities, remote only, minimum salary, ad language and sorting by newest or salary, all applied by the site itself.
  • 🔗 Paste links: any search link copied from the site (with its filters) or individual job links.
  • 🌍 Five markets: Poland, Hungary, Czechia, Slovakia and Ukraine, with only that country's own jobs kept by default.
  • ⚡ Fast and light: plain JSON requests, no browser. 20 jobs with full details take about 8 seconds.

🎯 Use cases

  • 📊 Salary benchmarking: compare B2B and employment-contract rates for a stack, seniority or city in Poland's IT market.
  • 🧲 Recruiting and lead generation: find companies hiring for a technology, with company size, website and profile links.
  • 📈 Skill-demand research: count must-have and nice-to-have skills across hundreds of offers.
  • 🔔 Job monitoring: schedule a daily run sorted by newest to catch fresh offers for your stack.
  • 🤖 AI and data pipelines: clean text and Markdown descriptions ready for LLMs, search indexes or dashboards.

🚀 How to use

  1. Enter one or more Search terms (e.g. python, react Kraków, data engineer), or paste No Fluff Jobs links.
  2. Optionally pick a Country and filters (category, seniority, contract type, cities, remote, minimum salary).
  3. Set Maximum jobs (0 = every matching job).
  4. Click Start. Rows appear in the dataset as they are scraped.
  5. Export the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
searchQueriesWhat you would type into the site's search box: technology, role, city, company or a mix. react OR angular runs both searches.
startUrlsSearch links (filters included) or job links from nofluffjobs.com.
maxResultsMaximum number of jobs in total (default 20; 0 = all).
countryPL (default), HU, CZ, SK or UA.
categories, seniority, employmentTypesSite filters, e.g. backend, junior, b2b.
cities, remoteOnlyCity names (Warszawa, Kraków, Budapest…) and/or remote jobs only.
minSalary, salaryCurrency, salaryPeriodMinimum salary, and conversion of the main salary fields.
sortByrelevance, newest, salary-desc or salary-asc.
includeDetailsOpen each job page for description, tasks, benefits and all contract types (default on).
splitLocationsOne row per city listing instead of one row per ad.
{
  "searchQueries": ["python", "react OR angular"],
  "country": "PL",
  "seniority": ["mid", "senior"],
  "employmentTypes": ["b2b"],
  "remoteOnly": true,
  "sortBy": "newest",
  "maxResults": 100
}

📤 Output

Each row is one job ad (or one city listing with One row per city).

FieldDescription
title, company, urlJob title, employer and job link
jobId, postingIdThe site's job reference and listing id
salaryText, salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryTypeMain salary range (converted when you pick a currency or period)
salariesEvery contract type with its range, currency, period and paid-holiday flag, as posted
employmentTypes, contractStart, contractDurationContract types offered, start date (e.g. ASAP) and length of fixed-term contracts
category, technology, seniorityCategory, main technology and levels
mustHaveSkills, niceToHaveSkills, requirementLanguagesRequired and optional skills, ad language
location, cities, countries, locations, latitude, longitudeWhere the job is, with addresses and coordinates
workMode, isFullyRemote, isHybrid, hybridDescRemote, hybrid or on-site
dailyTasks, benefits, officePerks, equipment, methodology, recruitmentStepsJob page details
description, descriptionHtml, descriptionMarkdown, requirementsText, requirementsHtmlFull description and requirements as text, HTML and Markdown
companyWebsite, companyProfileUrl, companySize, companyLogoCompany details
applyOption, applyEmail, applyUrlHow to apply
extractedEmails, extractedPhones, extractedUrls, socialProfilesContacts and links found in the ad text
postedAt, renewedAt, validThrough, publishedAgeDates
region, markets, searchQuery, detailFetched, scrapedAtContext of the row

Example row from a test run (trimmed):

{
  "jobId": "OSVMWO2T",
  "postingId": "senior-fullstack-engineer-automate-box-Warsaw",
  "url": "https://nofluffjobs.com/job/senior-fullstack-engineer-automate-box-warsaw",
  "title": "Senior Fullstack Engineer, Automate",
  "company": "Box Inc.",
  "companyWebsite": "https://www.box.com/careers/poland",
  "companySize": "2000",
  "category": "fullstack",
  "technology": "JavaScript",
  "seniority": ["Senior"],
  "location": "Warsaw",
  "cities": ["Warsaw"],
  "latitude": 52.23,
  "longitude": 21,
  "workMode": "hybrid",
  "salaryText": "30000–39000 PLN permanent/month",
  "salaryMin": 30000,
  "salaryMax": 39000,
  "salaryCurrency": "PLN",
  "salaryPeriod": "month",
  "salaryType": "permanent",
  "salaries": [
    {"type": "permanent", "min": 30000, "max": 39000, "currency": "PLN", "period": "month", "paidHoliday": true}
  ],
  "contractStart": "ASAP",
  "mustHaveSkills": ["AI", "React", "TypeScript", "REST API", "GCP"],
  "niceToHaveSkills": ["Java", "Cloud platform", "CI/CD Pipelines"],
  "benefits": ["Sport subscription", "Private healthcare", "Lunch card", "International projects"],
  "requirementLanguages": ["en"],
  "onlineInterviewAvailable": true,
  "applyOption": "email",
  "description": "Our compensation structure is the base salary and equity in the form of restricted stock units. What is Box? …",
  "postedAt": "2026-10-09T15:30:18Z",
  "validThrough": "2026-11-08T23:59:59",
  "searchQuery": "javascript",
  "detailFetched": true
}

💰 Pricing

You pay $1.50 per 1,000 jobs saved ($0.0015 per job), plus a small platform usage fee for compute and proxy traffic, which is billed separately. In our test runs usage was about $0.01 per 1,000 jobs (512 MB memory, datacenter proxy).

  • 20 jobs ≈ $0.03
  • 1,000 jobs ≈ $1.51 (including usage)

Rows that are not saved (failed pages, duplicates, jobs skipped by a filter) are never charged. Set a maximum total charge on the run and the scraper stops cleanly when it is reached.

❓ FAQ

Is it legal to scrape No Fluff Jobs? The scraper reads only public job ads that anyone can see without an account. Check the site's terms and the data-protection rules (such as GDPR) that apply to your use, especially for contact details found in ad texts.

Do I need an account, cookies or a proxy? No account or cookies. The default datacenter proxy works for this site; if the site ever refuses it, the run switches to Polish residential exits on its own.

How many jobs can I get? Every job the site lists for your search. In our tests the Polish market had about 2,550 active ads (more than 10,000 city listings); all of them were saved in about 90 seconds. Set maxResults to 0 for all of them.

Why is a field empty? Some ads simply do not have it: about 2% of ads hide the salary, and many have no office perks, methodology or recruitment steps. With Full job details off, only search-card fields are filled.

Why do I get fewer jobs for Czechia or Slovakia? Those sites mostly show Polish jobs and have only a handful of their own. By default only the country's own jobs are kept; turn on Include jobs from other markets to get everything the site shows there.

Can I schedule it or use the API? Yes. Schedule runs (for example daily, sorted by newest) and read the dataset through the API or integrations.

⚠️ Limits

  • Only active, public job ads. Expired ads and company profiles are not scraped.
  • Applying through an external portal: the site reveals that link only after you click Apply, so applyUrl is filled only when the ad lists it.
  • Search terms are interpreted by the site's own search box (e.g. data engineer becomes category data plus keyword engineer); quote a phrase ("senior java developer") for an exact phrase.
  • No change tracking between runs and no notifications; schedule runs and compare datasets instead.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.