# BetaList Startups Scraper (`automation-lab/betalist-startups-scraper`) Actor

Scrape BetaList startup profiles, topics, makers, images, and visit links for lead generation and market research.

- **URL**: https://apify.com/automation-lab/betalist-startups-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

## BetaList Startups Scraper

Extract structured startup discovery data from BetaList listing and startup profile pages. Use it to build startup lead lists, scout new product launches, monitor categories, and enrich internal market research workflows.

### What does BetaList Startups Scraper do?

BetaList Startups Scraper turns public BetaList pages into clean Apify dataset rows.

It can start from the BetaList homepage, category or browse pages, paginated listing pages, and individual startup profile URLs.

For each startup it saves the public profile URL, name, tagline, description, categories, tags, maker information, images, outbound visit link, source URL, and scrape timestamp.

The actor is HTTP based, so it is lightweight and suitable for repeatable monitoring jobs.

### Who is it for?

**Investors and scouts** use the actor to collect newly launched startups for pipeline review, category maps, and founder outreach preparation.

**Accelerators and incubators** use it to watch emerging products, identify teams in specific spaces, and prepare shortlists for outreach campaigns.

**Sales and partnership teams** use it to build startup prospect lists with profile URLs, positioning text, founder names, and topical tags.

**Market researchers** use it to compare startup messaging, category density, product screenshots, and launch timing across BetaList segments.

**Newsletter writers and analysts** use it to collect fresh startup launches for issue planning, trend summaries, and product discovery roundups.

### Why use it instead of manual browsing?

Manual BetaList research is slow when you need a spreadsheet or API output.

This actor gives you a repeatable export that can be scheduled, filtered, enriched, or sent to your CRM.

You can run the same input weekly and compare newly discovered startups with previous datasets.

Because the output is structured, you avoid copying names, profile links, maker links, and tags by hand.

### Typical workflows

- Build a weekly startup scouting list from the BetaList homepage.
- Scrape a category page before a market map exercise.
- Save profiles for founder outreach research.
- Track new startups in AI, productivity, fintech, developer tools, or other BetaList segments.
- Feed startup data into spreadsheets, BI tools, enrichment pipelines, or CRM imports.
- Combine BetaList data with other launch sources to monitor early-stage competitors.

### What data can it extract?

| Field | Type | Description |
| --- | --- | --- |
| `startupName` | string | Startup name shown on BetaList. |
| `tagline` | string or null | Short positioning sentence from the card or profile. |
| `description` | string or null | Longer public profile description when available. |
| `betalistUrl` | link | Canonical BetaList startup profile URL. |
| `visitUrl` | link or null | Public outbound BetaList visit link when exposed. |
| `categories` | array | Category labels found on listing or detail pages. |
| `tags` | array | Topic tags and keywords from the startup page. |
| `postedAt` | string or null | Public posting date text or timestamp when available. |
| `founders` | array | Public maker or founder names. |
| `founderProfileUrls` | array | Public BetaList maker profile URLs. |
| `socialLinks` | array | Public social or external links visible on the page. |
| `logoUrl` | link or null | Startup logo image URL. |
| `screenshotUrls` | array | Product screenshot image URLs. |
| `sourceListUrl` | link | Start/listing URL that produced the record. |
| `scrapedAt` | string | ISO timestamp for when the record was saved. |

### How much does it cost to scrape BetaList startups?

This actor uses pay-per-event pricing.

There is a small run-start event and then one result event for each startup saved to the dataset.

The result event uses tiered pricing, so larger subscription tiers pay less per saved startup.

Example estimates:

| Run size | What happens | Approximate actor charges before platform plan effects |
| --- | --- | --- |
| 20 startups | Default smoke test | Start event + 20 result events |
| 100 startups | Realistic research export | Start event + 100 result events |
| 1,000 startups | Larger monitoring/export job | Start event + 1,000 result events |

Apify shows the exact charge before you run the actor. Start with the default 20-startup input if you want a cheap preview.

### Input configuration

The input has four fields.

`startUrls` accepts BetaList URLs. Use the homepage for a broad feed, browse/category pages for focused research, paginated listing URLs for deeper collection, or detail URLs for one startup.

`maxItems` controls the maximum number of startup rows saved. The default is 20 for a low-cost first run.

`includeDetails` opens each startup detail page to collect richer fields such as makers, topics, screenshots, logo, and visit link. Leave it enabled for best results.

`requestDelaySecs` adds a small pause between detail requests. The default is polite and conservative.

### Example input

```json
{
  "startUrls": [
    { "url": "https://betalist.com" }
  ],
  "maxItems": 20,
  "includeDetails": true,
  "requestDelaySecs": 0.2
}
````

### How to scrape the BetaList homepage

1. Open the actor on Apify.
2. Keep the default `https://betalist.com` start URL.
3. Set `maxItems` to the number of startups you want.
4. Leave `includeDetails` enabled.
5. Run the actor.
6. Export the dataset as JSON, CSV, Excel, or through the Apify API.

### How to scrape a category or browse page

1. Open the public BetaList page you want to monitor.
2. Copy the URL from your browser.
3. Paste it into `startUrls`.
4. Keep `maxItems` modest for your first category run.
5. Review the dataset for category coverage.
6. Schedule repeat runs if you need ongoing monitoring.

### How to scrape one startup profile

Pass an individual startup profile URL, for example a URL in the form `https://betalist.com/startups/example`.

The actor will treat it as a detail page and save one record when public data is available.

This is useful when you already have a list of BetaList profile URLs and want normalized fields.

### Output examples

A dataset row may look like this:

```json
{
  "startupName": "Example Startup",
  "tagline": "A faster way to research new products",
  "description": "Example Startup helps teams discover and organize product ideas.",
  "betalistUrl": "https://betalist.com/startups/example-startup",
  "visitUrl": "https://betalist.com/startups/example-startup/visit",
  "categories": ["Productivity"],
  "tags": ["research", "productivity", "startups"],
  "postedAt": "2026-05-20",
  "founders": ["Jane Founder"],
  "founderProfileUrls": ["https://betalist.com/@janefounder"],
  "socialLinks": ["https://x.com/example"],
  "logoUrl": "https://betalist.com/uploads/startup/logo.png",
  "screenshotUrls": ["https://betalist.com/uploads/startup/screenshot.png"],
  "sourceListUrl": "https://betalist.com",
  "scrapedAt": "2026-05-23T08:00:00.000Z"
}
```

### Data quality notes

BetaList pages vary by startup.

Some startups expose makers, tags, screenshots, and social links. Others publish only a name, tagline, and profile URL.

The actor returns missing optional values as `null` or empty arrays rather than inventing data.

If you need emails, phone numbers, or private CRM data, use this actor as a discovery step and enrich the public URLs through your own compliant process.

### Performance and scaling

The actor uses HTTP requests and Cheerio parsing instead of a browser.

That keeps memory low and makes typical runs fast.

For broader crawls, increase `maxItems` gradually and keep `requestDelaySecs` above zero.

The actor stops after it reaches `maxItems` or exhausts the public links discovered from the supplied start URLs.

### Tips for best results

- Use the homepage for broad discovery.
- Use category pages for targeted market maps.
- Keep `includeDetails` enabled when you need makers, tags, images, and visit links.
- Start with 20 records, inspect the output, then scale to 100 or more.
- Schedule recurring runs and compare datasets over time to identify new startups.
- Deduplicate downstream by `betalistUrl` when combining multiple runs.

### Integrations

Send the dataset to Google Sheets for manual review.

Connect the actor to Make, Zapier, or n8n for founder outreach preparation.

Use Apify webhooks to trigger enrichment workflows after a run succeeds.

Export JSON to a data warehouse for category trend analysis.

Call the actor from your backend when a user requests startup discovery data.

### API usage

Run the actor programmatically with the Apify API or the `apify-client` libraries.

#### Node.js example

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/betalist-startups-scraper').call({
  startUrls: [{ url: 'https://betalist.com' }],
  maxItems: 20,
  includeDetails: true,
  requestDelaySecs: 0.2,
});

console.log(`Dataset: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
```

#### Python example

```python
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/betalist-startups-scraper').call(run_input={
    'startUrls': [{'url': 'https://betalist.com'}],
    'maxItems': 20,
    'includeDetails': True,
    'requestDelaySecs': 0.2,
})

print(run['defaultDatasetId'])
```

#### cURL example

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~betalist-startups-scraper/runs?token='$APIFY_TOKEN \
  -H 'Content-Type: application/json' \
  -d '{"startUrls":[{"url":"https://betalist.com"}],"maxItems":20,"includeDetails":true,"requestDelaySecs":0.2}'
```

### MCP: use BetaList data from AI tools

You can connect this actor to MCP-compatible clients through Apify MCP.

Use this server URL so the client exposes only this actor as an automation tool:

```text
https://mcp.apify.com?tools=automation-lab/betalist-startups-scraper
```

For Claude Code, you can add the remote MCP endpoint from your terminal:

```bash
claude mcp add apify-betalist --transport http "https://mcp.apify.com?tools=automation-lab/betalist-startups-scraper"
```

For MCP clients that use JSON configuration, add an Apify server entry like this:

```json
{
  "mcpServers": {
    "apify-betalist": {
      "url": "https://mcp.apify.com?tools=automation-lab/betalist-startups-scraper",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}
```

#### Claude Code setup

Add an Apify MCP server that points to the URL above and uses your Apify token.

Then ask Claude Code to run the BetaList Startups Scraper for a specific category or homepage export.

#### Claude Desktop setup

In Claude Desktop, add a custom MCP server for Apify with the `https://mcp.apify.com?tools=automation-lab/betalist-startups-scraper` URL.

After connecting, use prompts such as:

#### Example prompts showing MCP usage

- "Run BetaList Startups Scraper for the homepage and return 20 startup leads."
- "Use the Apify MCP tool `automation-lab/betalist-startups-scraper` to scrape this BetaList category URL and summarize makers and tags."
- "Start a BetaList Startups Scraper run through MCP, export the dataset, and identify startups relevant to developer tools."
- "Use MCP to collect 50 BetaList startup profiles, then group them by tag and list the founder profile URLs."

#### Cursor and VS Code setup

Add the same Apify MCP endpoint to your MCP configuration in Cursor or VS Code.

Once connected, your coding assistant can start actor runs, inspect datasets, and help transform the output into application code, CSV files, or enrichment jobs.

### FAQ

**Can I scrape private founder contact details?**

No. The actor only extracts public BetaList page data. Use compliant enrichment tools separately if you need additional contact research.

**Can I schedule recurring BetaList monitoring?**

Yes. Create an Apify schedule with the same input and compare each new dataset by `betalistUrl`.

### Troubleshooting

**Why did I receive fewer startups than `maxItems`?**

The supplied page may have fewer public startups, or BetaList may not expose enough links from that page. Try the homepage, a broader category page, or multiple start URLs.

**Why are founders or screenshots empty?**

Those fields depend on public detail-page content. Some BetaList profiles do not publish makers, social links, or screenshots.

**Why is `visitUrl` missing?**

Not every profile exposes a public visit link. The actor only returns links visible in public page markup.

**Can I run it on a schedule?**

Yes. Use Apify schedules to run weekly or daily, then deduplicate by `betalistUrl` in your downstream system.

### Limitations

The actor extracts public BetaList data only.

It does not log in, bypass access controls, solve CAPTCHAs, or access private founder contact information.

Website layout changes can affect specific fields. If that happens, share a run URL and the missing field so the actor can be updated.

### Legality

This actor collects publicly available BetaList page data and does not log in or bypass access controls.

### Legal and ethical use

This actor is intended for lawful extraction of publicly available information.

Respect BetaList terms, privacy rules, and applicable anti-spam laws.

Do not use the data for abusive automation, harassment, or unsolicited bulk messaging.

For outreach workflows, verify relevance, provide opt-out options, and follow local regulations.

### Related startup scrapers

Use these Automation Lab actors alongside BetaList when you need broader startup and product intelligence:

- [Product Hunt Scraper](https://apify.com/automation-lab/product-hunt-scraper) for product launches and votes.
- [Y Combinator Companies Scraper](https://apify.com/automation-lab/y-combinator-companies-scraper) for YC company research.
- [TechCrunch Scraper](https://apify.com/automation-lab/techcrunch-scraper) for startup and funding news.
- [LinkedIn Company Scraper](https://apify.com/automation-lab/linkedin-company-scraper) for company profile enrichment.

### Support

If you find a broken field, include the run URL, input, and expected public BetaList page when opening an issue.

Clear examples help reproduce site changes quickly.

### Changelog

#### 0.1

Initial BetaList startup discovery actor with listing traversal, detail-page extraction, maker fields, tags, images, and tiered per-result pricing.

# Actor input Schema

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

BetaList homepage, browse/category pages, paginated listing pages, or individual startup detail URLs.

## `maxItems` (type: `integer`):

Maximum number of startup records to save.

## `includeDetails` (type: `boolean`):

Open each startup page to collect makers, topics, screenshots, logo, and /visit link.

## `requestDelaySecs` (type: `number`):

Small delay to keep scraping polite and reduce transient blocking.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://betalist.com"
    }
  ],
  "maxItems": 20,
  "includeDetails": true,
  "requestDelaySecs": 0.2
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://betalist.com"
        }
    ]
};

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

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = { "startUrls": [{ "url": "https://betalist.com" }] }

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/betalist-startups-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://betalist.com"
    }
  ]
}' |
apify call automation-lab/betalist-startups-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "BetaList Startups Scraper",
        "description": "Scrape BetaList startup profiles, topics, makers, images, and visit links for lead generation and market research.",
        "version": "0.1",
        "x-build-id": "HpV1ErFsIq0scObeb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~betalist-startups-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-betalist-startups-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/automation-lab~betalist-startups-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-betalist-startups-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/automation-lab~betalist-startups-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-betalist-startups-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": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "BetaList homepage, browse/category pages, paginated listing pages, or individual startup detail URLs.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItems": {
                        "title": "Maximum startups",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of startup records to save.",
                        "default": 20
                    },
                    "includeDetails": {
                        "title": "Fetch startup detail pages",
                        "type": "boolean",
                        "description": "Open each startup page to collect makers, topics, screenshots, logo, and /visit link.",
                        "default": true
                    },
                    "requestDelaySecs": {
                        "title": "Delay between startup detail requests (seconds)",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "number",
                        "description": "Small delay to keep scraping polite and reduce transient blocking.",
                        "default": 0.2
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
