# TikTok Subtitles Extractor (Download Captions from Any Video) (`scrapebridge/tiktok-subtitles-extractor`) Actor

TikTok Subtitles Extractor extracts subtitles and captions from TikTok videos at scale. Collect video text, transcripts, timestamps, usernames, hashtags, and metadata for content analysis, accessibility, keyword research, social media insights, and marketing research workflows.

- **URL**: https://apify.com/scrapebridge/tiktok-subtitles-extractor.md
- **Developed by:** [Scrape Bridge](https://apify.com/scrapebridge) (community)
- **Categories:** Social media, Automation, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

### TikTok Subtitles Extractor - Download Captions from Any Video ⚡

Trying to get captions out of a TikTok video for research, localization, or repurposing is surprisingly time-consuming. **TikTok Subtitles Extractor - Download Captions from Any Video** extracts subtitles for any provided TikTok URL and returns clean text (or SRT) you can reuse fast. This TikTok subtitles extractor also supports automatic captions, so you can get more coverage when creators don’t publish captions manually. It’s built for marketers, data analysts, and researchers who need a transcript-like output at scale. In one run, you can process multiple TikTok URLs and get structured subtitle results within seconds of starting.

---

### See the Data: Sample Output

Here's a real record from a single run:

```json
{
  "url": "https://www.tiktok.com/@somecreator/video/7364839201234567890",
  "success": true,
  "format": "text",
  "subtitle": "Welcome back to the channel today we’re testing... (captions content cleaned into plain text)",
  "availableLanguages": [
    { "code": "en", "name": "en" },
    { "code": "es", "name": "es" },
    { "code": "fr", "name": "fr" }
  ],
  "scrapedAt": "2026-06-07T12:34:56.789012"
}
````

Here’s a sample failure record when subtitles can’t be extracted:

```json
{
  "url": "https://www.tiktok.com/@somecreator/video/7364839201234567890",
  "success": false,
  "message": "Some extraction error message from the underlying extractor",
  "scrapedAt": "2026-06-07T12:34:56.789012"
}
```

| Field | Type | What It Tells You |
|---|---|---|
| `url` | string | Confirms which TikTok URL the subtitles result belongs to. |
| `success` | boolean | Lets you filter successful subtitle extractions vs failures. |
| `format` | string | Tells you whether the actor returned `"text"` or `"srt"` output. |
| `subtitle` | string | Contains the extracted caption content (cleaned into plain text for `text`, or simplified timestamp blocks for `srt`). |
| `availableLanguages` | array | Shows subtitle language codes discovered for the video, so you can understand what’s supported before/after extraction. |
| `scrapedAt` | string | ISO timestamp for when the record was produced (useful for freshness checks and audits). |
| `message` | string | Present on failures; explains what went wrong for that specific URL. |

Export your full dataset as JSON, CSV, or Excel from the Apify dashboard.

***

### Setting It Up

Drop this into your `input.json` and you're ready to go:

```json
{
  "startUrls": [
    { "url": "https://www.tiktok.com/@somecreator/video/7364839201234567890" },
    { "url": "https://www.tiktok.com/@anothercreator/video/7364839201234567999" }
  ],
  "language": "en",
  "format": "text"
}
```

| Parameter | Required | What It Does |
|---|---|---|
| `startUrls` | ⬜ | Provide a list of objects containing TikTok `url` values to process. |
| ↳ `startUrls[].url` | ⬜ | The TikTok URL to extract subtitles from (used to build the run’s URL list). |
| `urls` | ⬜ | Alternative way to pass URLs directly (used if `startUrls` doesn’t produce any `url`s). |
| `language` | ⬜ | Preferred subtitle language code (used to select the best matching subtitle file; falls back to another available language if needed). |
| `format` | ⬜ | Output format: use `"text"` for cleaned caption text, or `"srt"` for a simplified SRT-like result. |
| `url` | ⬜ | Alternative single URL input (used if neither `startUrls` nor `urls` provide URLs). |

**Note:** If no URLs are provided through `startUrls`, `urls`, or `url`, the actor logs an error and stops.

***

### What It Does

This TikTok video transcript download tool extracts subtitles from each TikTok URL you provide and pushes a structured result for every processed video.

#### Pull subtitles for each provided TikTok URL

For every input URL, the actor attempts to extract subtitles and returns the cleaned caption content in the format you choose. If subtitles can’t be extracted, the record is still returned with `success: false` and a `message`.

#### Works with both subtitles and automatic captions

The actor collects subtitle sources from both `subtitles` and `automatic_captions` and combines them into a single pool of available subtitle tracks. That’s especially helpful when you’re trying to download TikTok captions from videos that rely on auto-generated captions.

#### Clean output you can use immediately

When `format` is `"text"`, it returns subtitles as cleaned plain text. When `format` is `"srt"`, it returns a simplified SRT-like output with timestamps and text, with HTML tags removed.

#### Language-aware selection (with fallback)

The actor uses your `language` preference to select the best match among `availableLanguages`. If your preferred language isn’t available, it automatically falls back to another available `.vtt` subtitle file.

#### Output designed for dataset workflows

Each result is pushed to the dataset as a JSON object containing `url`, `success`, `format`, `subtitle`, `availableLanguages`, and `scrapedAt` (and `message` on failure). This makes it easy to plug TikTok subtitle download tool outputs into analysis, transcription pipelines, or content workflows.

Overall, TikTok Subtitles Extractor - Download Captions from Any Video turns caption extraction into a repeatable dataset task—so you can extract text from TikTok captions without manual copy-pasting.

***

### Why TikTok Subtitles Extractor - Download Captions from Any Video?

There are plenty of ways to pull caption data from videos—here’s why TikTok Subtitles Extractor - Download Captions from Any Video stands out.

#### Subtitle language visibility up front

The actor returns `availableLanguages`, so you can see which tracks exist for the video. This helps you understand whether your preferred language will work before you build downstream processing based on the output.

#### Simple, reusable output formats

You can request `format: "text"` for clean caption text or `format: "srt"` for a simplified SRT-style transcript. This directly supports workflows like “download captions from TikTok URL” and “extract closed captions from video” without extra conversion steps.

#### Robust per-URL results (no all-or-nothing runs)

Even if one URL fails, you still get a dataset record for that URL with `success: false` and `message`. That means your batch keeps moving and your results are easier to audit than a single bulk scrape that fails silently.

***

### Real-World Use Cases

Here's how different teams put TikTok Subtitles Extractor - Download Captions from Any Video to work:

**Marketing Teams**\
A campaign manager gathers creative inspiration from multiple TikTok videos but needs captions for quick messaging analysis. They run the actor with a preferred `language` and `format: "text"` to get subtitle-ready transcript text, then copy it into their research doc to compare themes and hooks. The dataset output makes it easy to review results across many videos in one place.

**Content Localization Specialists**\
A localization producer extracts captions to speed up translation and caption timing checks for short-form video campaigns. They request `format: "srt"` to work from timestamped text blocks, then route the extracted subtitle content into their translation workflow. This turns “download TikTok captions” into a repeatable step for any TikTok caption downloader workflow.

**Freelance Researchers & Data Analysts**\
An analyst needs transcript text to run sentiment, keyword frequency, and narrative-structure analysis. They pull TikTok video transcript download results into a dataset, filter by `success`, and use `scrapedAt` for repeat runs. With `availableLanguages`, they can track what language tracks are present across their sample.

**Educators & Training Teams**\
A trainer curates examples of spoken language usage and needs transcripts for classroom materials. They extract subtitles from a list of TikTok URLs, store the cleaned text, and use it to build handouts or assignments. When captions are auto-generated, the actor still supports them, which improves coverage.

**Automation & Data Engineering Specialists**\
A developer wires the actor into a pipeline to automatically enrich video URLs with subtitle text. They trigger runs, collect dataset records programmatically, and push outputs into downstream systems for indexing or retrieval. The consistent JSON fields (`url`, `subtitle`, `availableLanguages`, `scrapedAt`, and `message` on failure) make integration straightforward.

***

### How to Run It

No code required. Here's how to get your first results in under 5 minutes:

1. **Open the actor on Apify**\
   Go to [console.apify.com](https://console.apify.com) and open the actor page for **TikTok Subtitles Extractor - Download Captions from Any Video**.

2. **Enter your inputs**\
   Add one or more TikTok URLs using `startUrls` (each item should include a `url`). Optionally set `language` and choose `format` as `"text"` or `"srt"`.

3. **Configure proxy settings (optional)**\
   If you have proxy preferences, set them using the actor’s proxy configuration input.

4. **Start the run and watch the live log**\
   Launch the actor and monitor progress as each URL is processed.

5. **Open the Dataset tab to see live results**\
   Each processed URL produces a JSON record with `success`, `subtitle`, `availableLanguages`, and `scrapedAt`.

6. **Export in your preferred format**\
   Download the dataset as JSON, CSV, or Excel from the Apify dashboard.

7. **Iterate with better language settings**\
   If you don’t see the captions you want, adjust the `language` input and rerun.

The whole setup takes under 5 minutes — results start appearing within seconds of launch.

***

### Export & Integration Options

Once your data is collected, TikTok Subtitles Extractor - Download Captions from Any Video fits directly into your existing workflow.

You can export your full dataset from the Apify dashboard as **JSON, CSV, or Excel**. For researchers and analysts, that makes it easy to load into spreadsheets or data tools right away.

For automation, you can use Apify’s programmatic access to pull results via the **API**, and you can connect the run into tools like **Zapier** or **Make** to push outputs downstream when the dataset updates. You can also set up **webhooks** and **scheduled runs** for repeating extraction tasks.

***

### Pricing

TikTok Subtitles Extractor - Download Captions from Any Video runs on Apify, which includes a **free tier** — no credit card needed to start. The free tier includes $5 platform credits on sign-up, which is typically enough for several real test runs. For heavier workloads, you can run pay-as-you-go billed per Actor compute unit (CU) with no monthly fee lock-in. For larger teams and frequent usage, check Apify’s plans on the pricing page.

Start free at [apify.com](https://apify.com) — scale up when you need to.

***

### Reliability & Limitations

| What We Handle | How |
|---|---|
| Subtitle track selection | Uses your `language` preference and falls back when it’s not available. |
| Per-URL outcomes | Each input URL yields a dataset record with `success` and either `subtitle` or `message`. |
| Output formatting | Produces either cleaned `text` or simplified `srt` depending on your `format` input. |
| Resilience for batch runs | Failures don’t block other URLs from being processed and pushed to the dataset. |

Limitations: The actor works with publicly accessible subtitle files available for each video and returns `success: false` with a `message` when extraction fails. This tool does not guarantee a subtitle track for every video, but it will still report what languages were available via `availableLanguages` when possible.

For enterprise-scale needs or custom configurations, reach out and we'll help.

***

### Frequently Asked Questions

#### Is there a free plan?

Yes. Apify offers a free tier with platform credits on sign-up, which is typically enough for several real test runs.

#### Do I need to log in or create an account on TikTok?

No. You only provide TikTok video URLs and the actor extracts subtitles for each URL and returns the result to your dataset.

#### How accurate is the extracted data?

Accuracy depends on what captions are available for each video. The actor extracts subtitles available to it for that video, then cleans or formats them according to your requested `format` (`text` or `srt`).

#### How many results can I get per run?

Your results depend on how many TikTok URLs you provide in `startUrls`, `urls`, or `url`. The actor processes each provided URL and pushes one dataset record per URL.

#### How fresh is the data?

The dataset includes `scrapedAt` for each record, so you can see exactly when the extraction happened during your run.

#### Is this legal? Does it comply with GDPR / CCPA?

The actor is intended to work with publicly available data that supports subtitle extraction for the provided videos. You’re responsible for using the output in compliance with GDPR, CCPA, platform Terms of Service, and any applicable local regulations.

#### Can I export to Google Sheets or Excel?

Yes. You can export your dataset as JSON, CSV, or Excel from the Apify dashboard, and then import it into Google Sheets or any other spreadsheet tool.

#### Can I schedule this to run automatically?

Yes. You can set up scheduled runs in Apify to automate recurring TikTok subtitle extraction using the same input schema.

#### Can I access results via the API?

Yes. You can pull run results programmatically using Apify’s API and use the dataset records returned by this actor.

#### What happens when the actor encounters an error?

When an error occurs for a specific URL, the actor still pushes a result record with `success: false`, includes a `message`, and sets `scrapedAt`. This helps you diagnose issues per video without losing the rest of your batch.

***

### Get Help & Use Responsibly

Got a question about TikTok Subtitles Extractor - Download Captions from Any Video or a feature you'd like added? Reach out at <dataforleads@gmail.com>. We’re happy to help with run setup and feature ideas like improved language handling or additional subtitle output formats.

This actor collects **publicly available data**. It does not access private accounts, login-gated pages, or password-protected content. You’re responsible for complying with GDPR, CCPA, platform ToS, and any applicable regulations when using the extracted captions. For data-removal requests, contact <dataforleads@gmail.com>. Use responsibly, ethically, and only for lawful purposes.

# Actor input Schema

## `urls` (type: `string`):

Enter urls

## `language` (type: `string`):

Enter language

## `startUrls` (type: `string`):

Enter startUrls

## `format` (type: `string`):

Enter format

## `url` (type: `string`):

Enter url

## Actor input object example

```json
{}
```

# 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("scrapebridge/tiktok-subtitles-extractor").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("scrapebridge/tiktok-subtitles-extractor").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 scrapebridge/tiktok-subtitles-extractor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapebridge/tiktok-subtitles-extractor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "TikTok Subtitles Extractor (Download Captions from Any Video)",
        "description": "TikTok Subtitles Extractor extracts subtitles and captions from TikTok videos at scale. Collect video text, transcripts, timestamps, usernames, hashtags, and metadata for content analysis, accessibility, keyword research, social media insights, and marketing research workflows.",
        "version": "0.1",
        "x-build-id": "zPVXa77rHI4fVlKsq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapebridge~tiktok-subtitles-extractor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapebridge-tiktok-subtitles-extractor",
                "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/scrapebridge~tiktok-subtitles-extractor/runs": {
            "post": {
                "operationId": "runs-sync-scrapebridge-tiktok-subtitles-extractor",
                "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/scrapebridge~tiktok-subtitles-extractor/run-sync": {
            "post": {
                "operationId": "run-sync-scrapebridge-tiktok-subtitles-extractor",
                "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": {
                    "urls": {
                        "title": "Urls",
                        "type": "string",
                        "description": "Enter urls"
                    },
                    "language": {
                        "title": "Language",
                        "type": "string",
                        "description": "Enter language"
                    },
                    "startUrls": {
                        "title": "Starturls",
                        "type": "string",
                        "description": "Enter startUrls"
                    },
                    "format": {
                        "title": "Format",
                        "type": "string",
                        "description": "Enter format"
                    },
                    "url": {
                        "title": "Url",
                        "type": "string",
                        "description": "Enter url"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
