# Career Page Job Scraper — Greenhouse, Lever & Any ATS (`scrapepilot/career-page-job-scraper----greenhouse-lever-any-ats`) Actor

Scrape real job listings from any company career page. Supports Greenhouse, Lever, Workday, Ashby and 10+ ATS platforms. Returns job title, location, department, salary, required skills, remote status and apply link. Filter by keyword, department and remote.

- **URL**: https://apify.com/scrapepilot/career-page-job-scraper----greenhouse-lever-any-ats.md
- **Developed by:** [Scrape Pilot](https://apify.com/scrapepilot) (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

$10.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## 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

---
## 💼 Career Page & Job Listing Scraper v2 — Greenhouse, Lever, Ashby + 10+ ATS

**Extract structured job listings from any company career page — supports Greenhouse, Lever, Ashby, Workday, SmartRecruiters, BambooHR, Recruitee, Teamtailor, and generic HTML.**  
Get job titles, locations, departments, links, descriptions, remote status, experience level, skills, and more. No API key required.

---

### 💡 What is Career Page & Job Listing Scraper v2?

This actor scrapes **public job listings** directly from company career pages, not from job boards. It automatically detects the ATS (Applicant Tracking System) and uses the best extraction method:

- **Greenhouse** – extracts from `__NEXT_DATA__` JSON or public API (`boards-api.greenhouse.io`).
- **Lever** – extracts from `window.LeverPostings`, `__NEXT_DATA__`, or HTML selectors.
- **Ashby** – extracts from `__NEXT_DATA__` or JSON‑LD.
- **Generic** – supports Workday, SmartRecruiters, BambooHR, Recruitee, Teamtailor, and any custom HTML via JSON‑LD, structured data, or fallback link scanning.

The actor returns clean, structured JSON with fields like `Job_ID`, `Title`, `Location`, `Department`, `Career_Link`, `Job_Type`, `Salary_Range`, `Description`, `Posted_Date`, `Remote` (boolean), `Experience_Level`, `Skills`, `ATS_Platform`, and more.

**No API key required.** Works with residential proxies to avoid IP blocks.

---

### 📦 What Data Can You Extract?

| 🧩 Data Type       | 📋 Description |
|--------------------|----------------|
| 🆔 Job ID          | Unique identifier from the ATS or generated. |
| 🎬 Title           | Job title. |
| 📍 Location        | City, state, country, or “Remote”. |
| 🏢 Department      | Team or functional area. |
| 🔗 Career Link     | Direct URL to apply or view details. |
| 🕒 Job Type        | Full‑time, Part‑time, Contract, etc. |
| 💰 Salary Range    | Extracted if present in description. |
| 📝 Description     | Short description (up to 500 chars). |
| 📅 Posted Date     | YYYY‑MM‑DD if available. |
| 🏠 Remote          | Boolean (true/false). |
| 📈 Experience Level| Intern, Junior, Mid‑Level, Senior, Manager, Staff/Principal. |
| 🛠️ Skills          | Extracted from title + description (Python, React, AWS, etc.). |
| 🤖 ATS Platform    | Greenhouse, Lever, Ashby, Workday, etc. |
| 🌐 Company URL     | Original career page URL. |
| ⏱️ Timestamp       | ISO extraction time. |

---

### ⚙️ Key Features

- **ATS Detection** – Automatically identifies the ATS from the URL or page content.
- **JSON‑First Extraction** – Uses `__NEXT_DATA__`, `window.LeverPostings`, and JSON‑LD before falling back to HTML parsing.
- **Residential Proxy Ready** – Works with Apify residential proxies to avoid blocking.
- **Bulk Processing** – Scrape multiple career page URLs in one run.
- **Filtering** – Filter by keyword, remote‑only, department, or job type.
- **Skills & Experience Inference** – Automatically extracts skills and experience level from job data.
- **Clean Output** – Missing fields are omitted; all strings are sanitised.

---

### 📥 Input Parameters

The actor accepts a JSON object with the following fields:

| Parameter            | Type                | Required | Default | Description |
|----------------------|---------------------|----------|---------|-------------|
| `career_page_urls`   | array or string     | **Yes**  | –       | List of career page URLs (e.g., `https://boards.greenhouse.io/stripe`). Can be newline‑separated string. |
| `career_page_url`    | string              | No       | –       | Single URL alternative. |
| `keyword`            | string              | No       | –       | Filter jobs by title keyword (case‑insensitive). |
| `remote_only`        | boolean             | No       | `false` | Return only remote jobs. |
| `department`         | string              | No       | –       | Filter by department (partial match). |
| `job_type_filter`    | string              | No       | –       | Filter by job type (e.g., `Full-time`). |
| `max_results`        | integer             | No       | `100`   | Maximum number of jobs to return total. |
| `proxyConfiguration` | object              | No       | –       | Apify proxy configuration. Residential recommended. |

#### Example Input

```json
{
  "career_page_urls": "https://boards.greenhouse.io/stripe\nhttps://jobs.lever.co/anthropic",
  "remote_only": false,
  "max_results": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
````

***

### 📤 Output Fields

Each job returns an object with the following possible fields:

| Field                | Type    | Description |
|----------------------|---------|-------------|
| `Job_ID`             | string  | Unique identifier (from ATS or generated). |
| `Title`              | string  | Job title. |
| `Location`           | string  | Location (city, state, country). |
| `Department`         | string  | Department or team. |
| `Career_Link`        | string  | Direct URL to the job posting. |
| `Job_Type`           | string  | Employment type (e.g., `Full-time`). |
| `Salary_Range`       | string  | Salary range (if found). |
| `Description`        | string  | Short description (up to 500 chars). |
| `Posted_Date`        | string  | `YYYY-MM-DD` (if available). |
| `Remote`             | boolean | Whether the job is remote. |
| `Experience_Level`   | string  | `Intern`, `Junior`, `Mid‑Level`, `Senior`, `Manager`, `Staff/Principal`. |
| `Skills`             | array   | Extracted skills (e.g., `["Python","React"]`). |
| `ATS_Platform`       | string  | `Greenhouse`, `Lever`, `Ashby`, `Generic`, etc. |
| `Company_Career_URL` | string  | Original career page URL. |
| `Proxy_Status`       | string  | Always `RESIDENTIAL-SECURE` when proxy used. |
| `Timestamp`          | string  | ISO 8601 extraction timestamp. |

#### Example Output (Greenhouse)

```json
[
  {
    "Job_ID": "7532733",
    "Title": "Account Executive, AI Sales",
    "Location": "San Francisco, CA",
    "Department": "1175 Enterprise - Account Executives (NA)",
    "Career_Link": "https://stripe.com/jobs/search?gh_jid=7532733",
    "Job_Type": "Full-time",
    "Salary_Range": null,
    "Description": "<h2>Who we are</h2> <h3>About Stripe</h3> <p>Stripe is a financial infrastructure platform for businesses...</p>",
    "Posted_Date": "2026-04-01",
    "Remote": false,
    "Experience_Level": "Mid-Level",
    "Skills": [],
    "ATS_Platform": "Greenhouse",
    "Company_Career_URL": "https://boards.greenhouse.io/stripe",
    "Proxy_Status": "RESIDENTIAL-SECURE",
    "Timestamp": "2026-04-11T05:07:12.447920Z"
  }
]
```

***

### 🛠 How to Use on Apify

1. **Create a task** with this actor.
2. **Provide input** – one or more career page URLs (Greenhouse, Lever, Ashby, etc.).
3. **Configure filters** – optional keyword, remote‑only, department.
4. **Enable proxy** – set `proxyConfiguration.useApifyProxy: true` with `RESIDENTIAL` group.
5. **Run** – the actor will scrape each URL and push jobs to the Dataset.
6. **Export** – download as JSON, CSV, or Excel.

#### Running via API

```bash
curl -X POST "https://api.apify.com/v2/acts/your-username~career-page-job-scraper/runs" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "career_page_urls": ["https://boards.greenhouse.io/stripe"],
    "max_results": 20,
    "proxyConfiguration": {
      "useApifyProxy": true,
      "apifyProxyGroups": ["RESIDENTIAL"]
    }
  }'
```

***

### 🎯 Use Cases

- **Job Aggregation** – Build a custom job board from specific companies.
- **Competitive Intelligence** – Monitor who is hiring and for what roles.
- **Recruitment Research** – Analyse salary ranges, skills, and remote trends.
- **Data Enrichment** – Augment your CRM with live job listings.
- **Talent Sourcing** – Identify companies expanding in your region.

***

### ❓ Frequently Asked Questions

#### Q1. Which ATS platforms are supported?

**Full support:** Greenhouse, Lever, Ashby. **Partial support (generic HTML/JSON‑LD):** Workday, SmartRecruiters, BambooHR, Recruitee, Teamtailor, Jobvite, Breezy, iCIMS, Workable, and any custom career page with structured data.

#### Q2. Do I need an API key?

No. The actor uses only public web pages and public APIs (e.g., Greenhouse’s public boards API).

#### Q3. Why do I need residential proxies?

Many ATS pages block datacenter IPs. Residential proxies reduce the chance of being blocked, especially when scraping multiple companies.

#### Q4. How accurate are the extracted skills and experience level?

They are based on simple keyword matching and may not be perfect. You can disable or adjust the logic by modifying the script.

#### Q5. What if a career page uses JavaScript rendering?

The actor uses `curl_cffi` (which mimics a real browser) and can execute some JS. For heavy JS frameworks, consider using a Playwright‑based actor.

#### Q6. Can I scrape job details (full description, requirements)?

The actor extracts a short description (up to 500 chars). For full details, you can follow the `Career_Link` and scrape that page separately.

#### Q7. How are `Job_ID`s generated?

If the ATS provides an ID (Greenhouse, Lever, Ashby), it is used. Otherwise, a deterministic hash is generated from the link and title.

#### Q8. What happens if a URL fails to load?

The actor logs a warning and skips that URL. Other URLs are processed normally.

***

***

### 🔍 SEO Keywords

`job scraper`, `career page scraper`, `Greenhouse job extractor`, `Lever jobs API`, `Ashby job scraper`, `workday job listings`, `ATS data extraction`, `recruitment intelligence`, `bulk job scraping`, `Apify career scraper`

***

# Actor input Schema

## `career_page_urls` (type: `string`):

Company career page URLs. One per line.

Greenhouse examples:
https://boards.greenhouse.io/stripe
https://boards.greenhouse.io/openai

Lever examples:
https://jobs.lever.co/anthropic
https://jobs.lever.co/figma

Ashby examples:
https://jobs.ashbyhq.com/notion
https://jobs.ashbyhq.com/linear

Any career page:
https://careers.shopify.com/en/jobs
https://www.apple.com/jobs/us/

## `career_page_url` (type: `string`):

Single career page URL to scrape

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

Only return jobs containing this keyword in title. E.g: 'engineer', 'python', 'machine learning', 'product manager'

## `job_type_filter` (type: `string`):

Filter by employment type

## `remote_only` (type: `boolean`):

ON → only return remote-eligible positions

## `department` (type: `string`):

Filter by department name. E.g: 'Engineering', 'Sales', 'Marketing', 'Design'

## `max_results` (type: `integer`):

Maximum number of job listings to return

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

RESIDENTIAL proxy recommended. Some career pages block datacenter IPs.

## Actor input object example

```json
{
  "career_page_urls": "https://boards.greenhouse.io/stripe\nhttps://jobs.lever.co/anthropic",
  "job_type_filter": "",
  "remote_only": false,
  "max_results": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "career_page_urls": `https://boards.greenhouse.io/stripe
https://jobs.lever.co/anthropic`,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapepilot/career-page-job-scraper----greenhouse-lever-any-ats").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 = {
    "career_page_urls": """https://boards.greenhouse.io/stripe
https://jobs.lever.co/anthropic""",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapepilot/career-page-job-scraper----greenhouse-lever-any-ats").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 '{
  "career_page_urls": "https://boards.greenhouse.io/stripe\\nhttps://jobs.lever.co/anthropic",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapepilot/career-page-job-scraper----greenhouse-lever-any-ats --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapepilot/career-page-job-scraper----greenhouse-lever-any-ats",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Career Page Job Scraper — Greenhouse, Lever & Any ATS",
        "description": "Scrape real job listings from any company career page. Supports Greenhouse, Lever, Workday, Ashby and 10+ ATS platforms. Returns job title, location, department, salary, required skills, remote status and apply link. Filter by keyword, department and remote.",
        "version": "0.0",
        "x-build-id": "tLsIrLhPpLsTow1c5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapepilot~career-page-job-scraper----greenhouse-lever-any-ats/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapepilot-career-page-job-scraper----greenhouse-lever-any-ats",
                "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/scrapepilot~career-page-job-scraper----greenhouse-lever-any-ats/runs": {
            "post": {
                "operationId": "runs-sync-scrapepilot-career-page-job-scraper----greenhouse-lever-any-ats",
                "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/scrapepilot~career-page-job-scraper----greenhouse-lever-any-ats/run-sync": {
            "post": {
                "operationId": "run-sync-scrapepilot-career-page-job-scraper----greenhouse-lever-any-ats",
                "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": {
                    "career_page_urls": {
                        "title": "Career Page URLs",
                        "type": "string",
                        "description": "Company career page URLs. One per line.\n\nGreenhouse examples:\nhttps://boards.greenhouse.io/stripe\nhttps://boards.greenhouse.io/openai\n\nLever examples:\nhttps://jobs.lever.co/anthropic\nhttps://jobs.lever.co/figma\n\nAshby examples:\nhttps://jobs.ashbyhq.com/notion\nhttps://jobs.ashbyhq.com/linear\n\nAny career page:\nhttps://careers.shopify.com/en/jobs\nhttps://www.apple.com/jobs/us/"
                    },
                    "career_page_url": {
                        "title": "Single Career Page URL",
                        "type": "string",
                        "description": "Single career page URL to scrape"
                    },
                    "keyword": {
                        "title": "Keyword Filter",
                        "type": "string",
                        "description": "Only return jobs containing this keyword in title. E.g: 'engineer', 'python', 'machine learning', 'product manager'"
                    },
                    "job_type_filter": {
                        "title": "Job Type Filter",
                        "enum": [
                            "",
                            "Full-time",
                            "Part-time",
                            "Contract",
                            "Internship",
                            "Freelance"
                        ],
                        "type": "string",
                        "description": "Filter by employment type",
                        "default": ""
                    },
                    "remote_only": {
                        "title": "Remote Jobs Only",
                        "type": "boolean",
                        "description": "ON → only return remote-eligible positions",
                        "default": false
                    },
                    "department": {
                        "title": "Department Filter",
                        "type": "string",
                        "description": "Filter by department name. E.g: 'Engineering', 'Sales', 'Marketing', 'Design'"
                    },
                    "max_results": {
                        "title": "Max Jobs",
                        "type": "integer",
                        "description": "Maximum number of job listings to return",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy (RESIDENTIAL Recommended)",
                        "type": "object",
                        "description": "RESIDENTIAL proxy recommended. Some career pages block datacenter IPs."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
