# YouTube Search Results Scraper for SEO Data (`fetch_cat/youtube-search-results-scraper`) Actor

Export ranked public YouTube search results by keyword, including videos, channels, playlists, URLs, snippets, thumbnails, and visible metadata.

- **URL**: https://apify.com/fetch\_cat/youtube-search-results-scraper.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** Social media, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.02 / 1,000 result extracteds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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 Search Results Scraper for SEO Data

Export ranked public YouTube search results by keyword, including videos, channels, playlists, URLs, snippets, thumbnails, and visible metadata.

Use this actor to monitor YouTube rankings, discover creators, research competitor content, build prospect lists, and track what appears for important topics over time.

### What does YouTube Search Results Scraper do?

YouTube Search Results Scraper turns YouTube search pages into a clean dataset.

It accepts one or more search queries and returns ranked public search results.

Each row includes the query, rank, result type, title, URL, IDs, channel information, visible counts, snippets, thumbnails, and scrape time.

The actor is designed for public search results only.

It does not require a YouTube login.

### Who is it for?

- 📈 SEO teams tracking YouTube visibility for target keywords.
- 🎬 Content marketers researching topics, hooks, and competing videos.
- 🧑‍💼 Sales teams finding creators and channels in a niche.
- 🧪 Researchers collecting public search-result snapshots.
- 🧭 Agencies monitoring client and competitor rankings.
- 🛠️ Developers feeding YouTube discovery data into apps and dashboards.

### Why use it?

YouTube search results change quickly.

Manual checks are slow, hard to repeat, and difficult to compare across keywords.

This actor gives you repeatable exports that can be scheduled, joined with other datasets, and analyzed in spreadsheets or BI tools.

### What data can you extract?

| Field | Description |
| --- | --- |
| `query` | Search keyword that produced the row |
| `rank` | Rank within that query |
| `resultType` | Video, channel, or playlist |
| `title` | Visible result title |
| `url` | Public YouTube URL |
| `videoId` | Video ID when available |
| `channelId` | Channel ID when available |
| `playlistId` | Playlist ID when available |
| `channelName` | Creator or channel name |
| `channelUrl` | Public channel URL |
| `publishedTimeText` | Visible publish time text |
| `durationText` | Video duration |
| `viewCountText` | Visible view count |
| `subscriberCountText` | Visible subscriber count for channel rows |
| `videoCountText` | Visible video count for channel or playlist rows |
| `descriptionSnippet` | Search result snippet |
| `thumbnailUrl` | Best available thumbnail URL |
| `scrapedAt` | ISO timestamp of the scrape |

### How much does it cost to scrape YouTube search results?

The actor uses pay-per-event pricing.

You pay a small $0.005 run start fee and then a per-result fee for saved search results.

The BRONZE per-result price is $0.000034608, or about $0.034608 per 1,000 saved results before platform discounts and tier changes.

Small tests with 10-25 results are inexpensive.

Large monitoring jobs can lower the effective price through volume tiers.

### How to scrape YouTube search results

1. Open the actor on Apify.
2. Enter one or more YouTube search queries.
3. Choose how many results to save per query.
4. Optionally select only videos, channels, or playlists.
5. Run the actor.
6. Download the dataset as JSON, CSV, Excel, XML, or RSS.

### Input

The main input is `queries`.

Add each keyword or phrase as a separate row.

Set `maxResultsPerQuery` to control volume.

Use `resultType` when you only need videos, channels, or playlists.

Use the advanced `sp` field only if you know YouTube filter tokens and want to copy a filter from a YouTube search URL.

### Example input

```json
{
  "queries": [
    "apify web scraping",
    "youtube data analysis"
  ],
  "maxResultsPerQuery": 15,
  "resultType": "all",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
````

### Output

The actor saves results to the default dataset.

Each row is one public YouTube search result.

Ranks are assigned per query after your selected result-type filter is applied.

### Example output

```json
{
  "query": "apify web scraping",
  "rank": 1,
  "resultType": "video",
  "title": "Web scraping tutorial",
  "url": "https://www.youtube.com/watch?v=example",
  "videoId": "example",
  "channelId": "UCexample",
  "playlistId": null,
  "channelName": "Example Channel",
  "channelUrl": "https://www.youtube.com/@example",
  "publishedTimeText": "2 months ago",
  "durationText": "12:34",
  "viewCountText": "10K views",
  "subscriberCountText": null,
  "videoCountText": null,
  "descriptionSnippet": "A visible search result snippet...",
  "thumbnailUrl": "https://i.ytimg.com/vi/example/hq720.jpg",
  "scrapedAt": "2026-06-16T00:00:00.000Z"
}
```

### Tips for better results

- Use exact phrases for brand and competitor monitoring.
- Run separate queries for each language or market term.
- Keep first runs small while validating your workflow.
- Schedule repeated runs to compare ranking changes over time.
- Export CSV for spreadsheet review.
- Export JSON when feeding data into an app.

### Search filters

The actor supports a simple result type filter.

Choose all results, videos, channels, or playlists.

Advanced users can also provide a YouTube `sp` filter token copied from a YouTube URL.

If you do not know what `sp` means, leave it empty.

### Proxy options

The actor can run with Apify Proxy.

Datacenter proxy is usually the cheapest first option.

Residential proxy should be used only if your run is blocked or returns fewer public results than expected.

### Integrations

You can connect results to:

- Google Sheets for keyword monitoring.
- Airtable for creator research workflows.
- BI tools for rank tracking dashboards.
- CRM systems for channel prospecting.
- Data warehouses for longitudinal trend analysis.
- Webhooks for automated alerts when new results appear.

### API usage

#### Node.js

```js
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/youtube-search-results-scraper').call({
  queries: ['apify web scraping'],
  maxResultsPerQuery: 15,
  resultType: 'all'
});
console.log(run.defaultDatasetId);
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('fetch_cat/youtube-search-results-scraper').call(run_input={
    'queries': ['apify web scraping'],
    'maxResultsPerQuery': 15,
    'resultType': 'all',
})
print(run['defaultDatasetId'])
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~youtube-search-results-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"queries":["apify web scraping"],"maxResultsPerQuery":15,"resultType":"all"}'
```

### MCP usage

Use the Apify MCP server to run this actor from Claude tools.

MCP URL pattern:

```text
https://mcp.apify.com/?tools=fetch_cat/youtube-search-results-scraper
```

Set up from Claude Code:

```bash
claude mcp add apify-youtube-search https://mcp.apify.com/?tools=fetch_cat/youtube-search-results-scraper
```

Example MCP JSON configuration:

```json
{
  "mcpServers": {
    "apify-youtube-search": {
      "url": "https://mcp.apify.com/?tools=fetch_cat/youtube-search-results-scraper"
    }
  }
}
```

Example prompts:

- "Run the YouTube Search Results Scraper for `AI automation tutorial` and summarize the top channels."
- "Collect 50 video results for `web scraping tutorial` and list recurring title patterns."
- "Compare YouTube search results for two competitor brand terms."

### Track YouTube search rankings by keyword

Use this actor to collect repeatable public YouTube search snapshots for brand, competitor, and topic keywords. Each result includes the query, rank, result type, URL, title, thumbnail, and visible metadata so SEO teams can compare ranking changes over time without claiming fixed or official positions.

### Find YouTube videos, channels, and playlists for research

Set `resultType` to videos, channels, playlists, or all results to match the discovery job. Export content ideas, creator prospects, playlist collections, and public YouTube SERP data for market research, sales lists, or editorial planning.

### YouTube Search Results API, MCP, and scheduled monitoring

Run searches from the Console, Apify API, SDKs, schedules, or Apify MCP. Scheduled snapshots help automate keyword monitoring, while API and MCP access let AI agents and dashboards request fresh YouTube search results on demand.

### Scheduling

Schedule the actor daily, weekly, or monthly to monitor ranking changes.

Use the same query list each time for consistent comparisons.

Store run timestamps with exported rows for trend analysis.

### Data quality notes

YouTube can personalize, localize, or reorder public results.

The actor records the visible public text returned during the run.

Some fields are optional because YouTube displays different metadata for videos, channels, playlists, shorts, live streams, and upcoming premieres.

### Limits

The actor focuses on search result pages.

It does not visit every video detail page.

It does not extract comments, transcripts, or full channel video catalogs.

Use related actors for those workflows.

### FAQ

#### Can I use this as a YouTube search API?

Yes. Run the actor through the Apify API, SDKs, schedules, or MCP and export ranked public search results from the dataset.

#### Can I track YouTube SEO rankings over time?

Yes. Schedule repeated runs for the same keyword list and compare `query`, `rank`, `resultType`, and URL fields. YouTube results can vary, so treat the data as public snapshots.

#### Can I return only videos, channels, or playlists?

Yes. Set `resultType` to videos, channels, playlists, or all results depending on your research workflow.

#### Does this require a YouTube login or API key?

No. The actor is designed for public YouTube search pages visible without login.

#### Can I scrape YouTube search results without logging in?

Yes. This actor is built for public YouTube search results that are visible without a YouTube account.

#### Can I filter to videos only?

Yes. Set `resultType` to `videos` to save only video rows.

#### Does it scrape comments or transcripts?

No. Use the related YouTube comments or transcript actors for those workflows.

### Troubleshooting

#### Why did I get fewer results than requested?

YouTube may return fewer public results for a narrow query or for a selected result type.

Try a broader keyword or set `resultType` to `all`.

#### Why are some fields empty?

Not every YouTube result type displays the same metadata.

For example, channel rows may have subscriber text but no duration, while playlist rows may have video counts but no view count.

#### What if a run is blocked?

Enable Apify Proxy or switch proxy groups.

Keep the input small while testing proxy settings.

### Legality

This actor extracts publicly visible YouTube search result information.

You are responsible for using the data lawfully and respecting applicable terms, privacy rules, and local regulations.

Do not use scraped data for spam, harassment, or unlawful profiling.

### Related scrapers

- [YouTube Channel Videos Scraper](https://apify.com/fetch_cat/youtube-channel-videos-scraper)
- [YouTube Video Details Scraper](https://apify.com/fetch_cat/youtube-video-details-scraper)
- [YouTube Playlist Videos Scraper](https://apify.com/fetch_cat/youtube-playlist-videos-scraper)
- [YouTube Transcript Scraper](https://apify.com/fetch_cat/youtube-transcript-scraper)
- [YouTube Comments Scraper](https://apify.com/fetch_cat/youtube-comments-scraper)

### Changelog

#### 0.1

Initial version for public YouTube search results.

### Support

If a query returns unexpected results, include the actor run URL and the input you used when requesting help.

That makes it easier to reproduce and diagnose the issue.

# Actor input Schema

## `queries` (type: `array`):

YouTube keywords or phrases to search, one per row.

## `maxResultsPerQuery` (type: `integer`):

How many matching YouTube search results to save for each query.

## `resultType` (type: `string`):

Save all supported search results, or only videos, channels, or playlists.

## `sp` (type: `string`):

Optional advanced YouTube search filter token copied from a filtered YouTube results URL. Leave empty for standard relevance search.

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

Optional Apify Proxy settings. Datacenter proxies are usually enough; use residential only if your run is blocked.

## Actor input object example

```json
{
  "queries": [
    "apify web scraping",
    "youtube data analysis"
  ],
  "maxResultsPerQuery": 15,
  "resultType": "all",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "queries": [
        "apify web scraping",
        "youtube data analysis"
    ],
    "maxResultsPerQuery": 15,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": []
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/youtube-search-results-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 = {
    "queries": [
        "apify web scraping",
        "youtube data analysis",
    ],
    "maxResultsPerQuery": 15,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": [],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/youtube-search-results-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 '{
  "queries": [
    "apify web scraping",
    "youtube data analysis"
  ],
  "maxResultsPerQuery": 15,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}' |
apify call fetch_cat/youtube-search-results-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "YouTube Search Results Scraper for SEO Data",
        "description": "Export ranked public YouTube search results by keyword, including videos, channels, playlists, URLs, snippets, thumbnails, and visible metadata.",
        "version": "0.1",
        "x-build-id": "4f2uCHh1EYyaVIlvN"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fetch_cat~youtube-search-results-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fetch_cat-youtube-search-results-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/fetch_cat~youtube-search-results-scraper/runs": {
            "post": {
                "operationId": "runs-sync-fetch_cat-youtube-search-results-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/fetch_cat~youtube-search-results-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-fetch_cat-youtube-search-results-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": [
                    "queries"
                ],
                "properties": {
                    "queries": {
                        "title": "Search queries",
                        "minItems": 1,
                        "type": "array",
                        "description": "YouTube keywords or phrases to search, one per row.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResultsPerQuery": {
                        "title": "Maximum results per query",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "How many matching YouTube search results to save for each query.",
                        "default": 25
                    },
                    "resultType": {
                        "title": "Result type",
                        "enum": [
                            "all",
                            "videos",
                            "channels",
                            "playlists"
                        ],
                        "type": "string",
                        "description": "Save all supported search results, or only videos, channels, or playlists.",
                        "default": "all"
                    },
                    "sp": {
                        "title": "YouTube filter parameter (sp)",
                        "type": "string",
                        "description": "Optional advanced YouTube search filter token copied from a filtered YouTube results URL. Leave empty for standard relevance search."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional Apify Proxy settings. Datacenter proxies are usually enough; use residential only if your run is blocked."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
