# Morningstar Scraper | Fund and Stock Research (`parseforge/morningstar-scraper`) Actor

Extract Morningstar data on stocks, mutual funds, and ETFs including star ratings, fundamentals, returns, expense ratios, holdings, sector breakdowns, and analyst reports. Power investment research, portfolio analysis, and finance dashboards with trusted data from Morningstar.

- **URL**: https://apify.com/parseforge/morningstar-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Business, News, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 📊 Morningstar Fund & ETF Scraper

> 🚀 **Export Morningstar mutual fund and ETF data in seconds.** Star ratings, returns, expense ratios, net assets - all in one dataset, no account required.

> 🕒 **Last updated:** 2026-05-22 · **📊 10 fields** per record · **893+ funds per run** · **US mutual funds and ETFs**

The Morningstar Fund & ETF Scraper extracts fund and ETF data from Morningstar.com's public fund screener pages. Data is sourced directly from Morningstar's server-side rendered pages in real time - no login, no API key, no account needed.

Morningstar is the world's leading independent investment research firm, covering 600,000+ investment offerings. This actor taps into their public US fund database covering mutual funds and ETFs with star ratings, performance history, expense ratios, and more.

### Target Audience & Use Cases

| Who | What They Need |
|-----|----------------|
| Retail investors | Screen funds by star rating, returns, and cost |
| Financial advisors | Build fund comparison datasets for clients |
| Fintech developers | Power fund screener tools with live Morningstar data |
| Researchers | Analyze fund performance trends across categories |
| Portfolio managers | Monitor expense ratios and returns at scale |
| Data journalists | Track top-rated funds in specific categories |

### 📋 What the Morningstar Scraper does

- Scrapes 800+ mutual fund records per run from Morningstar's US fund screener
- Captures star ratings (1-5), 1-year, 3-year, and 5-year annualized returns
- Extracts expense ratios, net assets (billions USD), and Morningstar category
- Supports filtering by asset type (mutual funds or ETFs)
- Supports optional category filtering (e.g., "Large Blend", "Short-Term Bond")
- Respects `maxItems` limit with automatic free-tier restriction (10 items preview)
- Exports to CSV, JSON, Excel, XML via Apify dataset

> 💡 **Why it matters:** Morningstar star ratings are the most widely used fund evaluation metric in the world. Having this data in a structured, downloadable format unlocks screening, backtesting, and analysis workflows that would otherwise require expensive subscriptions.

### 🎬 Full Demo

🚧 Coming soon

### ⚙️ Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `universeId` | string | `FOUSA` | Asset type: `FOUSA` (US Mutual Funds) or `ETUSA` (US ETFs) |
| `category` | string | _(optional)_ | Filter by Morningstar category name (e.g., "Large Blend") |
| `maxItems` | integer | `10` | Max records to collect. Free: 10. Paid: up to 1,000,000 |

**Example input - top mutual funds:**
```json
{
  "universeId": "FOUSA",
  "maxItems": 100
}
````

**Example input - ETFs in a category:**

```json
{
  "universeId": "ETUSA",
  "category": "Large Blend",
  "maxItems": 50
}
```

> ⚠️ **Good to Know:** Free users are limited to 10 items per run as a preview. [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) to unlock larger runs.

### 📊 Output

| Field | Type | Description |
|-------|------|-------------|
| 🏷️ `ticker` | string | Fund ticker symbol (e.g., VTSAX) |
| 📛 `name` | string | Full fund legal name |
| 📂 `category` | string | Morningstar category (e.g., Large Blend) |
| ⭐ `starRating` | integer | Morningstar star rating 1-5 |
| 📈 `returnYtd` | number | YTD return % (not available in public data) |
| 📈 `return1Year` | number | 1-year trailing return % |
| 📈 `return3Year` | number | 3-year annualized return % |
| 📈 `return5Year` | number | 5-year annualized return % |
| 💰 `expenseRatio` | number | Annual expense ratio % |
| 🏦 `netAssets` | number | Net assets in billions USD |
| 🔗 `morningstarUrl` | string | Morningstar fund detail page URL |
| 🕒 `scrapedAt` | string | ISO timestamp of data collection |

**Sample records:**

```json
[
  {
    "ticker": "WFILX",
    "name": "Allspring Index Fund - Class A",
    "category": "Large Blend",
    "starRating": 2,
    "returnYtd": null,
    "return1Year": 28.37296,
    "return3Year": 22.23282,
    "return5Year": 13.50293,
    "expenseRatio": 0.44,
    "netAssets": 1.53,
    "morningstarUrl": "https://www.morningstar.com/funds/xnas/wfilx/overview",
    "scrapedAt": "2026-05-22T11:24:28.465Z",
    "error": null
  },
  {
    "ticker": "LDVAX",
    "name": "AXS FTSE Venture Capital Return Tracker Fund Class A Shares",
    "category": "Large Growth",
    "starRating": 2,
    "returnYtd": null,
    "return1Year": -8.11115,
    "return3Year": 18.24715,
    "return5Year": -1.12299,
    "expenseRatio": 1.75,
    "netAssets": 0.08,
    "morningstarUrl": "https://www.morningstar.com/funds/xnas/ldvax/overview",
    "scrapedAt": "2026-05-22T11:24:28.465Z",
    "error": null
  }
]
```

### ✨ Why choose this Actor

| Feature | Detail |
|---------|--------|
| ✅ No login required | Public data only, no Morningstar account needed |
| ✅ Real-time data | Every run fetches live data, no stale cache |
| ✅ 800+ funds | Covers all major Morningstar US fund screener categories |
| ✅ Multiple export formats | CSV, JSON, Excel, XML via Apify dataset |
| ✅ ETF support | Switch between mutual funds and ETFs with one input |
| ✅ Category filtering | Narrow results to any Morningstar fund category |
| ✅ Clean data | Normalized fields, consistent types, null for missing values |

### 📈 How it compares to alternatives

| | This Actor | Manual export | Morningstar Premium |
|---|---|---|---|
| Cost | Free tier available | Free but manual | $200+/year |
| Scale | 800+ records per run | Limited export | Full database |
| Automation | Full API/Zapier/Make | Manual | API (expensive) |
| Setup time | 30 seconds | Minutes | Days |
| Export formats | CSV, JSON, Excel, XML | CSV only | Multiple |

### 🚀 How to use

1. Go to the [Morningstar Fund & ETF Scraper](https://apify.com/parseforge/morningstar-scraper) page
2. Click **Try for free** - [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp)
3. Set `universeId` to `FOUSA` (mutual funds) or `ETUSA` (ETFs)
4. Optionally enter a `category` filter (e.g., "Large Blend")
5. Set `maxItems` to the number of records you need
6. Click **Start** and wait ~5 seconds
7. Download your dataset as CSV, JSON, or Excel

### 💼 Business use cases

#### Investment Research & Screening

Build your own fund screener with real Morningstar ratings. Filter by star rating, expense ratio, or return to identify top performers in any category. Export to Excel for client presentations.

#### Fintech App Development

Power fund comparison features in your robo-advisor or investment app. Use the structured dataset to render fund cards, comparison tables, and performance charts without a costly Morningstar API subscription.

#### Portfolio Analysis & Monitoring

Schedule daily runs to track expense ratio trends and return changes across your target fund universe. Feed into dashboards (Tableau, Power BI, Google Sheets) for automated monitoring.

#### Academic & Quantitative Research

Download historical snapshots of fund ratings and performance metrics for research into fund flows, active vs. passive performance, or expense ratio impact on returns. Export to R or Python for analysis.

### 🔌 Automating Morningstar Fund Scraper

Integrate with your existing tools using Apify's built-in integrations:

- **Make (Integromat)** - Trigger a run on a schedule and send new fund data to Google Sheets or Airtable
- **Zapier** - Connect to 6,000+ apps. Push fund data to Slack, Notion, or a database
- **Slack** - Get notified when top-rated funds change or new data is available
- **Google Sheets** - Auto-populate a spreadsheet with fund data on a daily schedule
- **Webhooks** - POST run results to your own API endpoint for custom processing

### 🌟 Beyond business use cases

#### Personal Finance Research

Track expense ratios across your 401(k) options or evaluate index fund alternatives. Export to a spreadsheet and calculate the long-term cost difference between similar funds.

#### Educational Projects

Use real Morningstar data in finance courses to teach students about fund evaluation, active vs. passive investing, and the relationship between expense ratios and returns.

#### Open Data & Journalism

Publish fund rating datasets for independent research. Compare fund costs across providers or track how star ratings correlate with future performance.

#### Developer Experimentation

Build a local fund screener, test visualization libraries with real financial data, or prototype a portfolio tracking app using live Morningstar records.

### 🤖 Ask an AI assistant about this scraper

> "I want to analyze mutual fund expense ratios. Can you help me use the Morningstar Fund Scraper to get this data and process it in Python?"
> "How do I filter Morningstar ETF data by category using this actor?"
> "Can you write a Make scenario that runs this scraper daily and sends results to Google Sheets?"

### ❓ Frequently Asked Questions

**❓ Do I need a Morningstar account?**
No. This actor scrapes publicly available data from Morningstar.com - no login, subscription, or API key required.

**❓ How many funds can I scrape?**
Free users get a 10-item preview. Paid users can collect 800+ records per run covering all major Morningstar US fund screener sections.

**❓ Is ETF data included?**
Yes. Set `universeId` to `ETUSA` to scrape US ETF data instead of mutual funds.

**❓ Why is `returnYtd` always null?**
Year-to-date return is not available in Morningstar's public screener pages. Only 1-year, 3-year, and 5-year returns are included.

**❓ How fresh is the data?**
Data is scraped live from Morningstar.com on every run. Returns and ratings reflect Morningstar's latest published values (typically updated monthly).

**❓ What does `starRating` mean?**
Morningstar's proprietary 1-5 star rating system based on risk-adjusted past performance relative to category peers. 5 stars = top 10%.

**❓ What does `expenseRatio` mean?**
The annual fee charged by the fund as a percentage of assets (e.g., 0.03 = 0.03%). Lower is generally better for passive/index funds.

**❓ What does `netAssets` represent?**
Total net assets of the fund in billions USD (e.g., 1.53 = $1.53 billion). Larger funds often have lower expense ratios due to economies of scale.

**❓ Can I filter by category?**
Yes. Pass any Morningstar category name in the `category` field (e.g., "Large Blend", "Short-Term Bond"). Partial matching is supported.

**❓ How do I use this data in Excel?**
After running, click **Export** in the Apify dataset view and select **Excel**. All fields are mapped to columns automatically.

**❓ Is this scraper maintained?**
Yes - ParseForge monitors actors regularly and updates them when Morningstar changes their page structure.

**❓ Can I run this on a schedule?**
Yes. Use Apify's built-in scheduling feature to run this actor daily, weekly, or on any cron schedule.

### 🔌 Integrate with any app

This actor works natively with Make, Zapier, Slack, Airtable, Google Sheets, Notion, Monday.com, HubSpot, Salesforce, Power BI, Tableau, Python (via Apify API), R, JavaScript, and any tool that accepts webhooks or REST API calls.

### 🔗 Recommended Actors

| Actor | Description |
|-------|-------------|
| [BLS Economic Data Scraper](https://apify.com/parseforge/bls-scraper) | US Bureau of Labor Statistics time series data - CPI, unemployment, wages |
| [FINRA BrokerCheck Scraper](https://apify.com/parseforge/finra-brokercheck-scraper) | FINRA broker and firm registration records |
| [CDC WONDER Mortality Scraper](https://apify.com/parseforge/cdc-wonder-mortality-scraper) | CDC mortality statistics by cause, age, geography |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for 100+ public dataset scrapers covering finance, healthcare, real estate, and more.

***

*This actor scrapes publicly available data from Morningstar.com. It is not affiliated with, endorsed by, or sponsored by Morningstar, Inc. All trademarks belong to their respective owners. Use responsibly and in accordance with Morningstar's terms of service.*

# Actor input Schema

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `universeId` (type: `string`):

Filter by asset type: US mutual funds or US ETFs.

## `category` (type: `string`):

Optional Morningstar category name to filter results (e.g. 'Large Blend', 'Technology'). Leave blank for all categories.

## Actor input object example

```json
{
  "maxItems": 10,
  "universeId": "FOUSA"
}
```

# 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 = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/morningstar-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 = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("parseforge/morningstar-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 '{
  "maxItems": 10
}' |
apify call parseforge/morningstar-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Morningstar Scraper | Fund and Stock Research",
        "description": "Extract Morningstar data on stocks, mutual funds, and ETFs including star ratings, fundamentals, returns, expense ratios, holdings, sector breakdowns, and analyst reports. Power investment research, portfolio analysis, and finance dashboards with trusted data from Morningstar.",
        "version": "0.1",
        "x-build-id": "ouxchYkG663kSNi4b"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~morningstar-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-morningstar-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/parseforge~morningstar-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-morningstar-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/parseforge~morningstar-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-morningstar-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": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "universeId": {
                        "title": "Asset Type",
                        "enum": [
                            "FOUSA",
                            "ETUSA"
                        ],
                        "type": "string",
                        "description": "Filter by asset type: US mutual funds or US ETFs.",
                        "default": "FOUSA"
                    },
                    "category": {
                        "title": "Category Filter",
                        "type": "string",
                        "description": "Optional Morningstar category name to filter results (e.g. 'Large Blend', 'Technology'). Leave blank for all categories."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
