# Reddit Post Harvester (`saregaa/redit-scraper`) Actor

Scrape posts from any subreddit without authentication. Fetches titles, scores, authors, flairs, thumbnails and URLs via RSS + JSON API. Supports hot/new/top/rising sorting, time filters, and proxy rotation to bypass Reddit blocks.

- **URL**: https://apify.com/saregaa/redit-scraper.md
- **Developed by:** [Saregaa](https://apify.com/saregaa) (community)
- **Categories:** Social media, Other, Automation
- **Stats:** 4 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

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

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Reddit RSS Scraper | Extract Subreddit Posts, Scores & Metadata Without an API Key

Extract posts from any public subreddit without an API key, OAuth tokens, or a browser. Built for marketers, researchers, data engineers, and developers who need fresh Reddit post data on a schedule — without managing API credentials.

The actor pulls post titles, URLs, scores, authors, flairs, comment counts, and timestamps from any combination of subreddits using Reddit's public RSS and JSON feeds, with Chrome TLS fingerprint impersonation to avoid blocks.

✅ No Reddit API key or OAuth required

✅ Scrape multiple subreddits in a single run

✅ 4 sort modes: `hot`, `new`, `top`, `rising`

✅ Pagination beyond the 25-post RSS limit via JSON cursor

✅ Export results as JSON, CSV, or Excel

✅ Full API and scheduling support via Apify

---

### What Data Can Be Extracted?

| Field            | Type        | Description                                            |
| ---------------- | ----------- | ------------------------------------------------------ |
| `id`           | `string`  | Reddit post ID (e.g.`1dxyz42`)                       |
| `title`        | `string`  | Full post title                                        |
| `permalink`    | `string`  | Full Reddit URL to the post                            |
| `url`          | `string`  | External URL for link posts; Reddit URL for self posts |
| `subreddit`    | `string`  | Subreddit name                                         |
| `author`       | `string`  | Author username                                        |
| `score`        | `integer` | Net upvotes at scrape time                             |
| `upvote_ratio` | `float`   | Upvote ratio 0.0–1.0 (JSON pages only)                |
| `num_comments` | `integer` | Total comment count (JSON pages only)                  |
| `flair`        | `string`  | Post flair label, or `null`                          |
| `post_type`    | `string`  | `self`(text post) or `link`                        |
| `thumbnail`    | `string`  | Thumbnail URL, or `null`                             |
| `created_at`   | `string`  | Post creation time (ISO 8601 UTC)                      |
| `scraped_at`   | `string`  | Scrape time (ISO 8601 UTC)                             |

> **Note:** `upvote_ratio` and `num_comments` are only available from the JSON API (page 2+). The first 25 posts fetched via RSS will have `null` for these fields. Set `maxPostsPerSubreddit` > 25 to backfill them for all posts.

---

### Features

* **No credentials needed** — accesses only public, anonymous Reddit feeds
* **Multi-subreddit** — scrape dozens of subreddits in one run
* **4 sort modes** — `hot`, `new`, `top`, `rising`
* **Pagination** — goes beyond the RSS 25-post limit via JSON cursor (up to ~1,000 posts per subreddit)
* **Time filter** — restrict `top` posts to `hour`, `day`, `week`, `month`, `year`, or `all`
* **TLS fingerprint spoofing** — `curl_cffi` impersonates Chrome 120, bypassing Reddit's fingerprint-based blocks
* **Residential proxy support** — plug in Apify Proxy for high-volume runs
* **Export to JSON, CSV, or Excel** — download directly from the Apify Output tab
* **Schedule runs** — automate hourly, daily, or weekly collection
* **API access** — integrate with Zapier, Make, n8n, or your own pipeline

---

### How to Scrape Reddit Data — Step by Step

1. Open the actor in [Apify Console](https://console.apify.com/)
2. Enter one or more subreddit names (e.g. `MachineLearning`, `LocalLLaMA`). The `r/` prefix is optional.
3. Choose a sort order (`hot`, `new`, `top`, `rising`), set the max posts per subreddit, and optionally set a time filter for `top`
4. Click **Start**
5. Download results as JSON, CSV, or Excel from the **Output** tab, or access them via the Apify API

---

### Input Example

```json
{
    "subreddits": ["technology", "MachineLearning", "LocalLLaMA"],
    "sort": "top",
    "maxPostsPerSubreddit": 50,
    "timeFilter": "week",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
````

#### Input Parameters

| Parameter                | Type         | Default            | Description                                                                     |
| ------------------------ | ------------ | ------------------ | ------------------------------------------------------------------------------- |
| `subreddits`           | `string[]` | `["technology"]` | Subreddit names — with or without `r/`prefix                                 |
| `sort`                 | `string`   | `hot`            | Sort order:`hot`,`new`,`top`,`rising`                                   |
| `maxPostsPerSubreddit` | `integer`  | `25`             | Posts to collect per subreddit (1–100)                                         |
| `timeFilter`           | `string`   | `day`            | Time range for `top`sort:`hour`,`day`,`week`,`month`,`year`,`all` |
| `proxyConfiguration`   | `object`   | —                 | Apify Proxy config. Residential recommended for high-volume runs                |

***

### Output Example

Each record in the dataset represents one Reddit post:

```json
{
    "id": "1dxyz42",
    "title": "New open-source model beats GPT-4 on coding benchmarks",
    "permalink": "https://www.reddit.com/r/MachineLearning/comments/1dxyz42/new_open_source_model/",
    "url": "https://arxiv.org/abs/2406.12345",
    "subreddit": "MachineLearning",
    "author": "ml_researcher",
    "score": 4821,
    "upvote_ratio": 0.96,
    "num_comments": 312,
    "flair": "Research",
    "post_type": "link",
    "thumbnail": "https://b.thumbs.redditmedia.com/abc123.jpg",
    "created_at": "2026-06-09T10:34:21+00:00",
    "scraped_at": "2026-06-09T11:00:03+00:00"
}
```

***

### Use Cases

#### Trend Monitoring

Track what's gaining traction in your niche in real time. Schedule the actor to run hourly on subreddits like `entrepreneur`, `startups`, or `SaaS` to power a trend dashboard or Slack alert.

```json
{
    "subreddits": ["entrepreneur", "startups", "SaaS"],
    "sort": "hot",
    "maxPostsPerSubreddit": 25
}
```

#### Weekly Top Posts Digest

Pull the best content from multiple communities for a newsletter or internal report.

```json
{
    "subreddits": ["MachineLearning", "LocalLLaMA", "datascience"],
    "sort": "top",
    "timeFilter": "week",
    "maxPostsPerSubreddit": 100
}
```

#### NLP Training Data Collection

Collect high-quality community text at scale. Filter by `score >= 500` post-processing to keep only community-validated content.

```json
{
    "subreddits": ["AskReddit", "explainlikeimfive", "changemyview"],
    "sort": "top",
    "timeFilter": "year",
    "maxPostsPerSubreddit": 100
}
```

#### Competitor & Community Research

Monitor conversations in competitor product subreddits. Track sentiment, common complaints, and feature requests over time without manual browsing.

#### Content Ideation

Identify top-performing post titles and topics in your niche. Use the data to inform blog posts, video ideas, or social media content calendars.

#### Academic & Social Research

Gather timestamped post data for studying online community behavior, topic evolution, or information spread over time.

***

### API Access & Automation

All results are accessible via the Apify API. Trigger runs, poll for results, and stream dataset items into your own pipeline.

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/YOUR_USERNAME~reddit-rss-scraper/runs?token=<YOUR_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "subreddits": ["python"],
    "sort": "hot",
    "maxPostsPerSubreddit": 25
  }'
```

Or use the Python SDK:

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")

run = client.actor("YOUR_USERNAME/reddit-rss-scraper").call(run_input={
    "subreddits": ["MachineLearning", "LocalLLaMA"],
    "sort": "top",
    "maxPostsPerSubreddit": 50,
    "timeFilter": "week"
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["title"], "|", item["score"])
```

Results integrate natively with  **Zapier** ,  **Make** , and **n8n** for no-code automation.

***

### Pricing

This actor runs on Apify's pay-per-use infrastructure. Costs depend on compute time and the number of requests made.

| Volume                 | Subreddits | Posts Each | Estimated Cost        |
| ---------------------- | ---------- | ---------- | --------------------- |
| Small run              | 3          | 25         | < $0.05               |
| Medium run             | 10         | 50         | ~$0.10–$0.20         |
| Large run              | 20         | 100        | ~$0.30–$0.60         |
| With residential proxy | Any        | Any        | Add proxy usage costs |

For most runs under 200 posts across a few subreddits, no proxy is needed — the TLS fingerprint spoofing handles standard loads without additional cost.

***

### Why Use This Instead of the Reddit Official API?

| Feature          | Reddit RSS Scraper         | Reddit Official API              |
| ---------------- | -------------------------- | -------------------------------- |
| API key required | ❌ No                      | ✅ Yes — OAuth app registration |
| Setup time       | ~2 minutes                 | 15–30 minutes                   |
| Rate limits      | Generous (curl\_cffi)       | 60 req/min (free tier)           |
| Pagination       | Up to ~1,000 posts         | Up to ~1,000 posts               |
| Export formats   | JSON, CSV, Excel           | JSON only                        |
| Scheduling       | Built-in via Apify         | Manual implementation            |
| Proxy support    | Apify Residential built-in | Not applicable                   |

***

### FAQ

**Is scraping Reddit legal?**

This actor accesses only publicly available Reddit content visible to any anonymous visitor. It does not bypass authentication, CAPTCHAs, or access private data. Web scraping of public data is generally permitted, as affirmed by the *hiQ Labs v. LinkedIn* ruling. This tool is not affiliated with, endorsed by, or sponsored by Reddit Inc.

**Does this actor require proxies?**

For most runs (200 posts or fewer across a few subreddits), the actor works without any proxy thanks to `curl_cffi` Chrome TLS impersonation. For high-volume or scheduled runs, Apify Residential proxies are recommended to avoid 403 blocks.

**Can I schedule runs?**

Yes. Apify has built-in scheduling. You can set the actor to run hourly, daily, weekly, or on any cron schedule from the Apify Console.

**Can I export results to CSV or Excel?**

Yes. Once a run completes, download results as JSON, CSV, or Excel directly from the Output tab in Apify Console.

**How many posts can I scrape per subreddit?**

Up to approximately 1,000 posts. Reddit's unauthenticated JSON API stops paginating after around 1,000 items. The first 25 posts are fetched via RSS; subsequent pages use the JSON API with cursor pagination.

**Does it work on all subreddits?**

It works on any public subreddit. Private or restricted subreddits that require a logged-in account are not accessible.

**What sort modes are supported?**

`hot`, `new`, `top`, and `rising`. For `top`, you can also set a time filter: `hour`, `day`, `week`, `month`, `year`, or `all`.

**Do `upvote_ratio` and `num_comments` get populated for all posts?**

These fields are only available from the JSON API, not from RSS. The first 25 posts will have `null` for these fields unless `maxPostsPerSubreddit` is set above 25, which triggers JSON pagination and backfills them.

**What happens if Reddit changes its feed format?**

Open an issue on the Issues tab. The actor is maintained and will be updated to reflect structural changes.

**Can I use this through the API without Apify Console?**

Yes. The actor exposes a full REST API. You can trigger runs, poll status, and fetch dataset items programmatically using the Apify REST API or Python SDK.

***

### How to Scrape Reddit Data Without an API Key

Reddit's official API requires OAuth registration, credential management, and enforces strict rate limits. This actor uses Reddit's public RSS and JSON feeds instead — available to any anonymous visitor. By combining `curl_cffi` Chrome TLS impersonation with cursor-based JSON pagination, it reliably collects up to 1,000 posts per subreddit without any API key setup.

### Reddit API Alternative for Bulk Data Collection

If you need Reddit post data for research, monitoring, or data pipelines, the official Reddit API is often overkill. This actor provides a simpler alternative: paste in subreddit names, click Start, and get structured data ready to download or query via API.

### How to Export Reddit Data to CSV

After a run completes in Apify, open the Output tab and click **Download as CSV** or  **Excel** . No additional tooling required. For API-driven workflows, you can stream results as JSONL or paginate through the dataset endpoint.

### Automate Reddit Data Collection

Use Apify's built-in scheduler to run this actor on any cron schedule — hourly trend monitoring, daily digests, or weekly research pulls. Results can be forwarded automatically to Google Sheets, Slack, Airtable, or any webhook via Apify's integrations with Zapier, Make, and n8n.

***

### Support

Found a bug or need a feature? Open an issue on the **Issues** tab in Apify Console. Feedback and pull requests are welcome.

# Actor input Schema

## `subreddits` (type: `array`):

List of subreddits to scrape (e.g., 'technology', 'python'). The 'r/' prefix is optional.

## `sort` (type: `string`):

How to sort the posts.

## `timeFilter` (type: `string`):

Applied only if the 'Top' sort is selected.

## `maxPostsPerSubreddit` (type: `integer`):

How many posts to scrape from each subreddit.

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

Apify Proxy settings. ⚠️ Recommended: use Datacenter proxies (country-US). Residential proxies are actively blocked by Reddit and will result in 403/429 errors even with IP rotation.

## Actor input object example

```json
{
  "subreddits": [
    "technology",
    "python"
  ],
  "sort": "hot",
  "timeFilter": "day",
  "maxPostsPerSubreddit": 25,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

// Run the Actor and wait for it to finish
const run = await client.actor("saregaa/redit-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("saregaa/redit-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call saregaa/redit-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Reddit Post Harvester",
        "description": "Scrape posts from any subreddit without authentication. Fetches titles, scores, authors, flairs, thumbnails and URLs via RSS + JSON API. Supports hot/new/top/rising sorting, time filters, and proxy rotation to bypass Reddit blocks.",
        "version": "0.0",
        "x-build-id": "uNAflBu4O75tyQQF1"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/saregaa~redit-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-saregaa-redit-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/saregaa~redit-scraper/runs": {
            "post": {
                "operationId": "runs-sync-saregaa-redit-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/saregaa~redit-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-saregaa-redit-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": [
                    "subreddits",
                    "sort",
                    "maxPostsPerSubreddit"
                ],
                "properties": {
                    "subreddits": {
                        "title": "Subreddits",
                        "type": "array",
                        "description": "List of subreddits to scrape (e.g., 'technology', 'python'). The 'r/' prefix is optional.",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "technology",
                            "python"
                        ]
                    },
                    "sort": {
                        "title": "Sort by",
                        "enum": [
                            "hot",
                            "new",
                            "top",
                            "rising"
                        ],
                        "type": "string",
                        "description": "How to sort the posts.",
                        "default": "hot"
                    },
                    "timeFilter": {
                        "title": "Time filter (only for 'Top')",
                        "enum": [
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                            "all"
                        ],
                        "type": "string",
                        "description": "Applied only if the 'Top' sort is selected.",
                        "default": "day"
                    },
                    "maxPostsPerSubreddit": {
                        "title": "Max posts per subreddit",
                        "minimum": 1,
                        "type": "integer",
                        "description": "How many posts to scrape from each subreddit.",
                        "default": 25
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy settings. ⚠️ Recommended: use Datacenter proxies (country-US). Residential proxies are actively blocked by Reddit and will result in 403/429 errors even with IP rotation.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
