# Indie Hackers Scraper (`solidcode/indiehackers-scraper`) Actor

\[💰 $8.0 / 1K] Extract Indie Hackers products with self-reported monthly revenue, followers, founders, taglines, verticals, revenue models, funding, and tags. Search by keyword, sort by revenue or followers, or paste specific product URLs.

- **URL**: https://apify.com/solidcode/indiehackers-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Developer tools, Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

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

## Indie Hackers Scraper

Pull the full Indie Hackers product directory at scale — self-reported monthly revenue, follower counts, founder profiles, taglines, verticals, revenue models, and funding type for every startup in the catalog. Search by keyword, sort by revenue, or paste exact product links. Built for indie founders, angel investors, and market researchers who need structured revenue data on bootstrapped SaaS without manually combing thousands of product pages one at a time.

### Why This Scraper?

- **Self-reported monthly revenue on every product** — the headline number indie founders publish, captured as `monthlyRevenueUSD` so you can rank, filter, and benchmark earners across the whole directory.
- **31,000+ products in the catalog** — extract the entire Indie Hackers directory, not just the first page. Set `maxResults` to 0 and the scraper windows past the usual 1,000-result ceiling to pull every product.
- **Founder enrichment built in** — each product resolves to its founder's `username` and full Indie Hackers profile URL, not just an opaque internal ID.
- **Three revenue-aware sort orders** — Newest First, Highest Revenue, and Lowest Revenue, so you can pull the top earners or the freshest launches in one pass.
- **Server-side minimum-revenue filter** — set `minRevenue` to only collect products earning at least $X/month; the cutoff is applied at the source, so you never pay for products below your threshold.
- **Four category dimensions broken out** — `verticals` (B2B, SaaS, e-commerce…), `revenueModels` (subscription, ads…), `funding` (bootstrapped, seed…), and `platforms` (web, iOS, Chrome extension…) split into clean structured fields.
- **Target exact products by URL** — paste a list of `indiehackers.com/product/<slug>` links to pull specific products instead of, or alongside, a keyword search.
- **Founder reach signals per product** — Twitter/X handle, website URL, follower count, and avatar image captured on every row.

### Use Cases

**Market & Competitor Research**
- Benchmark monthly revenue across an entire vertical (AI, newsletters, dev tools)
- Track which revenue models (subscription vs. one-time vs. ads) earn the most
- Map the bootstrapped vs. seed-funded split within a category
- Identify newly launched products in your niche before they trend

**Investor & Deal Sourcing**
- Build a shortlist of products earning above a revenue threshold
- Surface the highest-revenue indie startups in a single sorted pull
- Spot founders shipping multiple products by cross-referencing profiles
- Monitor follower growth as an early traction signal

**Lead Generation & Outreach**
- Collect founder profile URLs and Twitter handles for warm outreach
- Build lists of products on a specific platform (web, iOS, Chrome)
- Target founders by funding stage for partnership or service offers
- Enrich an existing prospect list with revenue and category data

**Trend & Content Analysis**
- Track the rise of categories like AI tooling over time using `createdAt`
- Compile "top earners" roundups for newsletters and blog posts
- Analyze tagline language across thousands of products
- Feed structured indie-startup data into dashboards and research reports

### Getting Started

#### Search by Keyword

The simplest run — find products matching a topic:

```json
{
    "query": "AI",
    "maxResults": 100
}
````

#### Find the Top Earners

Combine a minimum-revenue floor with the Highest Revenue sort to surface the biggest indie startups:

```json
{
    "query": "SaaS",
    "sortBy": "revenue_desc",
    "minRevenue": 10000,
    "maxResults": 200
}
```

#### Target Specific Products

Paste exact product links to pull just those products:

```json
{
    "productUrls": [
        "https://www.indiehackers.com/product/nomad-list",
        "https://www.indiehackers.com/product/bannerbear"
    ]
}
```

#### Full Catalog Pull

Leave the query blank and set `maxResults` to 0 to extract every product in the directory:

```json
{
    "query": "",
    "sortBy": "revenue_desc",
    "maxResults": 0
}
```

### Input Reference

#### Search

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `query` | string | `""` | Keyword to filter products, such as "AI", "SaaS", or "newsletter". Leave empty to scrape all products. |
| `productUrls` | string\[] | `[]` | Specific Indie Hackers product page URLs (e.g. `https://www.indiehackers.com/product/your-product`). Use this to pull exact products instead of, or in addition to, a search. |
| `sortBy` | select | `Newest First` | Order in which products are collected: Newest First, Highest Revenue, or Lowest Revenue. |

#### Limits & Filters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `100` | Maximum number of products to return. Set to 0 for no limit (the full catalog is over 30,000 products). Start with 100–1,000 to keep costs reasonable. |
| `minRevenue` | integer | `0` | Only return products reporting at least this much monthly revenue in US dollars. Set to 0 to include all products. |

### Output

Each result is one product, returned as a flat record:

```json
{
    "productId": "nomad-list",
    "name": "Nomad List",
    "tagline": "The largest community of remote workers and digital nomads",
    "description": "Nomad List helps you find the best places to live and work remotely, with cost-of-living and internet-speed data for 1,000+ cities.",
    "url": "https://www.indiehackers.com/product/nomad-list",
    "websiteUrl": "https://nomadlist.com",
    "avatarUrl": "https://storage.googleapis.com/indie-hackers.appspot.com/product-avatars/nomad-list/avatar",
    "monthlyRevenueUSD": 45000,
    "numFollowers": 1820,
    "twitterHandle": "nomadlist",
    "facebookUrl": null,
    "founders": [
        {
            "userId": "8z9ZIo2WVZYI5SeYZUY6bvh8Yjy2",
            "username": "levelsio",
            "name": "levelsio",
            "profileUrl": "https://www.indiehackers.com/levelsio"
        }
    ],
    "verticals": ["b2c", "community"],
    "revenueModels": ["subscription"],
    "funding": "bootstrapped",
    "platforms": ["web"],
    "allTags": ["vertical-b2c", "vertical-community", "revenue-model-subscription", "funding-bootstrapped", "platform-web"],
    "startDate": "2014-11",
    "endDate": null,
    "createdAt": "2018-03-25T02:15:00Z",
    "publishedAt": "2018-03-25T02:15:00Z",
    "updatedAt": "2026-03-25T02:17:29Z",
    "scrapedAt": "2026-06-03T20:25:04Z"
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `productId` | string | Unique Indie Hackers product identifier (matches the URL slug) |
| `name` | string | Product name |
| `tagline` | string | Short one-line pitch |
| `description` | string | Longer product description |
| `url` | string | Indie Hackers product page URL |
| `websiteUrl` | string | The product's own website |
| `avatarUrl` | string | Product logo / avatar image URL |

#### Revenue & Reach

| Field | Type | Description |
|-------|------|-------------|
| `monthlyRevenueUSD` | number | Self-reported monthly revenue in USD (nullable; reported by founders, not verified) |
| `numFollowers` | number | Follower count on Indie Hackers |
| `twitterHandle` | string | Product or founder Twitter/X handle |
| `facebookUrl` | string | Facebook page URL, when published |

#### Founders & Categories

| Field | Type | Description |
|-------|------|-------------|
| `founders` | object\[] | Founder records — each with `userId`, `username`, `name`, and `profileUrl` |
| `verticals` | string\[] | Product verticals/categories (B2B, SaaS, e-commerce…) |
| `revenueModels` | string\[] | Revenue model tags (subscription, ads, one-time…) |
| `funding` | string | Funding source (bootstrapped, seed…) |
| `platforms` | string\[] | Platforms the product runs on (web, iOS, Chrome extension…) |
| `allTags` | string\[] | Every raw tag attached to the product |

#### Timestamps

| Field | Type | Description |
|-------|------|-------------|
| `startDate` | string | When the product started, as reported by the founder (YYYY-MM) |
| `endDate` | string | When the product ended, if reported (nullable) |
| `createdAt` | string | ISO timestamp when the product record was created on Indie Hackers |
| `publishedAt` | string | ISO timestamp when the product was published |
| `updatedAt` | string | ISO timestamp of the last update |
| `scrapedAt` | string | ISO timestamp of when this record was collected |

### Tips for Best Results

- **Find the biggest earners fast** — pair `minRevenue` with `sortBy: revenue_desc`. The minimum-revenue floor trims the long tail at the source, and the sort puts the top earners first, so a small `maxResults` returns the most valuable rows.
- **Revenue is self-reported, not audited** — `monthlyRevenueUSD` is whatever the founder entered. Treat very large or obviously placeholder figures as unverified and sanity-check outliers before relying on them.
- **Leave `query` blank to scan everything** — an empty keyword matches the entire directory; combine with a sort order to walk the whole catalog in a meaningful sequence.
- **Set `maxResults` to 0 only when you mean it** — unlimited pulls the full 30,000+ product catalog and bills per result, so start with 100–1,000 to validate your filters first.
- **Mix URLs and search in one run** — paste known `productUrls` and add a `query`; the scraper collects both the exact products and the keyword matches in a single pass.
- **Use `createdAt` to track emerging trends** — sort by Newest First and watch which verticals are launching most often to spot momentum early.
- **Filter categories after the pull** — `verticals`, `revenueModels`, `funding`, and `platforms` are clean structured arrays, so you can slice your dataset by category in a spreadsheet without re-running.

### Pricing

**From $8.00 per 1,000 results** — undercuts the going rate for Indie Hackers data while delivering founder enrichment and full-catalog reach. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.96 | $0.91 | $0.85 | $0.80 |
| 1,000 | $9.60 | $9.05 | $8.50 | $8.00 |
| 10,000 | $96.00 | $90.50 | $85.00 | $80.00 |
| 100,000 | $960.00 | $905.00 | $850.00 | $800.00 |

A "result" is one product row in the output dataset. Platform fees depend on your Apify plan.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor collects publicly available product information from Indie Hackers for legitimate market research, investment analysis, and lead generation. Self-reported revenue figures are provided by founders and are not independently verified. Users are responsible for complying with applicable laws and Indie Hackers' Terms of Service. Do not use collected data for spam, harassment, or any unlawful purpose, and handle any personal data (such as founder profiles) responsibly.

# Actor input Schema

## `query` (type: `string`):

Keyword to filter products, such as 'AI', 'SaaS', or 'newsletter'. Leave empty to scrape all products.

## `productUrls` (type: `array`):

Specific Indie Hackers product page URLs, for example https://www.indiehackers.com/product/your-product. Use this to scrape exact products instead of, or in addition to, a search.

## `sortBy` (type: `string`):

Order in which products are collected.

## `maxResults` (type: `integer`):

Maximum number of products to return. Set to 0 for no limit (the full catalog is over 30,000 products). Recommended: 100-1000 to keep costs reasonable.

## `minRevenue` (type: `integer`):

Only return products reporting at least this much monthly revenue in US dollars. Set to 0 to include all products.

## Actor input object example

```json
{
  "query": "AI",
  "productUrls": [],
  "sortBy": "newest",
  "maxResults": 100,
  "minRevenue": 0
}
```

# Actor output Schema

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

Table of scraped products with key fields.

# 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 = {
    "query": "AI",
    "productUrls": [],
    "sortBy": "newest",
    "maxResults": 100,
    "minRevenue": 0
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/indiehackers-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 = {
    "query": "AI",
    "productUrls": [],
    "sortBy": "newest",
    "maxResults": 100,
    "minRevenue": 0,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/indiehackers-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 '{
  "query": "AI",
  "productUrls": [],
  "sortBy": "newest",
  "maxResults": 100,
  "minRevenue": 0
}' |
apify call solidcode/indiehackers-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Indie Hackers Scraper",
        "description": "[💰 $8.0 / 1K] Extract Indie Hackers products with self-reported monthly revenue, followers, founders, taglines, verticals, revenue models, funding, and tags. Search by keyword, sort by revenue or followers, or paste specific product URLs.",
        "version": "1.0",
        "x-build-id": "A5tqywoTrxqsU6Nt7"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~indiehackers-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-indiehackers-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/solidcode~indiehackers-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-indiehackers-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/solidcode~indiehackers-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-indiehackers-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "query": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Keyword to filter products, such as 'AI', 'SaaS', or 'newsletter'. Leave empty to scrape all products."
                    },
                    "productUrls": {
                        "title": "Product URLs",
                        "type": "array",
                        "description": "Specific Indie Hackers product page URLs, for example https://www.indiehackers.com/product/your-product. Use this to scrape exact products instead of, or in addition to, a search.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "enum": [
                            "newest",
                            "revenue_desc",
                            "revenue_asc"
                        ],
                        "type": "string",
                        "description": "Order in which products are collected.",
                        "default": "newest"
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of products to return. Set to 0 for no limit (the full catalog is over 30,000 products). Recommended: 100-1000 to keep costs reasonable.",
                        "default": 100
                    },
                    "minRevenue": {
                        "title": "Minimum Monthly Revenue (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only return products reporting at least this much monthly revenue in US dollars. Set to 0 to include all products.",
                        "default": 0
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
