# Glama MCP Registry Scraper (`automation-lab/glama-mcp-registry-scraper`) Actor

Scrape Glama's MCP registry for MCP ecosystem monitoring: server metadata, tools, repository/package links, categories, README snippets, and safety/score signals.

- **URL**: https://apify.com/automation-lab/glama-mcp-registry-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 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

## Glama MCP Registry Scraper

Scrape Glama's public MCP registry into structured datasets for AI tooling research, vendor discovery, DevRel monitoring, and security due diligence.

### What does Glama MCP Registry Scraper do?

Glama MCP Registry Scraper extracts public Model Context Protocol server records from `glama.ai`.

It can process registry listings, search URLs, category URLs, and individual server detail pages.

The actor saves one dataset row per MCP server.

Each row includes normalized identity fields, registry metadata, developer links, categories, attributes, tools, README text, and score or safety snippets when visible.

### Who is it for?

AI platform teams use it to keep a scheduled inventory of MCP servers, compare tool lists across releases, and spot registry changes that affect internal agent platforms.

Developer relations teams use it to find integration partners, track fast-growing MCP categories, and build outreach lists from GitHub, NPM, package, author, and license signals.

MCP builders use it to benchmark competing servers, monitor new servers in their niche, and compare tool counts, README positioning, categories, and score snippets.

Security and governance teams use it to review exposed tool names, package links, repository URLs, licenses, and visible safety or quality signals before approving MCP servers for agent use.

Analysts use it to build searchable MCP market maps and recurring snapshots for trend reports.

### Why use it?

Glama changes frequently, and manual directory review is slow.

This actor turns public registry pages into exportable JSON, CSV, Excel, or API data that can be scheduled, diffed, and fed into agent workflows.

Use it for weekly MCP registry snapshots, partner discovery, competitive monitoring, score/safety signal review, or alerting when new servers appear in tracked categories.

### What data can I extract?

| Field | Description |
| --- | --- |
| `name` | Server name from Glama or JSON-LD |
| `serverUrl` | Normalized Glama server detail URL |
| `slug` | `owner/repository` slug |
| `owner` | Repository or publisher owner |
| `repository` | Repository slug |
| `description` | Server description |
| `authorName` | Publisher/author when visible |
| `categories` | Glama category labels |
| `attributes` | Visible attributes such as language or hosting |
| `githubUrl` | Primary GitHub URL when visible |
| `npmUrl` | NPM package URL when visible |
| `packageUrls` | Package, Smithery, Docker, or PyPI links |
| `license` | License from structured metadata |
| `toolCount` | Number of visible tools found on detail page |
| `tools` | Visible MCP tool names |
| `readmeText` | Main page text preview for search/indexing |
| `scoreSignals` | Quality, schema, safety, and scoring snippets |
| `scrapedAt` | ISO timestamp |

### How much does it cost to scrape Glama MCP registry servers?

This actor uses pay-per-event pricing.

There is a small run-start charge and a per-server result charge.

The default input is intentionally small so first tests stay inexpensive.

Final Store pricing is shown on the Apify actor page after launch.

### How to use it

1. Open the actor on Apify.
2. Keep the default Glama directory URL or paste Glama search/category/detail URLs.
3. Choose `maxItems`.
4. Keep `Fetch server detail pages` enabled for richer data.
5. Start the run.
6. Export the dataset as JSON, CSV, Excel, XML, or RSS.

### Input

```json
{
  "startUrls": [
    { "url": "https://glama.ai/mcp/servers" }
  ],
  "maxItems": 20,
  "includeDetails": true,
  "maxConcurrency": 3
}
````

### Start URL examples

Use the main registry URL:

```text
https://glama.ai/mcp/servers
```

Use a Glama category URL:

```text
https://glama.ai/mcp/categories/web-scraping
```

Use a Glama search URL:

```text
https://glama.ai/mcp/servers?query=author%3Amodelcontextprotocol
```

Use a server detail URL:

```text
https://glama.ai/mcp/servers/modelcontextprotocol/filesystem
```

### Output example

```json
{
  "name": "Filesystem MCP Server",
  "serverUrl": "https://glama.ai/mcp/servers/modelcontextprotocol/filesystem",
  "slug": "modelcontextprotocol/filesystem",
  "owner": "modelcontextprotocol",
  "repository": "filesystem",
  "description": "MCP server for filesystem access",
  "authorName": "modelcontextprotocol",
  "categories": ["File Systems"],
  "attributes": ["TypeScript", "Local"],
  "githubUrl": "https://github.com/modelcontextprotocol/servers",
  "tools": ["read_file", "write_file"],
  "scrapedAt": "2026-06-27T00:00:00.000Z"
}
```

### Tips for best results

Use Glama search URLs when you need a specific author, keyword, category, or market segment.

Keep concurrency conservative because Glama pages can be slow.

Disable detail pages only when you need a fast, lightweight listing export.

Raise `maxItems` for scheduled monitoring jobs.

### Agent and automation workflows

- **Scheduled MCP registry snapshot**: run the actor daily or weekly from `https://glama.ai/mcp/servers`, store each dataset, and diff `serverUrl`, `githubUrl`, `toolCount`, `tools`, and `scoreSignals` over time.
- **AI platform allowlist review**: scrape candidate category or search URLs, then have an internal agent rank servers by repository/package links, licenses, visible tools, and score/safety snippets before a human approval step.
- **DevRel partner discovery**: monitor categories such as web scraping, databases, browsers, or developer tools and route new GitHub/NPM links to a CRM or outreach queue.
- **Security review queue**: alert when a tracked author or category adds new tool names, package URLs, or README claims that require governance review.

### Integrations

Send results to a warehouse for MCP market intelligence.

Feed selected fields into a vector database for semantic MCP discovery.

Trigger webhooks when new servers appear in tracked categories.

Use Apify integrations to sync records to Google Sheets, Make, Zapier, or a custom API.

### API usage with Node.js

Run the actor, wait for it to finish, and consume the dataset records in the same agent script:

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });

const run = await client.actor('automation-lab/glama-mcp-registry-scraper').call({
  startUrls: [{ url: 'https://glama.ai/mcp/categories/web-scraping' }],
  maxItems: 50,
  includeDetails: true
});

const { items } = await client.dataset(run.defaultDatasetId).listItems({ limit: 50 });

const partnerCandidates = items.map((server) => ({
  name: server.name,
  url: server.serverUrl,
  github: server.githubUrl,
  packages: server.packageUrls,
  tools: server.tools,
  safetySignals: server.scoreSignals
}));

console.log(JSON.stringify(partnerCandidates, null, 2));
```

### API usage with Python

```python
from apify_client import ApifyClient
import os

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/glama-mcp-registry-scraper').call(run_input={
    'startUrls': [{'url': 'https://glama.ai/mcp/servers?query=author%3Amodelcontextprotocol'}],
    'maxItems': 30,
    'includeDetails': True,
})

items = client.dataset(run['defaultDatasetId']).list_items(limit=30).items
for server in items:
    print({
        'name': server.get('name'),
        'serverUrl': server.get('serverUrl'),
        'tools': server.get('tools'),
        'scoreSignals': server.get('scoreSignals'),
    })
```

### API usage with cURL

Start a run:

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~glama-mcp-registry-scraper/runs?token=YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"startUrls":[{"url":"https://glama.ai/mcp/servers"}],"maxItems":20,"includeDetails":true}'
```

Then fetch the resulting dataset with the `defaultDatasetId` from the run response:

```bash
curl 'https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=json&token=YOUR_TOKEN'
```

### Apify MCP usage

This actor is not itself an MCP server and does not expose its own `webServerMcpPath`.

Agents can still call it through Apify's MCP server as an Apify actor tool, then inspect the returned run and dataset IDs.

Apify MCP server URL:

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

Claude Code setup:

```bash
claude mcp add apify-glama-mcp-registry https://mcp.apify.com/?tools=automation-lab/glama-mcp-registry-scraper
```

Claude Desktop JSON config:

```json
{
  "mcpServers": {
    "apify-glama-mcp-registry": {
      "url": "https://mcp.apify.com/?tools=automation-lab/glama-mcp-registry-scraper"
    }
  }
}
```

Example agent prompts:

```text
Run automation-lab/glama-mcp-registry-scraper for the Glama web-scraping MCP category, read the dataset, and summarize new GitHub repositories plus visible tool names.
```

```text
Use the Glama MCP Registry Scraper to export 100 developer-tools MCP servers, then group them by package link, license, tool count, and score/safety signals for a platform review.
```

```text
Find Glama MCP servers from modelcontextprotocol, list their tool counts, GitHub URLs, categories, and any safety snippets, then flag servers that need human governance review.
```

### Monitoring workflow

Schedule the actor daily or weekly.

Store snapshots in Apify datasets or export them to your warehouse.

Compare `serverUrl`, `githubUrl`, `toolCount`, `tools`, `packageUrls`, and `scoreSignals` over time.

Alert your team when a new competitor, integration partner, package, or governance review candidate appears.

### Data quality notes

The actor prefers Glama JSON-LD metadata when available.

It falls back to HTML links and text extraction.

Some optional fields may be empty if Glama does not show them on a page.

Tool names are visible only when detail pages expose tool links.

### Troubleshooting

If you get fewer records than expected, raise `maxItems` or add more Glama search/category URLs.

If a run is slow, lower `maxConcurrency` or disable detail pages.

If a field is empty, verify that it is visible on the public Glama page without logging in.

### Legality

This actor extracts public web pages.

You should use the data responsibly and respect Glama's terms, robots guidance, and applicable laws.

Do not use scraped data for spam, abuse, or impersonation.

### Related scrapers

Explore other Automation Lab developer-tool and registry scrapers on Apify:

- https://apify.com/automation-lab
- https://apify.com/automation-lab/github-repository-scraper
- https://apify.com/automation-lab/npm-package-scraper

### Changelog

Initial version extracts Glama MCP server listing and detail data.

### FAQ

#### Can it scrape every server in the registry?

It is designed for public listing, search, category, and detail pages. Use multiple targeted Glama URLs for larger monitoring workflows.

#### Does it require login?

No. The MVP uses public Glama pages only.

#### Does it use a browser?

No. It uses HTTP and Cheerio because Glama exposes useful HTML and JSON-LD in the initial response.

#### Can it extract tool schemas?

It extracts visible tool names and quality/schema snippets. Deep schema pages can be added in a future version if users need them.

#### Can I monitor one author?

Yes. Paste a Glama author search URL such as `https://glama.ai/mcp/servers?query=author%3Amodelcontextprotocol`.

#### What export formats are supported?

Apify datasets support JSON, CSV, Excel, XML, HTML table, and API access.

# Actor input Schema

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

Glama MCP registry listing, search, category, or server detail URLs. Examples: /mcp/servers, /mcp/categories/web-scraping, or a specific /mcp/servers/owner/repo page.

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

Maximum number of MCP server records to save. The default keeps first runs inexpensive; raise it for larger registry monitoring jobs.

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

Open each Glama server detail page to extract categories, package links, repository URLs, tools, README text, and score/safety signals.

## `maxConcurrency` (type: `integer`):

Number of Glama pages fetched at the same time. Keep this conservative because Glama pages can be slow.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://glama.ai/mcp/servers"
    }
  ],
  "maxItems": 20,
  "includeDetails": true,
  "maxConcurrency": 3
}
```

# 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://glama.ai/mcp/servers"
        }
    ],
    "maxItems": 20,
    "includeDetails": true,
    "maxConcurrency": 3
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/glama-mcp-registry-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://glama.ai/mcp/servers" }],
    "maxItems": 20,
    "includeDetails": True,
    "maxConcurrency": 3,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/glama-mcp-registry-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://glama.ai/mcp/servers"
    }
  ],
  "maxItems": 20,
  "includeDetails": true,
  "maxConcurrency": 3
}' |
apify call automation-lab/glama-mcp-registry-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Glama MCP Registry Scraper",
        "description": "Scrape Glama's MCP registry for MCP ecosystem monitoring: server metadata, tools, repository/package links, categories, README snippets, and safety/score signals.",
        "version": "0.1",
        "x-build-id": "3OTGy3TEjxxAf6RBA"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~glama-mcp-registry-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-glama-mcp-registry-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~glama-mcp-registry-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-glama-mcp-registry-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~glama-mcp-registry-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-glama-mcp-registry-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Glama MCP registry listing, search, category, or server detail URLs. Examples: /mcp/servers, /mcp/categories/web-scraping, or a specific /mcp/servers/owner/repo page.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItems": {
                        "title": "Maximum servers",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of MCP server records to save. The default keeps first runs inexpensive; raise it for larger registry monitoring jobs.",
                        "default": 20
                    },
                    "includeDetails": {
                        "title": "Fetch server detail pages",
                        "type": "boolean",
                        "description": "Open each Glama server detail page to extract categories, package links, repository URLs, tools, README text, and score/safety signals.",
                        "default": true
                    },
                    "maxConcurrency": {
                        "title": "Maximum concurrency",
                        "minimum": 1,
                        "maximum": 8,
                        "type": "integer",
                        "description": "Number of Glama pages fetched at the same time. Keep this conservative because Glama pages can be slow.",
                        "default": 3
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
