# Polymarket Markets Scraper (`automation-lab/polymarket-markets-scraper`) Actor

📈 Extract Polymarket prediction markets, odds, volume, liquidity, outcomes, tags, events, status, and dates from the public Gamma API.

- **URL**: https://apify.com/automation-lab/polymarket-markets-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Other
- **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

## Polymarket Markets Scraper

Extract Polymarket prediction markets, odds, prices, volume, liquidity, tags, events, and resolution dates from the public Polymarket Gamma API.

Use this actor to build market monitors, trading research dashboards, news alerts, quant datasets, and content calendars around live prediction-market questions.

### What does Polymarket Markets Scraper do?

Polymarket Markets Scraper collects one row per Polymarket market.

It reads the public Gamma API.

It does not require a Polymarket login.

It does not open a browser.

It returns normalized fields that are ready for spreadsheets, BI tools, databases, and automated workflows.

Typical output includes the market question, market URL, status flags, outcomes, outcome prices, CLOB token IDs, volume, liquidity, best bid, best ask, last trade price, dates, tags, events, images, and the raw API object when requested.

### Who is it for?

#### Prediction-market traders

Track markets that match a topic.

Monitor odds and liquidity.

Build watchlists for active questions.

Export candidate markets into trading notebooks.

#### Quant researchers

Collect repeatable market snapshots.

Combine odds with news, social, or macro datasets.

Study volume, liquidity, and market status over time.

#### News and finance teams

Find public market questions around elections, crypto, companies, sports, and policy.

Use odds as a signal for editorial planning.

Feed market changes into dashboards or alerts.

#### Content and SEO teams

Discover trending prediction questions.

Create topic briefs from live market data.

Generate pages, newsletters, or market roundups from structured rows.

### Why use this actor?

✅ No login is required for the default public-data workflow.

✅ HTTP-only collection keeps runs fast and inexpensive.

✅ One dataset row per market makes exports easy to use.

✅ Outcome prices are parsed into arrays and normalized detail objects.

✅ Direct market URLs, market IDs, and slugs are supported.

✅ Raw Gamma API objects can be included for advanced analysis.

✅ Pay-per-result pricing is predictable for scheduled monitoring.

### Data you can extract

| Field | Description |
| --- | --- |
| `marketId` | Gamma API market ID |
| `conditionId` | Prediction market condition ID |
| `questionId` | Question identifier when available |
| `question` | Market question text |
| `url` | Polymarket market URL |
| `slug` | Polymarket market slug |
| `active` | Whether the market is active |
| `closed` | Whether the market is closed |
| `outcomes` | Outcome names such as Yes and No |
| `outcomePrices` | Current outcome prices from the API |
| `outcomeDetails` | Outcome, price, and CLOB token ID objects |
| `volume` | Market volume |
| `liquidity` | Market liquidity |
| `bestBid` | Best bid price |
| `bestAsk` | Best ask price |
| `lastTradePrice` | Latest trade price |
| `endDate` | Market end date |
| `tags` | Tags returned by Polymarket |
| `events` | Related event summaries |
| `rawData` | Optional full source record |

### How much does it cost to scrape Polymarket markets?

This actor uses pay-per-event pricing.

You pay a small start fee per run.

You then pay per market row saved to the dataset.

The default input collects 100 markets, which is suitable for a first test and for scheduled monitoring.

Because the actor uses the public API and no browser, compute cost is low.

For large monitoring jobs, increase `maxItems` and keep `includeRawData` off unless you need the full source object.

### Input options

#### Maximum markets

Set `maxItems` to the number of market rows you want.

The default is 100.

The maximum is 10,000.

#### Market status

Choose active markets, closed markets, or all markets.

Active markets are the default because they are most useful for monitoring.

#### Search text

Use `search` to filter by words in question text, descriptions, slugs, tags, categories, and event titles.

Examples:

- `bitcoin`
- `election`
- `fed`
- `trump`
- `nba`

#### Category or tag filter

Use `category` when you want a broad topic filter such as Crypto, Politics, Sports, or Elections.

The actor applies this defensively over the normalized market text because Polymarket API category fields can vary by market.

#### Exact markets

Use `marketUrls`, `marketIds`, or `marketSlugs` for exact watchlists.

This is useful when you already know which markets you need to track.

#### Advanced limits

Use `maxPages` and `pageSize` to control API pagination.

Most users can keep the defaults.

### Example input

```json
{
  "maxItems": 100,
  "status": "active",
  "search": "bitcoin",
  "includeRawData": false
}
````

### Example output

```json
{
  "marketId": "540817",
  "question": "New Rihanna Album before GTA VI?",
  "url": "https://polymarket.com/market/new-rhianna-album-before-gta-vi-926",
  "active": true,
  "closed": false,
  "outcomes": ["Yes", "No"],
  "outcomePrices": [0.12, 0.88],
  "volume": 12345.67,
  "liquidity": 891.23,
  "bestBid": 0.11,
  "bestAsk": 0.13,
  "endDate": "2026-01-01T00:00:00Z",
  "scrapedAt": "2026-07-09T00:00:00.000Z"
}
```

### How to scrape active Polymarket markets

1. Open the actor on Apify.

2. Keep `status` set to `active`.

3. Set `maxItems` to the number of markets you need.

4. Optionally enter a search keyword such as `bitcoin` or `election`.

5. Click Start.

6. Export the dataset as JSON, CSV, Excel, or via API.

### How to monitor exact market URLs

Paste market URLs into `marketUrls`.

Set `maxItems` to at least the number of URLs.

Run the actor on a schedule.

Connect the dataset to your alerting or database workflow.

### Integrations

#### Google Sheets

Export the dataset as CSV or connect via the Apify Google Sheets integration.

Use it for watchlists, market snapshots, and editorial planning sheets.

#### Databases

Send output to PostgreSQL, BigQuery, Snowflake, or any destination supported by Apify integrations.

Use `marketId` and `scrapedAt` for time-series snapshots.

#### Dashboards

Connect runs to Looker Studio, Metabase, Grafana, or a custom dashboard.

Track liquidity, price changes, and active market counts.

#### Alerts

Use scheduled runs with webhooks.

Trigger alerts when new matching markets appear or when odds cross a threshold in your downstream workflow.

### API usage

#### Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/polymarket-markets-scraper').call({
  maxItems: 100,
  status: 'active',
  search: 'bitcoin'
});
console.log(run.defaultDatasetId);
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/polymarket-markets-scraper').call(run_input={
    'maxItems': 100,
    'status': 'active',
    'search': 'bitcoin',
})
print(run['defaultDatasetId'])
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~polymarket-markets-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"maxItems":100,"status":"active","search":"bitcoin"}'
```

### MCP usage

You can use this actor from Claude through Apify MCP.

MCP endpoint:

`https://mcp.apify.com/?tools=automation-lab/polymarket-markets-scraper`

Claude Code setup:

```bash
claude mcp add apify-polymarket --url "https://mcp.apify.com/?tools=automation-lab/polymarket-markets-scraper"
```

Claude Desktop JSON config:

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

Example prompts:

- "Scrape 100 active Polymarket markets about bitcoin and summarize the highest-liquidity questions."
- "Collect active election markets and return a table of question, odds, volume, and end date."
- "Monitor these Polymarket URLs and tell me which outcomes are priced above 70%."

### Tips for better results

Keep the first run small.

Use exact market URLs for critical watchlists.

Use broad search terms for discovery.

Set `includeRawData` only when you need source-specific fields not exposed in the normalized schema.

Schedule repeat runs when you need changes over time.

Use `marketId` and `conditionId` as durable join keys.

### Common workflows

#### Active crypto market monitor

Set `status` to `active`.

Set `search` to `bitcoin` or `crypto`.

Run hourly.

Track `outcomePrices`, `volume`, and `liquidity` downstream.

#### Election question tracker

Set `search` to `election`.

Export question, URL, outcomes, prices, and end date.

Use the output for editorial monitoring.

#### Exact portfolio watchlist

Paste known market URLs.

Run on a schedule.

Compare each run to the previous dataset in your own database.

### Reliability notes

The actor uses Polymarket's public Gamma API.

The API is public and currently reachable without authentication.

Public API fields can change.

The actor therefore preserves key raw arrays and can include the full raw record when requested.

If Polymarket changes a field name, the raw object can help you adapt downstream processing quickly.

### Limitations

This actor does not place trades.

It does not access private account data.

It does not scrape user portfolios.

It does not guarantee real-time order book depth.

It returns the public API snapshot available at run time.

### Legality and legal compliance

Polymarket market data is public, but you are responsible for using exported data lawfully.

Respect applicable laws, platform terms, and trading rules.

Do not use the actor to make automated trading decisions without appropriate review.

### Troubleshooting

#### I got fewer rows than `maxItems`

Your filters may be narrow.

Try removing `search` or `category`, or increase `maxPages`.

Exact URL inputs can also produce fewer rows if some URLs no longer resolve to public markets.

#### Outcome prices look like decimals

Polymarket represents prices as probabilities between 0 and 1.

For percentages, multiply by 100 in your spreadsheet or database.

#### I need a field not in the table

Set `includeRawData` to true.

The dataset will include the full Gamma API market object for each row.

### Related scrapers

Explore other Automation Lab finance and market-data actors on Apify:

- https://apify.com/automation-lab/google-news-scraper
- https://apify.com/automation-lab/website-contact-finder
- https://apify.com/automation-lab/rss-feed-scraper

### FAQ

#### Does it need proxies?

No. The default implementation calls the public Gamma API directly.

#### Does it need a Polymarket account?

No. The actor collects public market data only.

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

Yes. Scheduled runs are useful for monitoring prices, volume, liquidity, and new markets.

#### Can I export to CSV?

Yes. Apify datasets support CSV, JSON, Excel, XML, RSS, and API access.

#### Can I collect closed markets?

Yes. Set `status` to `closed`.

#### Can I collect both active and closed markets?

Yes. Set `status` to `all`.

#### Is this official Polymarket software?

No. It is an independent Apify actor that reads public Polymarket data.

# Actor input Schema

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

Maximum number of Polymarket market rows to save.

## `status` (type: `string`):

Collect active markets, closed markets, or all markets returned by the Gamma API.

## `search` (type: `string`):

Optional keyword filter over question, description, slug, tags, categories, and event titles (for example: bitcoin, election, fed).

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

Optional client-side category/tag filter such as Crypto, Politics, Sports, or Elections.

## `marketUrls` (type: `array`):

Specific Polymarket market or event URLs to collect. The actor extracts slugs or numeric IDs when possible.

## `marketIds` (type: `array`):

Specific numeric Gamma API market IDs to collect, one per line.

## `marketSlugs` (type: `array`):

Specific Polymarket market slugs to collect, one per line.

## `maxPages` (type: `integer`):

Safety cap for paginated Gamma API list requests. Increase only when collecting large market lists.

## `pageSize` (type: `integer`):

Markets requested per Gamma API page. Larger pages reduce requests but can return more data per response.

## `includeRawData` (type: `boolean`):

Add the full raw Gamma API market object to each dataset item for advanced debugging or custom fields.

## Actor input object example

```json
{
  "maxItems": 20,
  "status": "active",
  "search": "bitcoin",
  "marketUrls": [],
  "marketIds": [],
  "marketSlugs": [],
  "maxPages": 20,
  "pageSize": 100,
  "includeRawData": false
}
```

# 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 = {
    "maxItems": 20,
    "status": "active",
    "search": "bitcoin",
    "marketUrls": [],
    "marketIds": [],
    "marketSlugs": [],
    "maxPages": 20,
    "pageSize": 100,
    "includeRawData": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/polymarket-markets-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": 20,
    "status": "active",
    "search": "bitcoin",
    "marketUrls": [],
    "marketIds": [],
    "marketSlugs": [],
    "maxPages": 20,
    "pageSize": 100,
    "includeRawData": False,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/polymarket-markets-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": 20,
  "status": "active",
  "search": "bitcoin",
  "marketUrls": [],
  "marketIds": [],
  "marketSlugs": [],
  "maxPages": 20,
  "pageSize": 100,
  "includeRawData": false
}' |
apify call automation-lab/polymarket-markets-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Polymarket Markets Scraper",
        "description": "📈 Extract Polymarket prediction markets, odds, volume, liquidity, outcomes, tags, events, status, and dates from the public Gamma API.",
        "version": "0.1",
        "x-build-id": "OYyXv94hadyAhxR9w"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~polymarket-markets-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-polymarket-markets-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~polymarket-markets-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-polymarket-markets-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~polymarket-markets-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-polymarket-markets-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": "Maximum markets",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of Polymarket market rows to save.",
                        "default": 20
                    },
                    "status": {
                        "title": "Market status",
                        "enum": [
                            "active",
                            "closed",
                            "all"
                        ],
                        "type": "string",
                        "description": "Collect active markets, closed markets, or all markets returned by the Gamma API.",
                        "default": "active"
                    },
                    "search": {
                        "title": "Search text",
                        "type": "string",
                        "description": "Optional keyword filter over question, description, slug, tags, categories, and event titles (for example: bitcoin, election, fed)."
                    },
                    "category": {
                        "title": "Category or tag filter",
                        "type": "string",
                        "description": "Optional client-side category/tag filter such as Crypto, Politics, Sports, or Elections."
                    },
                    "marketUrls": {
                        "title": "Polymarket market URLs",
                        "type": "array",
                        "description": "Specific Polymarket market or event URLs to collect. The actor extracts slugs or numeric IDs when possible.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "marketIds": {
                        "title": "Gamma market IDs",
                        "type": "array",
                        "description": "Specific numeric Gamma API market IDs to collect, one per line.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "marketSlugs": {
                        "title": "Market slugs",
                        "type": "array",
                        "description": "Specific Polymarket market slugs to collect, one per line.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxPages": {
                        "title": "Maximum API pages",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Safety cap for paginated Gamma API list requests. Increase only when collecting large market lists.",
                        "default": 20
                    },
                    "pageSize": {
                        "title": "API page size",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Markets requested per Gamma API page. Larger pages reduce requests but can return more data per response.",
                        "default": 100
                    },
                    "includeRawData": {
                        "title": "Include raw API object",
                        "type": "boolean",
                        "description": "Add the full raw Gamma API market object to each dataset item for advanced debugging or custom fields.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
