# Pracuj.pl Scraper (`unfenced-group/pracuj-pl-scraper`) Actor

Scrape pracuj.pl for structured Polish job data: titles, companies, salaries in PLN, contract types (B2B, umowa o pracę), tech stacks, requirements & full descriptions. 200k+ listings with repost detection.

- **URL**: https://apify.com/unfenced-group/pracuj-pl-scraper.md
- **Developed by:** [Unfenced Group](https://apify.com/unfenced-group) (community)
- **Categories:** Jobs, Developer tools, Automation
- **Stats:** 5 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 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.

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

## Pracuj.pl Scraper

![Pracuj.pl Scraper](https://i.imgur.com/pYCeHqF.png)

Scrape structured job data from [pracuj.pl](https://www.pracuj.pl) — Poland's largest job portal with 200,000+ active listings. Covers all contract types specific to Polish labour law (B2B, umowa o pracę, zlecenie), structured salary data in PLN, technology stacks, requirements, and full job descriptions.

---

### Why this scraper?

#### 🏭 Poland's #1 job board — complete coverage
Pracuj.pl is the dominant platform in the Polish job market, used by enterprise employers, startups, and public institutions alike. Coverage spans all industries, regions, and seniority levels from internship to C-suite.

#### 🧾 Polish contract types — fully parsed
The scraper extracts all contract types specific to Polish law: umowa o pracę, kontrakt B2B, umowa zlecenie, umowa o staż, and more. Each contract type is paired with its salary range where published.

#### 💰 Structured salary data — per contract type
Salaries are returned as structured fields — `salaryMin`, `salaryMax`, `salaryCurrency` (PLN), `salaryPeriod` (monthly/hourly), and `salaryKind` (gross, net, net+VAT). Multi-contract listings report the salary for the primary contract.

#### 🛠️ Technology stacks — extracted separately
For IT and tech roles, required and optional technologies are returned as dedicated arrays (`technologiesRequired`, `technologiesNice`), parsed separately from the free-text description. Ready for analytics without any post-processing.

#### 🔄 Repost detection — cross-run deduplication
Pracuj.pl employers regularly republish the same role to stay visible. The scraper tracks all seen listing IDs with a 90-day TTL. Set `skipReposts: true` to receive only genuinely new postings.

#### 📍 Full location data — city, region, coordinates
Each listing returns the full workplace address broken down into city, voivodeship, country, and GPS coordinates — ready for geographic filtering and distance calculations.

---

### Input parameters

| Parameter | Type | Description | Default |
|---|---|---|---|
| `keywords` | string | Job title or keyword, e.g. `"Java Developer"` | — |
| `location` | string | City or region, e.g. `"Warszawa"`, `"Kraków"` | — (all Poland) |
| `maxResults` | integer | Maximum listings to return | `100` |
| `daysOld` | integer | Only return listings posted within N days (1/3/7/14/30) | — |
| `contractType` | select | Filter by contract type | `any` |
| `workMode` | select | `any` · `remote` · `hybrid` · `office` · `mobile` | `any` |
| `workSchedule` | select | `any` · `fulltime` · `parttime` | `any` |
| `skipReposts` | boolean | Skip listings seen in previous runs | `false` |
| `startUrls` | array | Specific Pracuj.pl search URLs to scrape | — |

---

### Output schema

```json
{
  "id": "1004727799",
  "groupId": "84450000-56be-0050-ca62-08de89b21d07",
  "url": "https://www.pracuj.pl/praca/fullstack-developer-java-angular-wroclaw,oferta,1004727799",

  "title": "Fullstack Developer (Java+Angular)",
  "company": "HIBERUS POLAND SP. Z O.O.",
  "companyId": "1074071565",
  "companyUrl": "https://pracodawcy.pracuj.pl/company/1074071565",
  "companyLogoUrl": "https://logos.gpcdn.pl/loga-firm/1074071565/logo_280x280.png",

  "location": "Wrocław, Stare Miasto",
  "city": "Wrocław",
  "region": "dolnośląskie",
  "country": "Polska",
  "address": "plac Teatralny 1, Stare Miasto, Wrocław",
  "latitude": 51.10545,
  "longitude": 17.03177,
  "isWholePoland": true,

  "contractTypes": ["B2B contract"],
  "workModes": ["home office work"],
  "workSchedules": ["full-time"],
  "positionLevels": ["specialist (Mid / Regular)", "senior specialist (Senior)"],
  "isRemote": true,

  "salaryDisplayText": "16 800–21 000 zł netto (+ VAT) / mies.",
  "salaryMin": 16800,
  "salaryMax": 21000,
  "salaryCurrency": "PLN",
  "salaryPeriod": "monthly",
  "salaryKind": "net (+ VAT)",

  "description": "<h3>Responsibilities</h3><ul><li>Designing and developing...</li></ul>",
  "descriptionText": "Responsibilities:\n- Designing and developing...",
  "descriptionMarkdown": "#### Responsibilities\n\n- Designing and developing...",

  "technologiesRequired": ["Java", "Angular", "TypeScript", "Oracle RDBMS", "Git"],
  "technologiesNice": ["Playwright", "GitHub Copilot"],
  "responsibilities": ["Designing and developing new functionalities..."],
  "requirementsRequired": ["Commercial experience as Full-stack Developer (Java + Angular)"],
  "requirementsNice": ["Knowledge of the Dutch language"],
  "benefits": ["Multisport card", "Private medical care"],

  "categories": [
    { "id": 5016003, "name": "Programming", "parentId": 5016, "parentName": "IT software development" }
  ],
  "applyUrl": "https://www.pracuj.pl/aplikuj/fullstack-developer...,oferta,1004727799",

  "publishDate": "2026-04-04",
  "publishDateISO": "2026-03-24",
  "expirationDate": "2026-04-23",

  "isSuperOffer": true,
  "isFranchise": false,
  "isOptionalCv": false,
  "isOneClickApply": false,

  "source": "pracuj.pl",
  "scrapedAt": "2026-04-04T14:30:00.000Z",
  "contentHash": "a3f1b2c4d5e67890",
  "summary": "Fullstack Developer (Java+Angular) @ HIBERUS POLAND — Wrocław, Stare Miasto — 16 800–21 000 zł netto (+ VAT) / mies.",

  "isRepost": false,
  "originalPublishDate": null,
  "originalUrl": null
}
````

***

### Examples

#### 1 — Remote Java developers in Warsaw, posted in the past 7 days

```json
{
  "keywords": "Java Developer",
  "location": "Warszawa",
  "workMode": "remote",
  "daysOld": 7,
  "maxResults": 200
}
```

#### 2 — All B2B IT contracts, any location, full-time only

```json
{
  "keywords": "developer",
  "contractType": "b2b",
  "workSchedule": "fulltime",
  "maxResults": 500
}
```

#### 3 — Scrape a specific saved search URL

```json
{
  "startUrls": [
    { "url": "https://www.pracuj.pl/praca/python;kw/krakow;wp" }
  ],
  "maxResults": 50
}
```

#### 4 — Daily monitor: skip reposts, past 24 hours only

```json
{
  "keywords": "Project Manager",
  "daysOld": 1,
  "skipReposts": true,
  "maxResults": 1000
}
```

#### 5 — Polish internships and trainee positions

```json
{
  "contractType": "internship",
  "location": "Kraków",
  "maxResults": 100
}
```

***

### 💰 Pricing

**$1.50 per 1,000 results** — you only pay for successfully retrieved listings.
Failed retries and filtered reposts are never charged.

| Results | Cost |
|---|---|
| 100 | ~$0.15 |
| 1,000 | ~$1.50 |
| 10,000 | ~$15.00 |
| 100,000 | ~$150.00 |

> Flat-rate alternatives typically charge $29–$49/month regardless of usage.
> At 10,000 results/month, this scraper costs significantly less with no commitment.

Use the **Max results** cap in the input to control your spend exactly.

***

### Performance

| Run size | Approx. time |
|---|---|
| 100 listings | ~2 min |
| 1,000 listings | ~18 min |
| 10,000 listings | ~3 hours |

Detail pages are fetched individually — throughput depends on server response times. Runs include automatic retry on transient errors.

***

### Known limitations

- **Salary:** Not published by all employers — `salaryMin`, `salaryMax` will be `null` when the employer hasn't disclosed pay.
- **Multi-contract salary:** When a listing advertises multiple contract types (e.g. B2B + umowa o pracę), only the salary of the first contract type with salary data is returned in the top-level salary fields.
- **Apply URL:** The `applyUrl` links to the Pracuj.pl application form, not necessarily to an external employer ATS.
- **Location multi-posting:** A single job posting may be listed at multiple locations. Each location is returned as a separate row with its own `id` (partitionId). The `groupId` field links them.
- **Technology sections:** Only present for roles that use the structured tech section, primarily IT and engineering positions.
- **Filters:** `daysOld` accepts only the values 1, 3, 7, 14, and 30. Other values are rounded up to the nearest accepted value.

***

### Technical details

- **Source:** pracuj.pl — Poland's largest employment platform
- **Memory:** 256 MB
- **Repost storage:** KeyValueStore `pracuj-pl-job-dedup`, 90-day TTL
- **Retry:** Automatic retry on network errors, exponential backoff, 3 attempts per request

***

### Additional services

Need a custom actor, additional filters, scheduled runs, or integration support?
Send an email to <info@unfencedgroup.nl> — we build on request.

***

*Built by [unfenced-group](https://apify.com/unfenced-group) · Issues? Open a ticket or send a message.*

# Actor input Schema

## `keywords` (type: `string`):

Job title or keyword to search for, e.g. 'Java Developer' or 'Project Manager'.

## `location` (type: `string`):

City or region to search in, e.g. 'Warszawa', 'Kraków', 'Wrocław'. Leave empty to search all of Poland.

## `maxResults` (type: `integer`):

Maximum number of job listings to return. Each result triggers one detail page request.

## `daysOld` (type: `integer`):

Only return jobs posted within this many days. Accepted values: 1, 3, 7, 14, 30. Leave empty for all listings.

## `contractType` (type: `string`):

Filter by Polish contract type.

## `workMode` (type: `string`):

Filter by work location mode.

## `workSchedule` (type: `string`):

Filter by working hours.

## `skipReposts` (type: `boolean`):

Skip job listings that were already seen in previous runs of this actor. Repost history is stored for 90 days.

## `startUrls` (type: `array`):

Optional list of specific Pracuj.pl search result URLs to scrape. When provided, the keywords/location fields are ignored and pagination is disabled. Example: https://www.pracuj.pl/praca/developer;kw/wroclaw;wp

## Actor input object example

```json
{
  "keywords": "Java Developer",
  "location": "Warszawa",
  "maxResults": 100,
  "contractType": "any",
  "workMode": "any",
  "workSchedule": "any",
  "skipReposts": false,
  "startUrls": []
}
```

# Actor output Schema

## `results` (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 = {
    "keywords": "Java Developer",
    "location": "Warszawa",
    "contractType": "any",
    "workMode": "any",
    "workSchedule": "any"
};

// Run the Actor and wait for it to finish
const run = await client.actor("unfenced-group/pracuj-pl-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 = {
    "keywords": "Java Developer",
    "location": "Warszawa",
    "contractType": "any",
    "workMode": "any",
    "workSchedule": "any",
}

# Run the Actor and wait for it to finish
run = client.actor("unfenced-group/pracuj-pl-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 '{
  "keywords": "Java Developer",
  "location": "Warszawa",
  "contractType": "any",
  "workMode": "any",
  "workSchedule": "any"
}' |
apify call unfenced-group/pracuj-pl-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Pracuj.pl Scraper",
        "description": "Scrape pracuj.pl for structured Polish job data: titles, companies, salaries in PLN, contract types (B2B, umowa o pracę), tech stacks, requirements & full descriptions. 200k+ listings with repost detection.",
        "version": "0.0",
        "x-build-id": "ONZllR5btmjeUPCxg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/unfenced-group~pracuj-pl-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-unfenced-group-pracuj-pl-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/unfenced-group~pracuj-pl-scraper/runs": {
            "post": {
                "operationId": "runs-sync-unfenced-group-pracuj-pl-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/unfenced-group~pracuj-pl-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-unfenced-group-pracuj-pl-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",
                "properties": {
                    "keywords": {
                        "title": "Keywords",
                        "type": "string",
                        "description": "Job title or keyword to search for, e.g. 'Java Developer' or 'Project Manager'.",
                        "default": ""
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City or region to search in, e.g. 'Warszawa', 'Kraków', 'Wrocław'. Leave empty to search all of Poland.",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of job listings to return. Each result triggers one detail page request.",
                        "default": 100
                    },
                    "daysOld": {
                        "title": "Max age (days)",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Only return jobs posted within this many days. Accepted values: 1, 3, 7, 14, 30. Leave empty for all listings."
                    },
                    "contractType": {
                        "title": "Contract type",
                        "enum": [
                            "any",
                            "employment",
                            "b2b",
                            "mandate",
                            "work-contract",
                            "replacement",
                            "agency",
                            "temp-work",
                            "internship"
                        ],
                        "type": "string",
                        "description": "Filter by Polish contract type.",
                        "default": "any"
                    },
                    "workMode": {
                        "title": "Work mode",
                        "enum": [
                            "any",
                            "remote",
                            "hybrid",
                            "office",
                            "mobile"
                        ],
                        "type": "string",
                        "description": "Filter by work location mode.",
                        "default": "any"
                    },
                    "workSchedule": {
                        "title": "Work schedule",
                        "enum": [
                            "any",
                            "fulltime",
                            "parttime",
                            "additional"
                        ],
                        "type": "string",
                        "description": "Filter by working hours.",
                        "default": "any"
                    },
                    "skipReposts": {
                        "title": "Skip reposts",
                        "type": "boolean",
                        "description": "Skip job listings that were already seen in previous runs of this actor. Repost history is stored for 90 days.",
                        "default": false
                    },
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Optional list of specific Pracuj.pl search result URLs to scrape. When provided, the keywords/location fields are ignored and pagination is disabled. Example: https://www.pracuj.pl/praca/developer;kw/wroclaw;wp",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
