# Nofluffjobs $1💰 URL Search | Keyword Filtering | Rich Output (`abotapi/nofluffjobs-scraper`) Actor

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.

- **URL**: https://apify.com/abotapi/nofluffjobs-scraper.md
- **Developed by:** [AbotAPI](https://apify.com/abotapi) (community)
- **Categories:** Jobs, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## NoFluffJobs Scraper

Extract IT job listings from NoFluffJobs across five markets: Poland, Czechia, Slovakia, Hungary and the Netherlands. Every record comes with the disclosed salary range, required and nice-to-have skills, the full job description, daily tasks, benefits, recruitment steps, company size and exact GPS coordinates. Search with structured filters (category, seniority, salary, city, technology, remote) or paste NoFluffJobs URLs. You get one clean, deduplicated record per job, with all of its office locations merged into a single array.

### Why this scraper

- High data coverage: 40+ fields per job, including disclosed salary ranges, per-skill requirements, hourly and monthly salary breakdowns, daily tasks, equipment and office perks.
- Five markets in one run: scrape Poland, Czechia, Slovakia, Hungary and the Netherlands, individually or all at once.
- Structured search: filter by category, seniority, employment type, posting language, city, technology, remote-only and salary range, no need to hand-build URLs.
- Clean output: one record per job, deduplicated across its location variants, with every city and its GPS in a locations array.
- Fast and low cost: a direct data path with no heavy page rendering, so it runs on the cheap Datacenter connection and finishes quickly.
- Cost controls built in: a configurable residential usage cap, a residential traffic budget, and automatic switching to a cheaper connection when possible.

### Data you get

> Sample shape: values are illustrative placeholders, not from a live listing.

| Field | Example |
| --- | --- |
| id | `senior-java-developer-sample-company-Warszawa` |
| title | `Senior Java Developer` |
| url | `https://nofluffjobs.com/pl/job/senior-java-developer-sample-company-warszawa` |
| companyName | `Sample Company` |
| companySize | `500 - 999` |
| category | `backend` |
| seniority | `["senior"]` |
| technology | `Java` |
| salaryFrom | `21000` |
| salaryTo | `28000` |
| salaryCurrency | `PLN` |
| salaryType | `b2b` |
| remote | `true` |
| cities | `["Remote", "Warszawa"]` |
| locations | `[{ "city": "Warszawa", "country": "Poland", "latitude": 52.0000, "longitude": 21.0000 }]` |
| description | `Full job description text appears here when fetchDetails is on.` |
| requirementsMust | `[{ "name": "Java", "type": "main" }, { "name": "Spring", "type": "main" }]` |
| requirementsNice | `[{ "name": "Kafka", "type": "nice" }]` |
| dailyTasks | `["Design backend services", "Build REST APIs"]` |
| benefits | `["Private healthcare", "Sport card"]` |
| equipment | `{ "computer": "Notebook", "operatingSystem": "Linux" }` |
| salaryRanges | `[{ "type": "b2b", "from": 130, "to": 140, "currency": "PLN", "period": "Hour" }]` |
| recruitmentSteps | `["Phone screen", "Technical interview"]` |
| onlineInterviewAvailable | `true` |
| region | `pl` |

When `fetchDetails` is off, only the list-level fields are populated (title, company, salary, category, seniority, cities, technology, remote, url); the detail-only fields stay `null`.

### How to use

Basic search in Poland:

```json
{
  "mode": "search",
  "region": "pl",
  "maxListings": 100
}
````

Senior backend Java jobs paying at least 20000, fully remote:

```json
{
  "mode": "search",
  "region": "pl",
  "category": "backend",
  "seniority": "senior",
  "technology": "java",
  "remoteOnly": true,
  "minSalary": 20000,
  "maxListings": 100
}
```

All five markets at once:

```json
{
  "mode": "search",
  "region": "all",
  "maxListings": 500
}
```

Paste URLs (a search page and a single job page):

```json
{
  "mode": "url",
  "urls": [
    "https://nofluffjobs.com/pl/devops",
    "https://nofluffjobs.com/cz/backend?criteria=seniority%3Dsenior"
  ],
  "maxListings": 200
}
```

### Input parameters

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| mode | string | `search` | `search` builds a query from the filters; `url` fetches the URLs you paste. |
| region | string | `pl` | `pl`, `cz`, `sk`, `hu`, `nl`, or `all`. |
| keyword | string | (empty) | Free-text search across roles, technologies and companies. |
| category | string | (any) | Job category, e.g. backend, frontend, devops, testing, data. |
| seniority | string | (any) | trainee, junior, mid, senior, expert. |
| employmentType | string | (any) | b2b, permanent, mandate-contract, internship. |
| jobLanguage | string | (any) | Language the posting is written in. |
| city | string | (any) | Restrict to one city. |
| technology | string | (any) | Require a specific skill, e.g. react, kubernetes. |
| sortBy | string | relevance | Result order: relevance, newest, salary high to low, salary low to high. Applied server-side. |
| remoteOnly | boolean | `false` | Only jobs that offer remote work. |
| minSalary | integer | (none) | Minimum monthly gross, region currency. |
| maxSalary | integer | (none) | Maximum monthly gross, region currency. |
| urls | array | (empty) | NoFluffJobs URLs to fetch in URL mode. |
| fetchDetails | boolean | `true` | Add the full detail fields per job. |
| maxListings | integer | `20` | Main limit: max jobs to return. 0 means unlimited (then maxPages caps). |
| maxPages | integer | `500` | Safety bound on pages per query/region. Leave as is; maxListings is the primary limit. |
| proxy | object | Apify Datacenter | Connection settings. |
| residentialRequestCap | integer | `0` | Switch to Datacenter after N residential requests. 0 disables. |
| residentialBudgetMb | integer | `0` | Switch to Datacenter after N MB over residential. 0 disables. |

### Output example

> Sample shape: values are illustrative placeholders, not from a live listing.

```json
{
  "id": "senior-java-developer-sample-company-Warszawa",
  "reference": "REF-0001",
  "title": "Senior Java Developer",
  "url": "https://nofluffjobs.com/pl/job/senior-java-developer-sample-company-warszawa",
  "region": "pl",
  "companyName": "Sample Company",
  "companySize": "500 - 999",
  "companyProfileUrl": "https://nofluffjobs.com/company/sample-company-00000000",
  "category": "backend",
  "seniority": ["senior"],
  "technology": "Java",
  "remote": true,
  "fullyRemote": true,
  "remotePercent": 100,
  "cities": ["Remote", "Warszawa"],
  "locations": [
    { "city": "Warszawa", "country": "Poland", "countryCode": "POL", "latitude": 52.0000, "longitude": 21.0000 }
  ],
  "salaryFrom": 21000,
  "salaryTo": 28000,
  "salaryCurrency": "PLN",
  "salaryType": "b2b",
  "salaryRanges": [
    { "type": "b2b", "from": 130, "to": 140, "currency": "PLN", "period": "Hour" }
  ],
  "description": "Full job description text appears here when fetchDetails is on.",
  "dailyTasks": ["Design backend services", "Build REST APIs"],
  "requirementsMust": [
    { "name": "Java", "type": "main" },
    { "name": "Spring", "type": "main" }
  ],
  "requirementsNice": [{ "name": "Kafka", "type": "nice" }],
  "requirementLanguages": ["en"],
  "benefits": ["Private healthcare", "Sport card"],
  "officePerks": ["Free coffee"],
  "equipment": { "computer": "Notebook", "operatingSystem": "Linux" },
  "recruitmentSteps": ["Phone screen", "Technical interview"],
  "recruitmentLanguages": ["pl", "en"],
  "onlineInterviewAvailable": true,
  "expiresAt": "2026-01-01T00:00:00.000Z"
}
```

### Plan requirement

This actor runs on the Apify Datacenter connection by default, which is included on every plan, including the free plan. No residential connection is required.

Residential is offered as an option for users who want geo-diverse exit IPs, but it is not needed for this site. If you do select a Residential connection, use the residential request cap and traffic budget to keep costs predictable; the actor will automatically switch back to the cheaper Datacenter connection once a cap is reached.

# Actor input Schema

## `mode` (type: `string`):

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).

## `region` (type: `string`):

Which NoFluffJobs market to search. 'All regions' scrapes every market.

## `keyword` (type: `string`):

Free-text search, e.g. a role, technology or company name. Leave empty to list everything in the region.

## `category` (type: `string`):

Job category. Leave empty for all categories.

## `seniority` (type: `string`):

Experience level. Leave empty for any.

## `employmentType` (type: `string`):

Contract type. Leave empty for any.

## `jobLanguage` (type: `string`):

Language the posting is written in. Leave empty for any.

## `city` (type: `string`):

Filter to a single city (e.g. warszawa, krakow, praha). Leave empty for all cities.

## `technology` (type: `string`):

Require a specific skill or technology (e.g. java, react, kubernetes).

## `remoteOnly` (type: `boolean`):

Only return jobs that offer remote work. The detail fields remotePercent and fullyRemote tell you whether a job is fully remote or hybrid.

## `sortBy` (type: `string`):

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.

## `minSalary` (type: `integer`):

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` (type: `integer`):

Only jobs whose disclosed salary range starts at or below this amount (monthly gross, in the region currency).

## `urls` (type: `array`):

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).

## `fetchDetails` (type: `boolean`):

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.

## `maxListings` (type: `integer`):

The main limit: maximum number of jobs to return. 0 means unlimited (then Max pages becomes the cap).

## `maxPages` (type: `integer`):

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.

## `proxy` (type: `object`):

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.

## `residentialRequestCap` (type: `integer`):

Cost guard. If you chose a Residential connection, switch to the cheaper Datacenter connection after this many residential requests. 0 means no cap.

## `residentialBudgetMb` (type: `integer`):

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.

## Actor input object example

```json
{
  "mode": "search",
  "region": "pl",
  "keyword": "java backend",
  "category": "",
  "seniority": "",
  "employmentType": "",
  "jobLanguage": "",
  "city": "warszawa",
  "technology": "react",
  "remoteOnly": false,
  "sortBy": "",
  "urls": [
    "https://nofluffjobs.com/pl/backend"
  ],
  "fetchDetails": true,
  "maxListings": 20,
  "maxPages": 500,
  "proxy": {
    "useApifyProxy": true
  },
  "residentialRequestCap": 0,
  "residentialBudgetMb": 0
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "search",
    "region": "pl",
    "urls": [
        "https://nofluffjobs.com/pl/backend"
    ],
    "proxy": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("abotapi/nofluffjobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "search",
    "region": "pl",
    "urls": ["https://nofluffjobs.com/pl/backend"],
    "proxy": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("abotapi/nofluffjobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "search",
  "region": "pl",
  "urls": [
    "https://nofluffjobs.com/pl/backend"
  ],
  "proxy": {
    "useApifyProxy": true
  }
}' |
apify call abotapi/nofluffjobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=abotapi/nofluffjobs-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
