NoFluffJobs Scraper – Jobs & Salary Data
Pricing
from $2.00 / 1,000 scraped nofluffjobs jobs
NoFluffJobs Scraper – Jobs & Salary Data
Extract NoFluffJobs jobs with salary ranges, skills, seniority, locations, benefits, and recruitment steps for hiring research and market analysis.
Pricing
from $2.00 / 1,000 scraped nofluffjobs jobs
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
NoFluffJobs Scraper
Free plan limit: Free-plan users can receive up to 5 result records per run. Paid-plan and local/unknown runs retain the Actor's existing limits.
Extract public NoFluffJobs job listings, salary contracts, skills, locations, benefits, and recruitment details into an analysis-ready dataset.
This Actor is designed for recruiters, compensation analysts, job-market researchers, ATS teams, and developers who need structured NoFluffJobs data without copying pages manually. It reads the same public JSON listing and job-detail routes used by the website; no NoFluffJobs login, cookies, or separate API key are required.
What it extracts
| Field group | Examples |
|---|---|
| Job identity | Job ID, title, category, seniority, canonical URL |
| Company | Company name, website, employee-count band |
| Location | Cities, countries, remote flag, hybrid-work description |
| Compensation | Minimum, maximum, currency, period, and all contract types |
| Requirements | Primary technology, must-have skills, nice-to-have skills, languages |
| Role details | Description, requirements text, daily tasks |
| Hiring details | Benefits, office perks, recruitment steps, online-interview flag |
| Lifecycle | Posted time, expiry time, scrape time, public detail API URL |
The default dataset contains only homogeneous job records. Run diagnostics and warnings are stored separately in the OUTPUT key-value record, so downstream automations do not need to filter error rows from job data.
When to use it
Use this Actor to:
- monitor European technology hiring and published compensation;
- find companies hiring for a stack such as Python, React, AWS, or Kubernetes;
- compare salary ranges by category, seniority, location, contract type, or currency;
- synchronize public vacancies into an internal search index or ATS review queue;
- create recruiting, workforce-planning, or hiring-trend datasets.
Do not use it to apply for jobs automatically, collect private candidate information, bypass access controls, or republish content without checking the source terms and applicable law.
Input
| Field | Type | Default | Purpose |
|---|---|---|---|
startUrls | URL array | [] | Individual job URLs or regional/category pages such as https://nofluffjobs.com/pl/backend |
keywords | string array | [] | Match any keyword in title, company, technology, or visible skill tiles |
region | enum | pl | Market: pl, cz, sk, hu, or ua |
categories | string array | ['backend'] | One or more NoFluffJobs category slugs; empty means all |
seniority | string array | [] | Trainee, Junior, Mid, Senior, Lead, or Expert |
remoteOnly | boolean | false | Keep only listings marked remote |
salaryCurrency | enum | PLN | Currency used for list-level salary display |
salaryPeriod | enum | month | Monthly or hourly list-level salary display |
enrichDetails | boolean | true | Fetch descriptions, contracts, benefits, and recruitment steps |
maxResults | integer | 20 | Maximum delivered and billable jobs, from 1 to 10,000 |
maxPages | integer | 50 | Maximum listing pages scanned, from 1 to 200 |
maxConcurrency | integer | 8 | Simultaneous detail requests, from 1 to 20 |
Direct job URLs are always attempted. A regional/category page contributes its region and category to the search filters. Keyword filtering is case-insensitive and matches any supplied keyword.
Console input example
{"keywords": ["Python", "AWS"],"region": "pl","categories": ["backend", "data"],"seniority": ["Senior"],"remoteOnly": true,"enrichDetails": true,"maxResults": 100}
Apify API example
curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~nofluffjobs-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords": ["Kubernetes"],"region": "cz","categories": ["devops"],"maxResults": 50}'
After the run finishes, read jobs from the default dataset or follow the jobs link in the Actor output. Read OUTPUT for the classified outcome, scan counts, and warnings.
Output example
{"type": "job","jobId": "senior-python-engineer-acme-remote","title": "Senior Python Engineer","companyName": "Acme","companyWebsite": "https://acme.example","companySize": "50 - 99","category": "backend","seniority": ["Senior"],"locations": ["Remote, Poland"],"remote": true,"hybridDescription": null,"salaryMinimum": 20000,"salaryMaximum": 28000,"salaryCurrency": "PLN","salaryPeriod": "month","salaryContracts": [{"employmentType": "b2b","minimum": 20000,"maximum": 28000,"currency": "PLN","period": "month","paidHoliday": false}],"primaryTechnology": "Python","mustHaveSkills": ["Python", "AWS"],"niceToHaveSkills": ["Kubernetes"],"languages": ["en"],"description": "Build and operate backend services.","requirements": "Commercial Python and cloud experience.","dailyTasks": ["Build APIs", "Review code"],"benefits": ["Private healthcare"],"officePerks": ["Free coffee"],"recruitmentProcess": ["Technical interview"],"onlineInterview": true,"applyType": "url","postedAt": "2026-08-31T09:00:00.000Z","expiresAt": "2026-09-30T23:59:59.000Z","jobUrl": "https://nofluffjobs.com/job/senior-python-engineer-acme-remote","apiUrl": "https://nofluffjobs.com/api/posting/senior-python-engineer-acme-remote","scrapedAt": "2026-08-31T10:00:00.000Z"}
Optional values are explicit null and list fields are always arrays. The shape stays stable between enriched and fast list-only runs.
Pay-per-event pricing
This Actor uses pay-per-event pricing. These are the current Apify Store event prices:
| Event | Price (USD) | When it is charged |
|---|---|---|
apify-actor-start | $0.00005 | Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run. |
apify-default-dataset-item | $0.0009 | Scraped NoFluffJobs job — One validated NoFluffJobs job record written to the default dataset. |
Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.
This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.
Reliability and limits
The Actor starts with direct HTTP access to NoFluffJobs' public listing and detail JSON routes. Requests use bounded timeouts, three error-aware attempts, exponential backoff for transient errors, a conservative detail concurrency, stable deduplication by job slug, and a hard result limit.
If one detail request fails, the Actor preserves a valid list-level job when possible and records the enrichment warning in OUTPUT. A true no-match search returns an empty dataset with an EMPTY summary. A first-page access denial is classified as BLOCKED; malformed runtime input is REJECTED; unexpected defects are FAILED. Before every dataset write, the Actor checks whether another result event fits the run's maximum total charge. A too-low cap returns an actionable REJECTED summary, while a cap reached after partial delivery preserves the valid DATA rows. The Actor never fabricates a job row to make a run appear successful.
NoFluffJobs can change its public routes or fields. Source fields may also be unavailable for individual listings, especially salary, company website, or hybrid notes. Keyword filtering uses list-visible fields so it remains predictable and does not require fetching every detail page.
Legal and privacy
This independent Actor is not affiliated with or endorsed by No Fluff Jobs. It accesses public job-advertisement data only and does not request candidate accounts, private profiles, authentication cookies, or application submissions. You are responsible for using the data in accordance with NoFluffJobs' terms, robots and access policies, GDPR and other privacy rules, database rights, copyright, and applicable local law. Minimize retention and avoid using scraped job data for unlawful discrimination, spam, or automated decisions about individuals.
Support
For a reproducible issue, include the Actor run ID, redacted input, expected outcome, and the affected public job URL. Do not include Apify tokens, cookies, candidate data, or other secrets.
Pricing
This Actor uses pay-per-event pricing. These are the current Apify Store event prices:
| Event | Price (USD) | When it is charged |
|---|---|---|
apify-actor-start | $0.00005 | Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run. |
apify-default-dataset-item | $0.0009 | Scraped NoFluffJobs job — One validated NoFluffJobs job record written to the default dataset. |
Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.
This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.