# Interpark Ticket Scraper — Korean Concert & Musical Rankings (`kdatafactory/interpark-ticket-scraper`) Actor

Scrape the live performance rankings from Interpark Tickets (인터파크 티켓), Korea's #1 ticketing site: rank, show title, venue, run dates, genre, poster image and detail URL as clean JSON. Musicals, K-pop concerts, plays, classical, exhibitions and more. No seat/price data, no PII.

- **URL**: https://apify.com/kdatafactory/interpark-ticket-scraper.md
- **Developed by:** [Seok June Park](https://apify.com/kdatafactory) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

## Interpark Ticket Scraper — Korean Concert & Musical Rankings 🎫

Scrape the live **performance rankings** from [Interpark Tickets (인터파크 티켓)](https://tickets.interpark.com/contents/ranking) — **Korea's #1 ticketing platform** — as clean, structured JSON. Get the rank, show title, venue, run dates, genre, poster image and detail-page URL for every ranked musical, K-pop concert, play, classical show, exhibition and more, in one run.

The fastest way to see **what's hot in Korean live entertainment right now**: a cross-genre popularity board you can snapshot daily for concert-tour tracking, resale analysis, promoter research, or as a live data source for AI agents.

> **Try it free.** Apify's free plan includes $5 of monthly platform credit — at **$2.00 / 1,000 results** that's roughly **2,500 show records** from this actor, no credit card required. Set your input, click Start, and export JSON/CSV/Excel.

---

### What it does

This actor reads ranking data straight from Interpark Tickets' own public ranking feed (the same JSON endpoint the website calls as you switch category tabs), so results are fast and complete — no fragile full-page scraping, no headless browser. You can scrape:

- **All genres at once** (default) — every category's ranking, interleaved into one cross-genre leaderboard (each genre's #1 first, then every #2, and so on), or
- **A single genre** — e.g. musicals, concerts, plays, classical, exhibitions.

Rankings are available for three windows — **daily**, **weekly**, and **monthly** — so you can track today's movers or a longer trend.

Interpark exposes eight ranking categories:

| Genre code | Korean | English |
|------------|--------|---------|
| `MUSICAL` | 뮤지컬 | Musical |
| `CONCERT` | 콘서트 | Concert (incl. K-pop) |
| `DRAMA` | 연극 | Play |
| `CLASSIC` | 클래식/무용 | Classical & Dance |
| `EXHIBIT` | 전시/행사 | Exhibition & Events |
| `KIDS` | 아동/가족 | Kids & Family |
| `SPORTS` | 스포츠 | Sports |
| `LEISURE` | 레저/캠핑 | Leisure & Camping |

> **Why Interpark?** Interpark Tickets is the dominant ticketing site in Korea for concerts, musicals and performances. Its public ranking board is the single best snapshot of live-entertainment demand in the country — which tours are selling, which musicals are trending, what's climbing week over week. This actor turns that board into a structured dataset you can filter, chart, and pipe into your own tools.

---

### Input

| Field | Type | Description |
|-------|------|-------------|
| `genre` | string | Which ranking to scrape. `all` (default) collects every category and interleaves them. Or one category — a **code** (`MUSICAL`, `CONCERT`, `DRAMA`, `CLASSIC`, `EXHIBIT`, `KIDS`, `SPORTS`, `LEISURE`) **or** a Korean name (`뮤지컬`, `콘서트`, `연극`, `클래식/무용`, `전시/행사`, `아동/가족`, `스포츠`, `레저/캠핑`). |
| `period` | string | Ranking window: `daily`, `weekly`, or `monthly`. Default `daily`. |
| `maxItems` | integer | Max show records to collect. Default `50`, max `5000`. |
| `proxyConfiguration` | object | Proxy settings (see below). Defaults to a direct connection. |

#### Input example

```json
{
  "genre": "CONCERT",
  "period": "weekly",
  "maxItems": 50
}
````

```json
{
  "genre": "뮤지컬",
  "period": "daily",
  "maxItems": 100
}
```

***

### Output

Each ranked show is one dataset record. `rank` is the show's position within its genre ranking (ties can occur — the site shows them). `period_start` / `period_end` are the show's run dates (`YYYY-MM-DD`). `booking_percent` is Interpark's own booking-share popularity metric (예매율) — the signal behind the ranking, **not** a ticket price. `title`, `venue` and `genre` are kept as the original Korean strings.

```json
{
  "source": "interpark",
  "show_id": "26005310",
  "rank": 1,
  "rank_previous": 6,
  "title": "뮤지컬 〈그날들〉",
  "genre": "뮤지컬",
  "genre_code": "musical",
  "venue": "디큐브 링크아트센터",
  "period_start": "2026-06-09",
  "period_end": "2026-08-23",
  "age_rating": "8세이상 관람가능",
  "booking_percent": 10.9,
  "url": "https://ticket.interpark.com/Tiki/Main/TiKiGoodsinfo.asp?GoodsCode=26005310",
  "image_url": "https://ticketimage.interpark.com/Play/image/large/26/26005310_p.gif",
  "scraped_at": "2026-07-14T14:44:23+09:00"
}
```

A full 40-item sample from a real run is in [`samples/sample-output.json`](samples/sample-output.json).

| Field | Meaning |
|-------|---------|
| `source` | Always `"interpark"`. |
| `show_id` | Interpark goods code — a stable per-show ID (`GoodsCode`). |
| `rank` | Position in the genre ranking (1 = top). Ties can repeat a rank. |
| `rank_previous` | The show's rank in the previous snapshot, for movement analysis; `null` if it's new / wasn't ranked before. |
| `title` | Show title, original Korean (authoritative). |
| `genre` | Genre in Korean, as Interpark labels it (e.g. `뮤지컬`, `콘서트`). |
| `genre_code` | Lower-case English genre code (e.g. `musical`, `concert`). |
| `venue` | Venue / hall name (public place name), else `null`. |
| `period_start` | Run start date (`YYYY-MM-DD`), else `null`. |
| `period_end` | Run end date (`YYYY-MM-DD`), else `null`. |
| `age_rating` | Viewing age rating as stated by Interpark (e.g. `8세이상 관람가능`), else `null`. |
| `booking_percent` | Booking-share popularity metric (예매율). A ranking signal, **not** a price. `null` if absent. |
| `url` | Show detail-page URL. |
| `image_url` | Poster image URL, else `null`. |
| `scraped_at` | ISO-8601 timestamp (KST, UTC+9). |

The core fields — `rank`, `title`, `genre`, `venue`, `period_start`, `period_end`, `age_rating`, `booking_percent`, `url`, `image_url` — populated on **40/40** records in the live test. `rank_previous` is best-effort (27/40 — it's `null` for shows that are new to the chart). **Critical fields `rank` and `title` are always present.**

***

### Use cases

- **K-pop concert & tour tracking** — snapshot the `CONCERT` ranking daily to see which tours and artists are selling, when new dates enter the chart, and how they climb (`rank` vs `rank_previous`).
- **Ticket resale & demand analysis** — use `rank`, `rank_previous` and `booking_percent` as a live demand signal for the secondary market: spot fast-rising, high-booking shows early.
- **Promoters & venue research** — see which genres, venues and run windows dominate the rankings; benchmark your own show against the board and track competitors' positions over time.
- **AI agents & datasets** — feed a structured, always-fresh "what's hot in Korean live entertainment" feed into dashboards, trend models, or LLM agents.

***

### ❓ FAQ

**Is it legal to scrape this data?**
This actor collects only public, non-personal ranking data — the same ranking board any visitor sees on tickets.interpark.com without logging in. No personal data is collected (a venue is a public hall name, not a person). You are responsible for how you use the data; see the legality note below.

**What does it cost in practice?**
$2.00 per 1,000 results (launch pricing) + a few cents of platform usage. Example: a 50-result daily "all genres" pull costs about **$0.10/day**. Apify's free $5 monthly credit covers **~2,500 results**.

**Do I need to configure proxies?**
No — the default settings work out of the box. Interpark serves its ranking feed without a bot wall, so the actor runs fine on a **direct connection**. For very heavy pulls you can optionally enable Apify Proxy — see the proxy note below.

**How fresh is the data?**
Every run reads the live Interpark ranking at run time. Schedule the actor for recurring snapshots (e.g. a daily chart capture) and diff `rank` against `rank_previous` to track movement.

**What is NOT included?**
No ticket **prices** and no **seat maps / availability** — those live behind per-show booking flows that require authenticated, per-show requests, and are deliberately out of scope (see limitations). This actor is a ranking/metadata feed, not a seat/price scraper.

***

### 🤖 Use with AI agents (MCP)

Call this Actor as a tool from Claude or any MCP-compatible AI agent — no glue code. Point your MCP client at Apify's server, scoped to this Actor:

```json
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=kdatafactory/interpark-ticket-scraper",
      "headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
    }
  }
}
```

Your agent can then pull Korea's live performance rankings on demand — no scraping code in your app. Grab a free token from [Apify → Integrations](https://console.apify.com/settings/integrations).

### 🇰🇷 More Korean data actors

This actor is part of a suite of Korean-platform scrapers by the same maintainer:

- **[popply-scraper](https://apify.com/kdatafactory/popply-scraper) — Korean pop-up store & event listings.** Pair it with this actor for a fuller picture of Korea's live experiences and events.
- **[korea-trend-feed](https://apify.com/kdatafactory/korea-trend-feed) — trending keywords and rankings across Korean platforms.** Combine with performance rankings to correlate buzz with ticket demand.

Browse all: [apify.com/kdatafactory](https://apify.com/kdatafactory)

***

### Rate limiting & legality

- The actor collects **only public, non-authenticated data**. It never logs in and never touches private or booking endpoints.
- **No personal data** is collected — only show, venue and ranking information. No ticket prices and no seat/availability data are fetched.
- Requests are rate-limited: one page at a time with a ≥ 500 ms delay between requests, to stay gentle on Interpark's servers.
- You are responsible for using the data in line with Interpark's terms of service and applicable law.

#### Known limitations (honesty note)

- **No prices, no seats.** This actor deliberately does **not** collect ticket prices or seat maps / availability. Those require per-show, often authenticated booking requests that are out of scope. `booking_percent` is a *popularity/ranking* metric (예매율), not a price.
- **`rank_previous` is best-effort.** It reflects the previous snapshot's rank where Interpark provides one, and is `null` for shows that are new to the chart (≈1/3 of rows in the live test). It is not billed as a guaranteed field.
- **Ranks can tie.** Interpark's ranking legitimately assigns the same `rank` to multiple shows; the actor returns ranks as shown rather than forcing them unique.
- **Genre is a Korean string** (with a `genre_code` convenience field). For `genre = all`, records are interleaved across categories in round-robin rank order — so with a small `maxItems` you get each genre's top entries first, not a single global 1..N list. Each record still carries its own per-genre `rank`.
- **Titles, venues and genres are Korean strings** — they are not translated.

***

*If this actor saves you time, a rating on the [Store page](https://apify.com/kdatafactory/interpark-ticket-scraper) helps a solo maintainer a lot. Found an issue? Open it in the Issues tab — I respond fast.*

# Actor input Schema

## `genre` (type: `string`):

Which performance ranking to scrape. 'all' (default) collects every category and interleaves them into one cross-genre leaderboard. Or pick one category — accepts a code (MUSICAL, CONCERT, DRAMA, CLASSIC, EXHIBIT, KIDS, SPORTS, LEISURE) or a Korean name (뮤지컬, 콘서트, 연극, 클래식/무용, 전시/행사, 아동/가족, 스포츠, 레저/캠핑).

## `period` (type: `string`):

Which ranking window to read — Interpark publishes a daily, weekly and monthly chart. Default daily.

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

Maximum number of ranked show records to collect.

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

Proxy settings. Interpark serves its ranking feed without a bot wall, so the actor runs fine on a direct connection (default). If you ever see blocks at high volume, enable Apify Proxy here.

## Actor input object example

```json
{
  "genre": "all",
  "period": "daily",
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("kdatafactory/interpark-ticket-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("kdatafactory/interpark-ticket-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 '{}' |
apify call kdatafactory/interpark-ticket-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Interpark Ticket Scraper — Korean Concert & Musical Rankings",
        "description": "Scrape the live performance rankings from Interpark Tickets (인터파크 티켓), Korea's #1 ticketing site: rank, show title, venue, run dates, genre, poster image and detail URL as clean JSON. Musicals, K-pop concerts, plays, classical, exhibitions and more. No seat/price data, no PII.",
        "version": "0.1",
        "x-build-id": "Obzx16ftN6iqV6Cc4"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/kdatafactory~interpark-ticket-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-kdatafactory-interpark-ticket-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/kdatafactory~interpark-ticket-scraper/runs": {
            "post": {
                "operationId": "runs-sync-kdatafactory-interpark-ticket-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/kdatafactory~interpark-ticket-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-kdatafactory-interpark-ticket-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": {
                    "genre": {
                        "title": "Genre",
                        "enum": [
                            "all",
                            "MUSICAL",
                            "CONCERT",
                            "DRAMA",
                            "CLASSIC",
                            "EXHIBIT",
                            "KIDS",
                            "SPORTS",
                            "LEISURE"
                        ],
                        "type": "string",
                        "description": "Which performance ranking to scrape. 'all' (default) collects every category and interleaves them into one cross-genre leaderboard. Or pick one category — accepts a code (MUSICAL, CONCERT, DRAMA, CLASSIC, EXHIBIT, KIDS, SPORTS, LEISURE) or a Korean name (뮤지컬, 콘서트, 연극, 클래식/무용, 전시/행사, 아동/가족, 스포츠, 레저/캠핑).",
                        "default": "all"
                    },
                    "period": {
                        "title": "Ranking period",
                        "enum": [
                            "daily",
                            "weekly",
                            "monthly"
                        ],
                        "type": "string",
                        "description": "Which ranking window to read — Interpark publishes a daily, weekly and monthly chart. Default daily.",
                        "default": "daily"
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of ranked show records to collect.",
                        "default": 50
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings. Interpark serves its ranking feed without a bot wall, so the actor runs fine on a direct connection (default). If you ever see blocks at high volume, enable Apify Proxy here.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
