# Youtube Video Details Scraper (`scrapevanta/youtube-video-details-scraper`) Actor

YouTube Video Details Scraper extracts video titles, descriptions, tags, view counts, likes, comments, upload dates, channel information, and more from YouTube videos. Ideal for SEO analysis, competitor research, content tracking, market research, and data-driven decision-making.

- **URL**: https://apify.com/scrapevanta/youtube-video-details-scraper.md
- **Developed by:** [ScrapeVanta](https://apify.com/scrapevanta) (community)
- **Categories:** Videos, SEO tools, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.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

### YouTube Video Details Scraper 🎯
Scraping YouTube video stats and transcripts one link at a time is slow—and you end up stitching together data from multiple tools. **YouTube Video Details Scraper** pulls YouTube video metadata (views, likes, comment count, duration, language, live status, and more) and full transcripts with timestamps in one run. If you need a YouTube metadata scraper, a YouTube video information extractor, or a YouTube video stats scraper, this actor is built for you. It’s ideal for marketers, data analysts, researchers, and anyone who wants structured YouTube video details fast—without manual copy-paste. In practice, you can process batches of video URLs and get results written to your dataset as each video finishes—often within seconds of launch.

---

### See the Data: Sample Output
Here’s a real record from a single run:

```json
{
  "type": "video",
  "video_id": "dQw4w9WgXcQ",
  "title": "Rick Astley - Never Gonna Give You Up (Official Music Video)",
  "description": "Watch this video on YouTube...\n#music #pop",
  "channel_id": "UCdQDQ...",
  "channel_name": "RickAstleyVEVO",
  "published_date": "2009-10-24",
  "duration_seconds": 213,
  "views": 1000000000,
  "likes": 10000000,
  "comment_count": 123456,
  "tags": ["music", "pop"],
  "thumbnails": { "default": "https://example.com/thumb.jpg" },
  "channel": {
    "id": "UCdQDQ...",
    "name": "RickAstleyVEVO",
    "handle": "@RickAstleyVEVO",
    "url": "https://www.youtube.com/channel/UCdQDQ...",
    "subscriberCount": "1234567 subscribers",
    "logo": "https://example.com/logo.jpg",
    "badges": ["VEVO"]
  },
  "transcript": [
    { "start": "0.000", "dur": "1.234", "text": "Never gonna give you up..." }
  ],
  "category": "Music",
  "language": "en",
  "live_status": "not_live",
  "engagement_rate": 0.0112,
  "hashtags": ["music", "pop"],
  "upload_type": "normal",
  "resolution": "640x360",
  "success": true,
  "inputUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}
````

| Field | Type | What It Tells You |
|---|---|---|
| `video_id` | string (nullable) | The unique identifier for the YouTube video, useful for joins/deduping. |
| `title` | string (nullable) | The video title you can use directly in reports and dashboards. |
| `channel_name` | string (nullable) | Lets you group performance by creator/channel. |
| `published_date` | string (nullable) | Helps you analyze trends by time (launch dates, seasonality). |
| `views` | number | The current view count for impact and ranking. |
| `likes` | number | Social proof metric for engagement comparisons. |
| `comment_count` | number | A strong proxy for discussion and audience interest. |
| `duration_seconds` | number | Standardized runtime so you can compare like-for-like. |
| `category` | string | A quick content taxonomy label (defaults to `Music`). |
| `language` | string | Language label used for transcript selection and filtering. |
| `live_status` | string | Useful to separate live streams from standard uploads. |
| `engagement_rate` | number | A simple engagement ratio derived from likes and comments vs views. |
| `transcript` | array | Timestamped transcript segments you can use for NLP, search, or summaries. |
| `success` | boolean | Indicates whether the actor successfully identified a `video_id` for the input 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.youtube.com/watch?v=dQw4w9WgXcQ" },
    "https://www.youtube.com/watch?v=3JZ_D3ELwOQ"
  ]
}
```

| Parameter | Required | What It Does |
|---|---|---|
| `startUrls` | ✅ | Provide a list of YouTube video URLs to scrape. Each URL becomes a result record in the dataset (including transcript data when available). |

***

### What It Does

This actor scrapes YouTube video details and writes structured results to your Apify dataset, including transcript segments with timestamps.

#### Extracts YouTube video metadata (fast, structured)

For every URL in `startUrls`, it outputs key YouTube video metadata like `views`, `likes`, `comment_count`, `duration_seconds`, `category`, `language`, and `live_status`. It also includes `channel_name`, `channel_id`, and a `channel` object with `id`, `name`, `handle`, `url`, and more—so you can analyze performance by creator without extra lookups.

#### Adds transcript data with timestamps

Alongside the stats, it fetches the transcript and stores it in `transcript` as an array of segments with `start`, `dur`, and `text`. This makes the YouTube transcript and metadata scraper workflow useful for search, sentiment, topic modeling, and content QA.

#### Clean output that’s ready for analysis

The YouTube video details extraction tool returns consistent JSON objects that include a direct link back to your input via `inputUrl`. You also get helpful derived fields like `engagement_rate` and `hashtags` parsed from the video `description`.

#### Handles success/failure clearly

Each output record includes `success` to indicate whether a `video_id` was successfully identified for the input URL. Even when a video can’t be fully resolved, you still receive a structured record instead of nothing—so your pipeline won’t break.

#### Built for batch scraping with reliability in mind

You can run this YouTube video stats scraper across multiple video URLs in a single actor run. It includes resilience logic for network requests and supports residential proxy support for more dependable scraping at scale—so you can focus on analysis, not retry loops.

Overall, the YouTube Video Details Scraper turns YouTube URLs into analytics-ready metadata and transcript data in one exportable dataset.

***

### Why YouTube Video Details Scraper?

There are plenty of ways to pull data from YouTube—here’s why YouTube Video Details Scraper stands out.

#### One run, metadata + transcript together

Instead of splitting work between a YouTube video information extractor (stats/metadata) and a separate transcript tool, this actor produces both in the same dataset record. That means less data wrangling and fewer mismatched versions of “the same video.”

#### Output designed for downstream use

The YouTube channel video details scraper use case is smoother because the output includes `channel` details and normalized identifiers like `video_id` and `channel_id`. Fields like `published_date`, `duration_seconds`, `engagement_rate`, and `hashtags` are already in the record, so analysts can start modeling immediately.

#### Resilient batch processing with clear success signals

If a request fails or a video can’t be resolved cleanly, you still get a record with `success` set appropriately. That makes it easier to run scheduled batches and keep your ETL stable—no manual babysitting required.

***

### Real-World Use Cases

Here’s how different teams put YouTube Video Details Scraper to work:

**Marketing Analysts**\
A team running weekly competitive tracking exports video stats and transcript segments for a list of competitor videos. They track engagement changes over time using `views`, `likes`, `comment_count`, and `engagement_rate`, then validate messaging themes directly from transcript `text`.

**Research Teams & Data Scientists**\
A researcher needs YouTube video information extractor outputs to run NLP on spoken content across multiple uploads. They build a corpus by combining metadata (like `category`, `language`, `published_date`) with timestamped transcript segments for precise event-level analysis.

**Sales and Partnership Teams**\
A partnerships manager maintains a shortlist of creators and wants more than follower counts—they want objective video performance and content context. With YouTube video details scraper results, they can quickly compare engagement signals and review transcript snippets before outreach.

**Content Ops & QA Specialists**\
An ops team audits whether a channel’s content strategy matches audience interests. They scrape multiple videos, analyze the `description`-derived `hashtags`, and use transcript timestamps to spot recurring themes and pacing patterns.

**Automation Developers**\
A developer integrates the actor into a pipeline that refreshes video records from a stored URL list. They rely on consistent JSON output fields like `inputUrl`, `video_id`, and `transcript` so downstream jobs can merge, index, and alert without custom parsing for each run.

***

### 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 find the YouTube Video Details Scraper actor page.
2. **Enter your inputs** — provide your YouTube video URLs in `startUrls` (either as strings or objects with a `url` field).
3. **Configure proxy settings (if needed)** — enable residential proxy support when you expect larger batches or frequent re-runs.
4. **Start the run** — launch the actor and watch the live log for progress.
5. **Open the Dataset tab** — results are pushed as each video completes, so you can start reviewing immediately.
6. **Export your data** — download JSON, CSV, or Excel from the dataset once your run is done.
7. **Repeat for new URLs** — run again with an updated `startUrls` list to refresh metadata and transcript content.

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

***

### Export & Integration Options

Once your data is collected, YouTube Video Details Scraper fits directly into your existing workflow.

You can export your dataset in **JSON, CSV, or Excel** from the Apify dashboard. This is ideal for analysts who want a ready-to-import file immediately after a YouTube URL to metadata scraper run.

For integrations, you can pull results programmatically via the **Apify API** and also automate downstream steps with **webhooks** and no-code tools like **Zapier / Make** (based on how your project is set up). If you want continuous updates, you can run the actor on a **scheduled** basis using Apify’s scheduling capabilities.

***

### Pricing

YouTube Video Details Scraper runs on Apify, which includes a **free tier** — no credit card needed to start. Free tier provides $5 platform credits on sign-up, enough for several real test runs. For ongoing work, runs are billed per Actor compute unit (CU) with no monthly fee lock-in. Start free at [apify.com](https://apify.com) — scale up when you need to.

***

### Reliability & Limitations

| What We Handle | How |
|---|---|
| Rate-limit and network hiccups | Built-in resilience with retries for requests |
| More dependable runs at scale | Residential proxy support |
| Incomplete extraction cases | Returns structured output with `success` to indicate whether `video_id` was resolved |
| Long transcripts | Transcript is returned as timestamped segments in `transcript` |
| Batch URL processing | Processes multiple `startUrls` in a single actor run |

Limitations: this actor works with publicly available YouTube pages and transcript sources; some videos may not have accessible transcripts for the requested `language_preference` value. Private, login-gated, or otherwise restricted content is not supported.

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

***

### Frequently Asked Questions

#### Is there a free plan?

Yes. Apify provides a free tier with monthly usage credits, so you can test YouTube Video Details Scraper before scaling up.

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

No login to YouTube is required for using this actor. It scrapes publicly available information using the URLs you provide in `startUrls`.

#### How accurate is the extracted data?

It extracts structured video metadata fields such as `views`, `likes`, `comment_count`, `duration_seconds`, and `published_date`, and it also provides timestamped transcript segments in `transcript`. Accuracy depends on what’s available on the public page and whether transcript sources can be retrieved.

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

Your results count corresponds to the number of URLs you include in `startUrls`. If you add more URLs, you’ll get more records pushed to the dataset as each video is processed.

#### How fresh is the data?

The data is captured at run time. If you rerun with the same URLs later, you should expect updated stats like `views` and engagement.

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

The actor is intended to work with **publicly available data** from YouTube. You’re responsible for ensuring your usage complies with GDPR, CCPA, and any applicable platform terms and regulations.

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

Yes. You can export from the Apify dashboard as JSON, CSV, or Excel, then import into Google Sheets or other tools that accept those formats.

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

Yes. You can schedule runs on Apify so your YouTube Video Details Scraper data stays up to date without manual launches.

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

Yes. After the run, you can access the dataset results programmatically via the Apify API using the standard Apify workflow.

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

You still receive structured output records when possible. The result record includes `success` to indicate whether `video_id` was resolved for the input URL, which makes error handling easier for downstream pipelines.

***

### Get Help & Use Responsibly

Got a question about YouTube Video Details Scraper or a feature you'd like added? Reach out at <dataforleads@gmail.com> and we’ll help. We’re happy to discuss improvements like better transcript handling or additional export-friendly fields.

**Disclaimer:** This actor uses **publicly available data** and does not access private accounts, login-gated pages, or password-protected content. You are responsible for complying with GDPR, CCPA, and any applicable platform terms and regulations. For data removal requests, contact <dataforleads@gmail.com>. Use responsibly, ethically, and only for lawful purposes.

# Actor input Schema

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

List of YouTube video URLs to scrape.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
    }
  ]
}
```

# 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://www.youtube.com/watch?v=dQw4w9WgXcQ"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapevanta/youtube-video-details-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://www.youtube.com/watch?v=dQw4w9WgXcQ" }] }

# Run the Actor and wait for it to finish
run = client.actor("scrapevanta/youtube-video-details-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://www.youtube.com/watch?v=dQw4w9WgXcQ"
    }
  ]
}' |
apify call scrapevanta/youtube-video-details-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Youtube Video Details Scraper",
        "description": "YouTube Video Details Scraper extracts video titles, descriptions, tags, view counts, likes, comments, upload dates, channel information, and more from YouTube videos. Ideal for SEO analysis, competitor research, content tracking, market research, and data-driven decision-making.",
        "version": "0.1",
        "x-build-id": "KyJgtASD1b148Bo6A"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapevanta~youtube-video-details-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapevanta-youtube-video-details-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/scrapevanta~youtube-video-details-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapevanta-youtube-video-details-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/scrapevanta~youtube-video-details-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapevanta-youtube-video-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "YouTube Video URLs",
                        "type": "array",
                        "description": "List of YouTube video URLs to scrape.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
