# Multi-ATS Jobs Scraper - Workday, Greenhouse, Lever & More (`thirdwatch/multi-ats-jobs-scraper`) Actor

Scrape job postings from company career boards across 8 applicant tracking systems - Workday, Greenhouse, Lever, SmartRecruiters, Workable, Ashby, Recruitee and BambooHR - with one unified output schema.

- **URL**: https://apify.com/thirdwatch/multi-ats-jobs-scraper.md
- **Developed by:** [Thirdwatch](https://apify.com/thirdwatch) (community)
- **Categories:** Jobs, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.90 / 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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Multi-ATS Jobs Scraper — Workday, Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee & BambooHR

> Collect current employer-posted jobs from eight major career-board systems in one consistent dataset.

### What you get

Scrape job postings directly from company career boards across **eight applicant tracking
systems (ATS)** and get them back in **one flat, unified schema**.

Most job scrapers point at an aggregator (Indeed, LinkedIn, Google Jobs) and give you a
second-hand copy of a listing, often days stale and missing the real apply link. This actor
goes the other way: it reads the company's own career board — the same board the company
publishes to — so you get the posting as the employer wrote it, with the canonical apply URL,
the internal requisition ID, and the real posting date.

Paste any career board URL. The actor recognises which ATS is behind it, reads the board,
normalises every posting, and pushes it to your dataset.

---

### Supported applicant tracking systems

| ATS | Example board URL | Notes |
|-----|-------------------|-------|
| **Workday** | `https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite` | Keyword search runs on the board itself |
| **Greenhouse** | `https://job-boards.greenhouse.io/stripe` | Full descriptions and pay ranges where published |
| **Lever** | `https://jobs.lever.co/spotify` | Full descriptions, commitment type, salary band where published |
| **SmartRecruiters** | `https://jobs.smartrecruiters.com/Visa` | Descriptions and canonical apply URLs |
| **Workable** | `https://apply.workable.com/blueground/` | Keyword search runs on the board itself |
| **Ashby** | `https://jobs.ashbyhq.com/linear` | Richest board: team, compensation band, remote flag |
| **Recruitee** | `https://bunq.recruitee.com` | Full descriptions, hours, city/region/country |
| **BambooHR** | `https://kiln.bamboohr.com/careers` | Descriptions and posting dates |

You can also use a short form instead of a URL:

````

greenhouse:stripe
lever:spotify
ashby:linear
recruitee:bunq
bamboohr:kiln
smartrecruiters:Visa
workable:blueground
workday:nvidia/wd5/NVIDIAExternalCareerSite

````

Workday boards need three parts (tenant, shard, site name) because that is how Workday
addresses a board — all three are read automatically out of a pasted board URL, so pasting
the URL is always the easier option.

---

### Input parameters

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `boardUrls` | array of strings | — | **Required.** Career board URLs or `platform:slug` short forms. |
| `searchText` | string | `""` | Keyword matched against the job title, department, team, and description fields available on each board. |
| `locationFilter` | string | `""` | Case-insensitive substring matched against location, city, region, country and country code. |
| `remoteOnly` | boolean | `false` | Keep only postings the board explicitly flags as remote. |
| `includeDescription` | boolean | `true` | Fetch full description text. Free on most boards; costs one extra request per posting on Workday, SmartRecruiters and BambooHR. |
| `maxResults` | integer | `5` | Total postings to return across all boards. |
| `maxResultsPerBoard` | integer | `0` | Per-board cap so one huge board cannot use the whole budget. `0` = no per-board limit. |
| `proxyConfiguration` | object | disabled | Optional connection settings. The default works for most public boards. |

#### Input example

```json
{
  "boardUrls": [
    "https://job-boards.greenhouse.io/stripe",
    "https://jobs.lever.co/spotify",
    "https://jobs.ashbyhq.com/linear",
    "workday:nvidia/wd5/NVIDIAExternalCareerSite"
  ],
  "searchText": "engineer",
  "maxResults": 200,
  "maxResultsPerBoard": 50,
  "includeDescription": true
}
````

***

### Output fields

Every posting from every ATS comes back with the same 28 keys, so you can concatenate
boards from different systems without any post-processing.

| Field | Type | Description |
|-------|------|-------------|
| `platform` | string | Which ATS the posting came from (`workday`, `greenhouse`, `lever`, `smartrecruiters`, `workable`, `ashby`, `recruitee`, `bamboohr`). |
| `company` | string | Company name as the board reports it. |
| `company_slug` | string | Board identifier used on that ATS. |
| `job_id` | string | Stable posting ID on the source board. |
| `title` | string | Job title. |
| `department` | string | Department / job family. |
| `team` | string | Team, function or seniority band, where the board publishes one. |
| `employment_type` | string | Full-time, part-time, contract, permanent, etc. |
| `workplace_type` | string | `remote`, `hybrid` or `onsite` where published. |
| `is_remote` | boolean | Explicit remote flag from the board (`null` when the board publishes none). |
| `location` | string | Full location string as displayed on the board. |
| `city` | string | City, when published separately. |
| `region` | string | State / province / region grouping. |
| `country` | string | Country name. |
| `country_code` | string | ISO-3166 alpha-2 country code, uppercased. |
| `posted_at` | string | ISO-8601 publication date/time. |
| `updated_at` | string | ISO-8601 last-updated date/time, where published. |
| `salary_min` | number | Lower bound of the published pay range. |
| `salary_max` | number | Upper bound of the published pay range. |
| `salary_currency` | string | ISO currency code for the pay range (e.g. `USD`). |
| `salary_period` | string | Pay period the range refers to (`year`, `hour`, …). |
| `requisition_id` | string | Employer's internal requisition / reference number. |
| `job_url` | string | Absolute URL of the posting. |
| `apply_url` | string | Absolute URL of the application form. |
| `description` | string | Full job description as plain text (when `includeDescription` is on). |
| `board_url` | string | Absolute URL of the career board the posting came from. |
| `source_query` | string | The exact input entry that produced this row. |
| `scraped_at` | string | ISO-8601 UTC timestamp of extraction. |

### Example output

```json
{
  "platform": "ashby",
  "company": "ramp",
  "company_slug": "ramp",
  "job_id": "34413f8d-26bf-4bbc-8ade-eb309a0e2245",
  "title": "Security Engineer, Cloud",
  "department": "Engineering",
  "team": "Backend",
  "employment_type": "FullTime",
  "workplace_type": "hybrid",
  "is_remote": true,
  "location": "New York, NY (HQ), Remote (Canada), Remote (US)",
  "city": "New York City",
  "region": "NY",
  "country": "USA",
  "country_code": "",
  "posted_at": "2026-04-07T17:12:35.753000Z",
  "updated_at": "",
  "salary_min": 211400,
  "salary_max": 290600,
  "salary_currency": "USD",
  "salary_period": "year",
  "requisition_id": "",
  "job_url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245",
  "apply_url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application",
  "description": "",
  "board_url": "https://jobs.ashbyhq.com/ramp",
  "source_query": "ashby:ramp",
  "scraped_at": "2026-07-27T22:56:42.869947Z"
}
```

***

### Use cases

- **Recruiting and sourcing intelligence** — track exactly what a list of target companies is
  hiring for, week over week, with the employer's own wording.
- **Job boards and aggregators** — build a niche board sourced from company career pages
  instead of re-scraping another aggregator.
- **Competitive and market research** — headcount signals, which teams are expanding, which
  offices are opening, published pay bands by role.
- **Sales prospecting** — hiring for a role that implies a tooling need is a strong buying signal.
- **Compensation benchmarking** — collect published pay ranges by title and location.

***

### Limitations

Please read these before you build on the output — they are properties of the source boards,
not bugs.

- **Eight systems, not every system.** Two ATS platforms were tested and deliberately left out:
  **Personio** career sites sit behind a bot challenge that blocks automated reads, and
  **iCIMS** has decommissioned its shared tenant hosting, so its customers' boards no longer
  share a predictable address. Neither is supported.
- **Field coverage varies by ATS, a lot.** Every board publishes a title, location, ID and
  apply URL. Beyond that it is entirely up to the employer's configuration. Across a mixed
  eight-board test run, department was populated on 88% of rows, description on 88%,
  posted date on 100%, city on 48% and salary on 0% — because none of those particular
  employers published pay ranges. Ashby and Lever boards are the most likely to carry
  compensation; Workday and BambooHR essentially never do.
- **Salary is only present when the employer publishes it.** There is no inference or
  estimation. If the field is empty, the board did not state a number.
- **Workday reports a display-capped total.** Very large Workday boards report a ceiling
  (commonly 2000) rather than the true count, and paging past the reported total silently
  restarts at page one. The actor stops at the reported total, so a very large Workday board
  can return fewer postings than the employer actually has open.
- **A wrong company slug can be indistinguishable from an empty board.** SmartRecruiters
  returns a normal, successful, empty response for an unknown company rather than a
  "not found", so a typo in a SmartRecruiters slug looks exactly like a company with no open
  roles. The run log says which it might be; it cannot tell you for certain.
- **Private boards return nothing.** Some BambooHR career boards are access-restricted; those
  are logged and skipped.
- **Descriptions make large runs slower on some systems.** Turn `includeDescription` off for
  listing-only runs.
- **Keyword coverage differs by system.** Results can vary because each board publishes and
  searches different fields.
- **Zero results is a normal outcome.** An empty board, a keyword nothing matches, or filters
  that are too narrow all finish the run cleanly with a warning and zero rows — not an error.
- **Boards are read as published.** The actor does not log in, does not see internal-only
  postings, and does not deduplicate the same role posted by two different companies.

### Compared to alternatives

- **vs. fantastic-jobs single-ATS actors**: One input and one schema cover eight career-board systems, which is useful for mixed company lists.
- **vs. job aggregators**: Results come from employer career boards and retain the canonical posting and apply URLs.

### FAQ

**Can I mix different ATS platforms in one run?**
Yes. Add any supported board URLs or short forms to `boardUrls`.

**Are salary fields always populated?**
No. They are returned only when the employer publishes a pay range.

**Can I collect only remote jobs?**
Yes. Enable `remoteOnly`; boards without an explicit remote signal will not contribute rows.

Last verified: 2026-07

More job-data actors at [thirdwatch.dev](https://thirdwatch.dev).

# Actor input Schema

## `boardUrls` (type: `array`):

Company career-board URLs. Supported systems: Workday, Greenhouse, Lever, SmartRecruiters, Workable, Ashby, Recruitee, BambooHR. You can also use the shorthand platform:slug (for example lever:spotify, greenhouse:stripe, ashby:linear, workday:nvidia/wd5/NVIDIAExternalCareerSite).

## `searchText` (type: `string`):

Optional keyword matched against the job title, department, team, and description fields published by each board.

## `locationFilter` (type: `string`):

Optional case-insensitive substring matched against the location, city, region, country and country code of each posting (for example 'London', 'Germany', 'US').

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

Keep only postings the board explicitly marks as remote. Boards that do not publish a remote flag will return nothing when this is on.

## `includeDescription` (type: `boolean`):

Include full job-description text. Turn this off when you only need a faster listing summary.

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

Maximum number of job postings to return across all boards.

## `maxResultsPerBoard` (type: `integer`):

Optional per-board cap so one very large board cannot consume the whole budget. 0 means no per-board limit.

## `proxyConfiguration` (type: `object`):

Optional connection settings. The default works for most public career boards.

## Actor input object example

```json
{
  "boardUrls": [
    "https://job-boards.greenhouse.io/stripe"
  ],
  "searchText": "",
  "locationFilter": "",
  "remoteOnly": false,
  "includeDescription": true,
  "maxResults": 5,
  "maxResultsPerBoard": 0,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "boardUrls": [
        "https://job-boards.greenhouse.io/stripe"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("thirdwatch/multi-ats-jobs-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 = { "boardUrls": ["https://job-boards.greenhouse.io/stripe"] }

# Run the Actor and wait for it to finish
run = client.actor("thirdwatch/multi-ats-jobs-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 '{
  "boardUrls": [
    "https://job-boards.greenhouse.io/stripe"
  ]
}' |
apify call thirdwatch/multi-ats-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Multi-ATS Jobs Scraper - Workday, Greenhouse, Lever & More",
        "description": "Scrape job postings from company career boards across 8 applicant tracking systems - Workday, Greenhouse, Lever, SmartRecruiters, Workable, Ashby, Recruitee and BambooHR - with one unified output schema.",
        "version": "1.0",
        "x-build-id": "6U4i9x8wVn4utjaab"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/thirdwatch~multi-ats-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-thirdwatch-multi-ats-jobs-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/thirdwatch~multi-ats-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-thirdwatch-multi-ats-jobs-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/thirdwatch~multi-ats-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-thirdwatch-multi-ats-jobs-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": [
                    "boardUrls"
                ],
                "properties": {
                    "boardUrls": {
                        "title": "Career board URLs",
                        "minItems": 1,
                        "type": "array",
                        "description": "Company career-board URLs. Supported systems: Workday, Greenhouse, Lever, SmartRecruiters, Workable, Ashby, Recruitee, BambooHR. You can also use the shorthand platform:slug (for example lever:spotify, greenhouse:stripe, ashby:linear, workday:nvidia/wd5/NVIDIAExternalCareerSite).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchText": {
                        "title": "Keyword filter",
                        "type": "string",
                        "description": "Optional keyword matched against the job title, department, team, and description fields published by each board.",
                        "default": ""
                    },
                    "locationFilter": {
                        "title": "Location contains",
                        "type": "string",
                        "description": "Optional case-insensitive substring matched against the location, city, region, country and country code of each posting (for example 'London', 'Germany', 'US').",
                        "default": ""
                    },
                    "remoteOnly": {
                        "title": "Remote jobs only",
                        "type": "boolean",
                        "description": "Keep only postings the board explicitly marks as remote. Boards that do not publish a remote flag will return nothing when this is on.",
                        "default": false
                    },
                    "includeDescription": {
                        "title": "Include job descriptions",
                        "type": "boolean",
                        "description": "Include full job-description text. Turn this off when you only need a faster listing summary.",
                        "default": true
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 20000,
                        "type": "integer",
                        "description": "Maximum number of job postings to return across all boards.",
                        "default": 5
                    },
                    "maxResultsPerBoard": {
                        "title": "Max results per board",
                        "minimum": 0,
                        "maximum": 20000,
                        "type": "integer",
                        "description": "Optional per-board cap so one very large board cannot consume the whole budget. 0 means no per-board limit.",
                        "default": 0
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional connection settings. The default works for most public career boards.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
