# Whova Event Scraper - Sessions, Speakers, Sponsors & Exhibitors (`scrapesage/whova-event-scraper`) Actor

Turn any public Whova event into clean, structured data. One run captures the full agenda (sessions, times, rooms, tracks, docs), the complete speaker roster with bios and their sessions, sponsors with tiers and logos, and exhibitors with booth numbers. No login. Export to JSON, CSV, or Excel.

- **URL**: https://apify.com/scrapesage/whova-event-scraper.md
- **Developed by:** [Scrape Sage](https://apify.com/scrapesage) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Whova Event Scraper — Sessions, Speakers, Sponsors & Exhibitors

Turn any **public Whova event page** into clean, structured data. This actor pulls four datasets from a Whova event in one run — **sessions, speakers, sponsors, and exhibitors** — with no login and no Whova account required.

It reads Whova's own public event‑webpage data (the same data that powers the embedded agenda, sponsor, and exhibitor widgets organizers put on their websites), so you get complete, accurate records — including **exhibitor booth numbers**, **sponsor tiers**, and **speaker‑to‑session links** that most scrapers miss.

---

### What you get

| Record type | Highlights |
|---|---|
| **Sessions** | Title, start/end time (local), room, full description (HTML + plain text), tracks, attached documents (slide decks/PDFs), and the list of speakers on each session. |
| **Speakers** | The **full speaker roster** — name, title, affiliation, bio, photo, social links — pulled from **both** the agenda *and* the event's dedicated speaker directory, then **deduplicated by profile** with every session they appear in and their role(s) (Speaker / Panelist / Moderator …). |
| **Sponsors** | Name, website, logo, **tier** (e.g. Platinum/Gold or the event's own tiers), and social links discovered in the profile. |
| **Exhibitors** | Name, website, logo, **booth number**, and category. |

Public, professional/business information only. See **Privacy** below.

---

### How to use it

1. Find a Whova event's public page (its embedded agenda, sponsor, or exhibitor page — one that loads **without** asking you to sign in).
2. Copy the long code after `/event/` in the address bar, e.g. in
   `https://whova.com/embedded/event/RO1JdFJs9ii6Fx75WrNTg1kBuSNRjetEH9eL7BSaXKQ%3D/`
   the event id is `RO1JdFJs9ii6Fx75WrNTg1kBuSNRjetEH9eL7BSaXKQ%3D`.
3. Paste the **full URL** into **Whova event URLs** (or just the id into **event IDs**) and run.

You can pass several events at once. Toggle off any record type you don't need.

> **Heads-up on links:** a `whova.com/web/<code>` *app* link won't work on its own — that short code isn't the event id the data needs. Use the **embedded** URL (the one containing `/embedded/event/`) or the raw id as shown above. If you do paste something unsupported, the run still finishes successfully and tells you exactly how to get the right id.

#### Input

- **Whova event URLs** / **event IDs** — one or more events to scrape.
- **Scrape sessions / speakers / sponsors / exhibitors** — on by default; turn off what you don't need.
- **Max items** — hard cap on total records (0 = no limit).
- **Max concurrency**, **delay between requests**, **max retries** — throughput and politeness controls.
- **Proxy** — uses Apify Proxy (datacenter) by default.

---

### Output

Every record carries `recordType`, `eventId`, `eventName`, `sourceUrl`, and `scrapedAt`. Missing values are `null` (never invented). Sessions additionally include `parentSessionId` and `isSubsession` — breakout **subsessions** are captured as their own rows and linked to their parent — and every record includes `isVirtualEvent` so you can tell **online/hybrid** events apart. The examples below show the most useful fields per type; every record also carries the common fields just listed.

**Session**
```json
{
  "recordType": "session",
  "sessionId": "2917325",
  "name": "The United Kingdom",
  "startTime": "2023-04-22 09:00:00",
  "endTime": "2023-04-22 10:00:00",
  "place": "4th Floor, Venture",
  "description": "The United Kingdom (UK) is at the forefront…",
  "descriptionHtml": "<div><p>…</p></div>",
  "tracks": ["Showcase"],
  "documents": [{ "title": "Slides", "url": "https://…", "description": null }],
  "sessionOrder": 2,
  "speakerNames": ["Michael Kill", "Peter Marks", "Carly Heath", "Philip Kolvin"],
  "speakerCount": 4,
  "eventName": "Sociable City Summit 2023",
  "eventTimezone": "America/New_York"
}
````

**Speaker** (full roster — merged from the agenda + speaker directory, deduplicated by profile)

```json
{
  "recordType": "speaker",
  "profileId": "28928388",
  "name": "Ariel Palitz",
  "title": "Global Government and Hospitality Consultant",
  "affiliation": "NYC Alliance, Oaktree Solutions, Venue Advisors",
  "location": "New York, New York, United States",
  "bio": "…",
  "photoUrl": "https://…",
  "photoIsLinkedinCdn": false,
  "photoIsDefault": false,
  "hasLinkedin": true,
  "hasPicture": true,
  "role": "Speaker",
  "roles": ["Speaker"],
  "sessionIds": ["2931508", "2931510"],
  "sessionCount": 2,
  "socialLinks": { "linkedin": null, "facebook": null, "twitter": null, "instagram": null, "tiktok": null, "youtube": null, "pinterest": null }
}
```

**Sponsor**

```json
{
  "recordType": "sponsor",
  "companyId": "121043",
  "name": "Curb",
  "website": "https://www.gocurb.com/",
  "logoUrl": "https://…",
  "tier": "Advocate",
  "categories": [],
  "boothNumber": null,
  "unpaid": false,
  "description": "…",
  "socialLinks": { "linkedin": null, "facebook": null, "twitter": null, "instagram": null, "tiktok": null, "youtube": null, "pinterest": null },
  "links": []
}
```

**Exhibitor**

```json
{
  "recordType": "exhibitor",
  "companyId": null,
  "name": "3D Group",
  "website": "https://www.3dgroup.net",
  "logoUrl": "https://…",
  "tier": null,
  "categories": [],
  "boothNumber": "215",
  "unpaid": false,
  "description": "360 Feedback - Leadership Coaching - Team Effectiveness…",
  "socialLinks": { "linkedin": null, "facebook": null, "twitter": null, "instagram": null, "tiktok": null, "youtube": null, "pinterest": null },
  "links": []
}
```

A **RUN\_SUMMARY** is written to the run's key‑value store with per‑event counts and plain‑English notes.

***

### Pricing

This actor uses **pay‑per‑result** billing: you're charged a small amount for each **result** returned (the `result-item` event) — and nothing else. There is **no per‑run or start fee**.

If a run finds nothing (e.g. an event has no public exhibitors yet, or the link couldn't be read), it finishes **successfully with a plain‑English explanation and no charge at all** — empty runs cost nothing.

***

### FAQ

**Do I need a Whova login?** No. It only reads public event‑webpage data.

**How long until results appear?** For a large event the actor downloads and parses the *entire* agenda (Whova returns it in a single response) before it writes anything, so the first records can take roughly **1–2 minutes — longer for very large events — then appear all at once**. That startup delay is normal and scales with the size of the event you target.

**An event returned 0 exhibitors / 0 sponsors — is it broken?** No. Many events (e.g. summits) have no expo hall, or haven't published a section yet. The run succeeds and the RUN\_SUMMARY explains why.

**Why did a run finish with "0 records" but no error?** By design. If an event has no public data for the types you picked, or you pasted a link the scraper can't read, the run **succeeds** and the RUN\_SUMMARY explains the reason in plain English — it never fails just because a result set is empty, and an empty run costs you nothing.

**Does it handle subsessions and virtual events?** Yes. Breakout **subsessions** are captured as their own session rows and linked to their parent via `parentSessionId` (with `isSubsession: true`). For **virtual or hybrid** events, every record carries `isVirtualEvent` so you can filter them.

**Will it get speakers even if they aren't attached to the agenda?** Yes. Many events keep their roster in a separate **speaker directory** instead of on each session. The scraper pulls that full directory and merges it with any agenda‑linked speakers (deduped by profile), so you get everyone — and it even backfills a session's speaker list where the agenda left it blank.

**Where do booth numbers come from?** Whova stores the booth in the exhibitor's `location` field; the actor maps it to `boothNumber`.

**Can I scrape several events at once?** Yes — add multiple URLs/ids.

**Some speaker photos are LinkedIn URLs.** Those can expire; the record flags them with `photoIsLinkedinCdn` so you can prefer Whova‑hosted photos.

**I set a small `maxItems` and got a mix of all types — is that right?** Yes. When a cap is set, the actor **samples fairly across sessions, speakers, sponsors and exhibitors** so a small test run shows every type (instead of one big type using up the whole cap). Set `maxItems` to `0` for everything, grouped by type. Either way, `RUN_SUMMARY` reports both what was **written** and what was **available**, so you always see the true totals.

***

### Privacy & legal

- **Public, professional/business data only.** The actor never collects attendee personal contact details (personal email, phone, home address) — even if a field were present, it is not emitted.
- This is an **independent** tool and is **not affiliated with, endorsed by, or sponsored by Whova**. "Whova" is a trademark of its respective owner. Use it in accordance with the laws and terms that apply to you.

# Actor input Schema

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

Public Whova event pages or embedded URLs. Any URL containing the event id works, e.g. https://whova.com/embedded/event/\<event\_id>/ . Tip: open an event's public agenda or exhibitor page and copy the long code after /event/ in the address bar.

## `eventIds` (type: `array`):

Alternative to URLs: paste raw Whova event ids (the long code after /event/, usually ending in %3D or =).

## `includeSessions` (type: `boolean`):

Include the agenda's sessions (title, time, room, description, tracks, documents).

## `includeSpeakers` (type: `boolean`):

Include the FULL speaker roster — pulled from BOTH the agenda and the event's dedicated speaker directory, deduplicated by profile, with each speaker's sessions, title, affiliation, bio and photo. Public professional info only.

## `includeSponsors` (type: `boolean`):

Include sponsors (name, website, logo, tier, social links found in the description).

## `includeExhibitors` (type: `boolean`):

Include exhibitors (name, website, logo, booth number, category).

## `maxItems` (type: `integer`):

Hard cap on total records across all events and types. 0 means no limit.

## `maxConcurrency` (type: `integer`):

How many events to process in parallel.

## `minDelayMs` (type: `integer`):

Politeness delay before each API call (rate limiting).

## `maxRequestRetries` (type: `integer`):

Retries per request on network/HTTP errors (the proxy IP is rotated on each retry).

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

Uses Apify Proxy (datacenter) by default — recommended.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://whova.com/embedded/event/RO1JdFJs9ii6Fx75WrNTg1kBuSNRjetEH9eL7BSaXKQ%3D/"
    }
  ],
  "includeSessions": true,
  "includeSpeakers": true,
  "includeSponsors": true,
  "includeExhibitors": true,
  "maxItems": 0,
  "maxConcurrency": 5,
  "minDelayMs": 250,
  "maxRequestRetries": 4,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "startUrls": [
        {
            "url": "https://whova.com/embedded/event/RO1JdFJs9ii6Fx75WrNTg1kBuSNRjetEH9eL7BSaXKQ%3D/"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesage/whova-event-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 = { "startUrls": [{ "url": "https://whova.com/embedded/event/RO1JdFJs9ii6Fx75WrNTg1kBuSNRjetEH9eL7BSaXKQ%3D/" }] }

# Run the Actor and wait for it to finish
run = client.actor("scrapesage/whova-event-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 '{
  "startUrls": [
    {
      "url": "https://whova.com/embedded/event/RO1JdFJs9ii6Fx75WrNTg1kBuSNRjetEH9eL7BSaXKQ%3D/"
    }
  ]
}' |
apify call scrapesage/whova-event-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Whova Event Scraper - Sessions, Speakers, Sponsors & Exhibitors",
        "description": "Turn any public Whova event into clean, structured data. One run captures the full agenda (sessions, times, rooms, tracks, docs), the complete speaker roster with bios and their sessions, sponsors with tiers and logos, and exhibitors with booth numbers. No login. Export to JSON, CSV, or Excel.",
        "version": "0.1",
        "x-build-id": "hcpRv6tbdxBLyFjxB"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapesage~whova-event-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapesage-whova-event-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/scrapesage~whova-event-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapesage-whova-event-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/scrapesage~whova-event-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapesage-whova-event-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": {
                    "startUrls": {
                        "title": "Whova event URLs",
                        "type": "array",
                        "description": "Public Whova event pages or embedded URLs. Any URL containing the event id works, e.g. https://whova.com/embedded/event/<event_id>/ . Tip: open an event's public agenda or exhibitor page and copy the long code after /event/ in the address bar.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "eventIds": {
                        "title": "…or raw Whova event IDs",
                        "type": "array",
                        "description": "Alternative to URLs: paste raw Whova event ids (the long code after /event/, usually ending in %3D or =).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeSessions": {
                        "title": "Scrape sessions",
                        "type": "boolean",
                        "description": "Include the agenda's sessions (title, time, room, description, tracks, documents).",
                        "default": true
                    },
                    "includeSpeakers": {
                        "title": "Scrape speakers",
                        "type": "boolean",
                        "description": "Include the FULL speaker roster — pulled from BOTH the agenda and the event's dedicated speaker directory, deduplicated by profile, with each speaker's sessions, title, affiliation, bio and photo. Public professional info only.",
                        "default": true
                    },
                    "includeSponsors": {
                        "title": "Scrape sponsors",
                        "type": "boolean",
                        "description": "Include sponsors (name, website, logo, tier, social links found in the description).",
                        "default": true
                    },
                    "includeExhibitors": {
                        "title": "Scrape exhibitors",
                        "type": "boolean",
                        "description": "Include exhibitors (name, website, logo, booth number, category).",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Max items (0 = no limit)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Hard cap on total records across all events and types. 0 means no limit.",
                        "default": 0
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many events to process in parallel.",
                        "default": 5
                    },
                    "minDelayMs": {
                        "title": "Delay between requests (ms)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Politeness delay before each API call (rate limiting).",
                        "default": 250
                    },
                    "maxRequestRetries": {
                        "title": "Max request retries",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Retries per request on network/HTTP errors (the proxy IP is rotated on each retry).",
                        "default": 4
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Uses Apify Proxy (datacenter) by default — recommended.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
