# Manifold Markets Scraper (`automation-lab/manifold-markets-scraper`) Actor

Export public Manifold prediction markets, live probabilities, volume, liquidity, creators, close dates, and resolution data without an API key.

- **URL**: https://apify.com/automation-lab/manifold-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

## Manifold Markets Scraper

Export public Manifold prediction markets, live probabilities, activity, liquidity, and resolution data into a clean Apify dataset.

The Actor uses Manifold's anonymous public API, so you do not need a Manifold login, API key, browser, or proxy.

Use it for recurring probability snapshots, market discovery, forecasting research, dashboards, journalism, and model features.

### What does Manifold Markets Scraper do?

Manifold Markets Scraper discovers public markets and saves one structured row per market.

It collects:

- market ID and question;
- creator username and display name;
- creation, close, update, and resolution timestamps;
- outcome type and mechanism;
- current probability;
- total and 24-hour volume;
- total liquidity and unique bettor count;
- resolution status and result;
- slug and canonical Manifold URL.

You can filter the source scan without writing code.

### Who is it for?

#### Forecasting researchers

Schedule probability snapshots and compare beliefs over time.

#### Prediction-market analysts

Find liquid or recently active questions for deeper analysis.

#### Data journalists

Export traceable market questions and probabilities with canonical source links.

#### Educators

Build classroom datasets about calibration, uncertainty, and collective forecasting.

#### Dashboard and model builders

Feed normalized records into a warehouse, notebook, alerting pipeline, or forecasting model.

### Why use this Actor?

- **No credentials:** the read workflow is anonymous.
- **Structured output:** timestamps and nullable values are normalized.
- **Bounded runs:** `maxItems` and `maxPages` control work and cost.
- **Useful filters:** status, creator, outcome type, dates, and volume.
- **Repeatable snapshots:** schedule the same input for time-series collection.
- **Optional source fidelity:** keep the complete API object with `includeRaw`.
- **Apify integrations:** export to JSON, CSV, Excel, webhook, API, or cloud storage.

### How to scrape Manifold prediction markets

1. Open the Actor input page.
2. Choose the maximum number of markets.
3. Select all, open, or resolved markets.
4. Add optional creator, outcome, time, or volume filters.
5. Keep the default page bound for a quick run.
6. Click **Start**.
7. Download the dataset or consume it through the Apify API.

A useful first run is 20 open markets with no other filters.

### Input options

| Field | Type | Default | Purpose |
|---|---|---:|---|
| `maxItems` | integer | 20 | Maximum matching markets saved |
| `status` | string | `all` | `all`, `open`, or `resolved` |
| `creatorUsername` | string | empty | Exact Manifold username, without `@` |
| `outcomeType` | string | empty | Exact type such as `BINARY` or `NUMERIC` |
| `createdAfter` | ISO date/time | empty | Exclude older markets |
| `closeBefore` | ISO date/time | empty | Keep markets closing by a deadline |
| `minVolume` | number | 0 | Minimum total market volume |
| `maxPages` | integer | 20 | Maximum source pages scanned |
| `includeRaw` | boolean | false | Attach the original source object |

Selective filters may require more pages before enough matches are found.

### Example inputs

#### Open-market snapshot

```json
{
  "maxItems": 100,
  "status": "open",
  "minVolume": 100,
  "maxPages": 20
}
````

#### Creator portfolio

```json
{
  "maxItems": 200,
  "status": "all",
  "creatorUsername": "ManifoldMarkets",
  "maxPages": 50
}
```

#### Recently created binary markets

```json
{
  "maxItems": 500,
  "outcomeType": "BINARY",
  "createdAfter": "2026-07-01T00:00:00.000Z",
  "includeRaw": true
}
```

### Output data

Each dataset item represents one Manifold market.

| Field | Description |
|---|---|
| `marketId` | Stable Manifold market ID |
| `question` | Prediction question |
| `creatorId` | Creator account ID, when available |
| `creatorUsername` | Creator username |
| `creatorName` | Creator display name |
| `createdAt` | ISO creation timestamp |
| `closeAt` | ISO close timestamp or null |
| `outcomeType` | Binary, multiple choice, numeric, or another source type |
| `mechanism` | Market mechanism from Manifold |
| `probability` | Current probability when applicable |
| `volume` | Total market volume |
| `volume24Hours` | Volume in the latest 24-hour source window |
| `totalLiquidity` | Current liquidity when exposed |
| `uniqueBettorCount` | Unique participant count when exposed |
| `isResolved` | Whether the market is resolved |
| `resolution` | Resolution result when available |
| `resolvedAt` | ISO resolution timestamp or null |
| `lastUpdatedAt` | ISO last-update timestamp or null |
| `slug` | Manifold market slug |
| `url` | Canonical public market URL |
| `scrapedAt` | Snapshot collection timestamp |
| `raw` | Optional original API object |

### Example output

```json
{
  "marketId": "sNE9ES6NC2",
  "question": "Example prediction question?",
  "creatorUsername": "forecast_user",
  "createdAt": "2026-07-14T01:20:00.000Z",
  "closeAt": "2026-12-31T23:59:00.000Z",
  "outcomeType": "BINARY",
  "mechanism": "cpmm-1",
  "probability": 0.42,
  "volume": 152.01,
  "volume24Hours": 19.5,
  "isResolved": false,
  "resolution": null,
  "url": "https://manifold.markets/example/example-question",
  "scrapedAt": "2026-07-14T02:30:00.000Z"
}
```

Source fields vary by market type, so inapplicable values are returned as null rather than invented.

### Filtering recipes

#### Find active open questions

Set `status` to `open` and choose a positive `minVolume`.

#### Build a creator feed

Set `creatorUsername` to an exact username and schedule the Actor daily.

#### Review resolved forecasts

Set `status` to `resolved` and export `probability`, `resolution`, and timestamps.

#### Track a deadline window

Set `closeBefore` to the end of your reporting or planning period.

### Pagination and limits

Manifold returns markets in newest-first source order.

The Actor follows the public `before` cursor and removes duplicate IDs inside each run.

`maxItems` limits saved records.

`maxPages` limits scanned API pages, with up to 100 source records per page.

A run may return fewer than `maxItems` when filters are selective or the page bound is reached.

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

The Actor uses pay-per-event pricing:

- **Start:** $0.005 per run.
- **Market record:** tiered by Apify plan.
- **FREE:** $0.00003285 per saved market.
- **BRONZE:** $0.000028565 per saved market.
- **SILVER:** $0.000022281 per saved market.
- **GOLD:** $0.000017139 per saved market.
- **PLATINUM:** $0.000011426 per saved market.
- **DIAMOND:** $0.00001 per saved market.

You are charged for records actually saved, not every market scanned.

Use a small `maxItems` value to test an input before scaling it.

### Scheduling recurring snapshots

Apify schedules turn this scraper into a lightweight market monitor.

For example:

1. run every hour;
2. request open markets above a volume threshold;
3. save the dataset to your warehouse;
4. compare `probability` by `marketId` with the prior snapshot;
5. alert on meaningful probability or activity changes.

The Actor does not persist history by itself; each run is a current public snapshot.

### Integrations

#### Google Sheets

Send the dataset to a spreadsheet for analyst review.

#### Webhooks

Notify your service when a scheduled run finishes.

#### Data warehouses

Load JSON or CSV records into BigQuery, Snowflake, PostgreSQL, or DuckDB.

#### BI tools

Use stable market IDs to build probability and volume dashboards.

#### Automation platforms

Connect Apify with Make, Zapier, n8n, or custom workflows.

### API usage with Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/manifold-markets-scraper').call({
  maxItems: 100,
  status: 'open',
  minVolume: 100
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

### API usage with Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("automation-lab/manifold-markets-scraper").call(run_input={
    "maxItems": 100,
    "status": "open",
    "minVolume": 100,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)
```

### API usage with cURL

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

Fetch run results from the returned default dataset ID.

### Use with Apify MCP

Connect the Actor to AI assistants through [Apify MCP](https://mcp.apify.com/?tools=automation-lab/manifold-markets-scraper).

#### Claude Code

```bash
claude mcp add --transport http apify \
  'https://mcp.apify.com/?tools=automation-lab/manifold-markets-scraper'
```

#### Claude Desktop, Cursor, and VS Code

Use this remote MCP configuration in Claude Desktop, Cursor, or VS Code:

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

Example prompts:

- “Export 100 open Manifold markets with at least 500 volume.”
- “Find recently created binary prediction markets and summarize their probabilities.”
- “Collect resolved Manifold markets for a calibration notebook.”

### Tips for reliable results

- Start with low limits and inspect the dataset.
- Use exact Manifold usernames without `@`.
- Use ISO 8601 timestamps with a timezone.
- Increase `maxPages` only for selective filters.
- Keep `includeRaw` off unless you need source-specific fields.
- Use `marketId`, not question text, as your database key.
- Treat probability as a snapshot that can change after collection.

### Error handling and retries

The Actor retries temporary network errors, rate limits, and Manifold server errors with exponential backoff.

Invalid date inputs stop early with a clear message.

A permanent non-retryable API response is surfaced instead of silently returning incomplete data.

The run is bounded by both page and item limits.

### Data quality and caveats

Manifold defines the meaning and availability of source fields.

Probability is most meaningful for probabilistic market types and may be null for other structures.

Liquidity, bettor counts, close time, and resolution details can be absent.

Volume units and market mechanisms follow Manifold's own API semantics.

This Actor normalizes records but does not predict outcomes or verify market claims.

### Legality: is scraping Manifold legal?

This Actor reads publicly accessible market metadata from Manifold's anonymous API.

Public availability does not remove your responsibility to follow applicable law, Manifold's terms, and privacy requirements.

Do not use the output for unlawful targeting, manipulation, or deceptive financial claims.

This tool is for data collection and analysis, not investment advice.

### FAQ

#### Do I need a Manifold account or API key?

No. The supported read workflow uses public endpoints.

#### Can I download every market?

You can raise `maxItems` and `maxPages` within their bounds, but use responsible limits and expect the source to evolve.

#### Why did I get fewer records than `maxItems`?

Your filters may be selective, the source may have fewer matches, or `maxPages` may have stopped the scan.

#### Why is probability null?

Some market types do not expose one directly comparable probability.

#### Why is a timestamp null?

The source does not provide every lifecycle timestamp for every market.

#### Does the Actor collect bets or comments?

No. Version 1 outputs market-level records only.

#### How do I troubleshoot a creator filter?

Copy the exact username from a Manifold profile and omit the leading `@`.

#### How do I reduce run cost?

Lower `maxItems`, narrow filters, and validate with a small run before scheduling larger jobs.

### Related prediction-market actors

For another venue, see [Polymarket Scraper](https://apify.com/automation-lab/polymarket-scraper).

For venue-specific workflows, prefer the dedicated source Actor rather than mixing incompatible market semantics.

### Support

If an input produces unexpected data, include:

- the run URL;
- the exact input;
- one affected market ID;
- the expected and actual behavior.

That evidence makes source changes and edge cases much faster to diagnose.

# Actor input Schema

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

Stop after saving this many matching markets.

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

Return all markets, only open markets, or only resolved markets.

## `creatorUsername` (type: `string`):

Optional exact Manifold username, without @.

## `outcomeType` (type: `string`):

Optional exact outcome type such as BINARY, MULTIPLE\_CHOICE, NUMERIC, or PSEUDO\_NUMERIC.

## `createdAfter` (type: `string`):

Optional ISO date/time. Markets created before this timestamp are excluded.

## `closeBefore` (type: `string`):

Optional ISO date/time. Markets with no close time or a later close time are excluded.

## `minVolume` (type: `number`):

Only save markets at or above this total volume.

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

Safety bound for source scanning. Each page contains up to 100 markets.

## `includeRaw` (type: `boolean`):

Attach Manifold's original API object as raw for advanced analysis and forward compatibility.

## Actor input object example

```json
{
  "maxItems": 20,
  "status": "all",
  "minVolume": 0,
  "maxPages": 20,
  "includeRaw": 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": "all",
    "creatorUsername": "",
    "outcomeType": "",
    "createdAfter": "",
    "closeBefore": "",
    "minVolume": 0,
    "maxPages": 20,
    "includeRaw": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/manifold-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": "all",
    "creatorUsername": "",
    "outcomeType": "",
    "createdAfter": "",
    "closeBefore": "",
    "minVolume": 0,
    "maxPages": 20,
    "includeRaw": False,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/manifold-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": "all",
  "creatorUsername": "",
  "outcomeType": "",
  "createdAfter": "",
  "closeBefore": "",
  "minVolume": 0,
  "maxPages": 20,
  "includeRaw": false
}' |
apify call automation-lab/manifold-markets-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Manifold Markets Scraper",
        "description": "Export public Manifold prediction markets, live probabilities, volume, liquidity, creators, close dates, and resolution data without an API key.",
        "version": "0.1",
        "x-build-id": "WXtNaUYvdPLrKRk15"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~manifold-markets-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-manifold-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~manifold-markets-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-manifold-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~manifold-markets-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-manifold-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": "Stop after saving this many matching markets.",
                        "default": 20
                    },
                    "status": {
                        "title": "Resolution status",
                        "enum": [
                            "all",
                            "open",
                            "resolved"
                        ],
                        "type": "string",
                        "description": "Return all markets, only open markets, or only resolved markets.",
                        "default": "all"
                    },
                    "creatorUsername": {
                        "title": "Creator username",
                        "type": "string",
                        "description": "Optional exact Manifold username, without @."
                    },
                    "outcomeType": {
                        "title": "Outcome type",
                        "type": "string",
                        "description": "Optional exact outcome type such as BINARY, MULTIPLE_CHOICE, NUMERIC, or PSEUDO_NUMERIC."
                    },
                    "createdAfter": {
                        "title": "Created after",
                        "type": "string",
                        "description": "Optional ISO date/time. Markets created before this timestamp are excluded."
                    },
                    "closeBefore": {
                        "title": "Closes before",
                        "type": "string",
                        "description": "Optional ISO date/time. Markets with no close time or a later close time are excluded."
                    },
                    "minVolume": {
                        "title": "Minimum total volume",
                        "minimum": 0,
                        "type": "number",
                        "description": "Only save markets at or above this total volume.",
                        "default": 0
                    },
                    "maxPages": {
                        "title": "Maximum API pages",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Safety bound for source scanning. Each page contains up to 100 markets.",
                        "default": 20
                    },
                    "includeRaw": {
                        "title": "Include raw source record",
                        "type": "boolean",
                        "description": "Attach Manifold's original API object as raw for advanced analysis and forward compatibility.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
