# TCGplayer Data Scraper (`devcake/tcgplayer-data-scraper`) Actor

Scrape TCGPlayer prices in seconds. Get real-time market data, seller listings, No API key required. Export as JSON, CSV, or Excel.

- **URL**: https://apify.com/devcake/tcgplayer-data-scraper.md
- **Developed by:** [devcake](https://apify.com/devcake) (community)
- **Categories:** E-commerce, Other
- **Stats:** 133 total users, 13 monthly users, 100.0% runs succeeded, 4 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🃏 TCGPlayer Scraper | Scrape Trading Card Prices & Data

**The TCGPlayer Scraper lets you scrape TCGPlayer for trading card prices, market data, and seller listings.** No API key required - perform TCGPlayer card search across store listings for Pokemon, Magic: The Gathering, Yu-Gi-Oh!, sports cards, and all TCG categories with real-time pricing, seller ratings, and optional sales history.

---

### 📋 What This Scraper Does

The TCGPlayer Scraper automatically searches and extracts comprehensive product data including:

- 💰 **Real-time market prices** - Current market value, median price, lowest price
- 🚚 **True total cost** - Lowest price including shipping for accurate cost comparison
- 🏪 **Complete seller data** - Ratings, verification status, gold seller badges, direct seller flags
- 🎴 **Card attributes** - Set info, rarity, card number, condition, printing type
- 📊 **Optional enrichment** - Actual sales history and price points by printing type (Normal/Foil)
- 📦 **Bulk export** - Scrape hundreds of products in a single run with concurrent processing

#### 🔧 Problem Solved

TCGPlayer data scraping has traditionally required an API key or expensive subscriptions. This scraper provides TCGPlayer data access without authentication - a cost-effective solution for:

- 📈 **Price tracking** - Monitor card values over time
- 💵 **Arbitrage research** - Find underpriced cards across sellers
- 📋 **Inventory management** - Pull current pricing for your listings
- 🔍 **Market analysis** - Build datasets for research or machine learning

---

### ⚡ Features

| Feature | Description |
|---------|-------------|
| 🔍 **TCGPlayer Search** | Search across all stores, categories, and card types |
| 🚀 **Concurrent Scraping** | 10x faster with parallel page processing |
| 🔐 **TLS Fingerprinting Bypass** | Uses curl_cffi Chrome impersonation for reliable access |
| 📝 **Multiple Search Queries** | Scrape different card categories simultaneously |
| 📄 **Full Pagination** | Up to 100 pages per query, 50 products per page |
| 🔄 **5 Sort Options** | Best Match, Best Selling, A-Z, Price High-Low, Price Low-High |
| 💵 **TCGPlayer Sales Data** | Get actual sales history, transaction prices, and price trends |
| 📥 **TCGPlayer Data Download** | Export results as JSON, CSV, Excel, or via REST API |
| ✨ **Clean Output** | Internal fields automatically removed |

---

### 🎛️ Input Parameters

| Parameter | Type | Default | Max | Description |
|-----------|------|---------|-----|-------------|
| `queries` | array | `["pokemon cards"]` | - | TCGPlayer card search queries. Search store listings for any card |
| `sortOption` | string | `"Best Match"` | - | Sort order (see options below) |
| `startPage` | integer | `1` | - | Starting page (1-based), applies per query |
| `pageCount` | integer | `3` | 100 | Pages to scrape **per query** (50 products/page) |
| `enrichData` | boolean | `false` | - | Fetch sales history & price points |

#### 🔀 Sort Options

- 🎯 `Best Match` - Default relevance ranking
- 🔥 `Best Selling` - Sort by popularity and sales volume
- 🔤 `A-Z` - Alphabetical by product name
- 💰 `Price: High to Low` - Highest prices first
- 💸 `Price: Low to High` - Lowest prices first

#### 📝 Example Input

```json
{
  "queries": ["charizard", "black lotus", "blue eyes white dragon"],
  "sortOption": "Price: Low to High",
  "startPage": 1,
  "pageCount": 2,
  "enrichData": false
}
````

**💡 Note:** With 3 queries × 2 pages × 50 products = **300 products total**

***

### 📤 Output Data Structure

#### 🎴 Core Product Fields

| Field | Type | Description |
|-------|------|-------------|
| `productId` | integer | Unique TCGPlayer product identifier |
| `productName` | string | Full product name |
| `productUrlName` | string | URL-safe product name slug |
| `url` | string | Direct link to product page |
| `imageUrl` | string | Product image URL (400x400) |
| `setName` | string | Card set name (e.g., "Base Set Unlimited") |
| `setCode` | string | Set abbreviation (e.g., "BASE") |
| `rarity` | string | Rarity code |
| `rarityName` | string | Full rarity name (e.g., "Rare Holo") |
| `number` | string | Card number in set |
| `condition` | string | Default condition |

#### 💰 Pricing Fields

| Field | Type | Description |
|-------|------|-------------|
| `marketPrice` | number | Current TCGPlayer market price |
| `medianPrice` | number | Median price across all listings |
| `lowestPrice` | number | Lowest listing price (before shipping) |
| `lowestPriceWithShipping` | number | **True lowest price including shipping** |
| `totalListings` | integer | Number of active seller listings |

#### 🏪 Seller Listing Details

Each product includes a `listings` array with:

| Field | Type | Description |
|-------|------|-------------|
| `listingId` | integer | Unique listing identifier |
| `sellerName` | string | Seller's store name |
| `sellerId` | integer | Seller's TCGPlayer ID |
| `sellerKey` | string | Seller's unique key |
| `sellerRating` | number | Seller rating score |
| `sellerSales` | integer | Total sales by seller |
| `sellerPrograms` | array | Seller program memberships |
| `verifiedSeller` | boolean | TCGPlayer verified status |
| `goldSeller` | boolean | Gold seller badge |
| `directSeller` | boolean | Direct from TCGPlayer |
| `condition` | string | Card condition (Mint, Near Mint, etc.) |
| `printing` | string | Printing type (Normal, Foil) |
| `language` | string | Card language (English, Japanese, etc.) |
| `price` | number | Listing price |
| `shippingPrice` | number | Shipping cost |
| `totalPrice` | number | Price + shipping combined |
| `quantity` | integer | Available quantity |

#### ⚡ Pokemon Card Attributes (when available)

| Field | Type | Description |
|-------|------|-------------|
| `customAttributes.cardType` | string | Card type (Pokemon, Trainer, Energy) |
| `customAttributes.energyType` | string | Energy type (Fire, Water, etc.) |
| `customAttributes.stage` | string | Evolution stage (Basic, Stage 1, Stage 2) |
| `customAttributes.hp` | string | Hit points |
| `customAttributes.retreatCost` | number | Retreat cost |
| `customAttributes.weakness` | string | Weakness type |
| `customAttributes.resistance` | string | Resistance type |
| `customAttributes.attack1` | object | First attack details |

#### 📊 Enrichment Data (when `enrichData: true`)

| Field | Type | Description |
|-------|------|-------------|
| `_enriched` | boolean | True if enrichment data was fetched |
| `_enrichment.sales.totalSales` | integer | Total number of recorded sales |
| `_enrichment.sales.lastSaleDate` | string | Date of most recent sale |
| `_enrichment.sales.avgPrice` | number | Average sale price |
| `_enrichment.sales.priceRange` | object | `{min, max}` sale prices |
| `_enrichment.sales.recentSales[]` | array | Last 10 sales with date, price, condition |
| `_enrichment.pricePoints.normal` | object | Normal printing prices |
| `_enrichment.pricePoints.foil` | object | Foil printing prices |

#### 🏷️ Metadata Tags

| Field | Type | Description |
|-------|------|-------------|
| `_query` | string | Search query that found this product |
| `_scrapedPage` | integer | Page number where product was found |
| `_sortOption` | string | Sort option used |
| `_scrapedAt` | string | ISO 8601 timestamp |
| `_scraperVersion` | string | Actor version |

***

### 📄 Example Output

```json
{
  "productId": 290158372,
  "productName": "Charizard - 4/102 - Base Set Unlimited",
  "productUrlName": "charizard-base-set-unlimited",
  "url": "https://www.tcgplayer.com/product/290158372/charizard-base-set-unlimited",
  "imageUrl": "https://product-images.tcgplayer.com/fit-in/400x400/290158372.jpg",
  "setName": "Base Set Unlimited",
  "setCode": "BASE",
  "rarity": "Rare Holo",
  "rarityName": "Rare Holo",
  "number": "4/102",
  "marketPrice": 450.00,
  "medianPrice": 425.00,
  "lowestPrice": 399.99,
  "lowestPriceWithShipping": 414.99,
  "totalListings": 15,
  "listings": [
    {
      "listingId": 12345678,
      "sellerName": "CardShopPro",
      "sellerId": 54321,
      "sellerKey": "cardshoppro",
      "sellerRating": 98.5,
      "sellerSales": 15000,
      "sellerPrograms": ["Verified", "Gold"],
      "verifiedSeller": true,
      "goldSeller": true,
      "directSeller": false,
      "condition": "Near Mint",
      "printing": "Normal",
      "language": "English",
      "price": 399.99,
      "shippingPrice": 15.00,
      "totalPrice": 414.99,
      "quantity": 1
    }
  ],
  "customAttributes": {
    "cardType": "Pokemon",
    "stage": "Stage 2",
    "hp": "120",
    "weakness": "Water",
    "resistance": "Fighting",
    "attack1": {"name": "Fire Spin", "damage": "100"}
  },
  "_query": "charizard",
  "_scrapedPage": 1,
  "_sortOption": "Price: Low to High",
  "_scrapedAt": "2026-02-13T12:00:00Z",
  "_scraperVersion": "3.0.0",
  "_enriched": false
}
```

#### 📊 Enriched Output Example (with `enrichData: true`)

```json
{
  "_enriched": true,
  "_enrichment": {
    "sales": {
      "totalSales": 234,
      "lastSaleDate": "2026-02-12T15:30:00Z",
      "avgPrice": 435.50,
      "priceRange": {"min": 380.00, "max": 520.00},
      "recentSales": [
        {"date": "2026-02-12T15:30:00Z", "price": 425.00, "condition": "Near Mint"}
      ]
    },
    "pricePoints": {
      "normal": {"marketPrice": 450.00, "listedMedian": 425.00},
      "foil": {"marketPrice": 1200.00, "listedMedian": 1100.00}
    }
  }
}
```

***

### 🎮 Supported Trading Card Categories

Works with all TCGPlayer categories:

- ⚡ **Pokemon** - Base set, Sword & Shield, Scarlet & Violet, all series
- 🧙 **Magic: The Gathering** - Standard, Modern, Commander, Legacy
- 🐉 **Yu-Gi-Oh!** - Main sets, special editions, reprint sets
- ⚾ **Sports Cards** - Baseball, Basketball, Football, Hockey
- 🎲 **Other TCGs** - Digimon, Dragon Ball Super, One Piece, Flesh and Blood, and more

***

### 🚀 Getting Started

#### ☁️ Run on Apify Cloud

1. Open the [TCGPlayer Scraper on Apify](https://apify.com/devcake/tcgplayer-data-scraper)
2. Click **Run** with default settings or configure input
3. Download your scraped data as JSON, CSV, Excel, or access via REST API

***

### 💡 Use Cases

| Use Case | Description |
|----------|-------------|
| 🔍 **Card Search** | Quickly find and compare cards across all TCGPlayer stores |
| 💰 **Card Collectors** | Find the best deals with true total cost (price + shipping) |
| 📈 **Price Tracking** | Monitor market trends and price history over time |
| 💵 **Arbitrage** | Identify price discrepancies between sellers |
| 📋 **Inventory Management** | Pull current pricing for your own listings |
| 🔍 **Market Research** | Analyze pricing patterns across sets and rarities |
| 📊 **Data Analysis** | Build datasets for ML models or business intelligence |

***

### 🔑 TCGPlayer API vs This Scraper

If you're searching for TCGPlayer API access, here's how this scraper compares to the official options:

| Feature | This Scraper | TCGPlayer Official API |
|---------|--------------|------------------------|
| 🔑 **API Key Required** | No | Yes (requires partnership) |
| 🌐 **Access Method** | Public search API | Authenticated REST API |
| 💵 **Sales History** | Yes (via `enrichData`) | Limited |
| 💰 **Price Data** | Real-time | Real-time |
| ⏱️ **Rate Limits** | Auto-managed | Based on tier |
| 💳 **Cost** | Pay per Apify run | Subscription required |
| 🎯 **Best For** | One-time scraping, research | Production apps, high volume |

#### ✅ When to Use This Scraper

- You need bulk price data without an API key
- You're doing market research or price tracking
- You want sales history and price point data
- You need to scrape multiple queries quickly

#### 🏢 When to Use Official TCGPlayer API

- You're building a production application
- You need authenticated, guaranteed access
- You require SLA guarantees
- You're doing high-volume commercial operations

> **💡 Note:** This scraper does NOT require or use any TCGPlayer API key. It accesses publicly available data.

***

### ❓ Frequently Asked Questions

#### 🔑 Do I need a TCGPlayer API key?

**No.** This scraper accesses TCGPlayer's public search API directly. No API key, authentication, or TCGPlayer account is required.

#### 💵 Can I get sales history data?

**Yes.** Set `enrichData: true` in your input to fetch actual sales transactions including sale dates, prices, and conditions. This adds 2 extra API calls per product.

#### 💰 What's the difference between `marketPrice` and `lowestPrice`?

- `marketPrice` - TCGPlayer's calculated market value based on recent sales
- `lowestPrice` - The cheapest current listing (before shipping)
- `lowestPriceWithShipping` - The cheapest listing including shipping cost

#### 📊 How many products can I scrape?

- Up to **50 products per page** (TCGPlayer API limit)
- Up to **100 pages per query** (configurable)
- With 3 queries × 100 pages × 50 products = **15,000 products max**

#### 📱 Does this work with TCGPlayer's app collection?

No. This scraper searches TCGPlayer's product database. It does not access personal collections from the TCGPlayer app.

#### 🔄 Is this the same as TCGPlayer's official API?

No. This is an independent scraper that accesses TCGPlayer's public search endpoints. For official API access with authentication and SLA guarantees, contact TCGPlayer directly.

***

# Actor input Schema

## `queries` (type: `array`):

List of search queries to scrape. Pagination settings (startPage, pageCount) apply to EACH query.

## `sortOption` (type: `string`):

How to sort the results

## `startPage` (type: `integer`):

Page number to start scraping from (1-based). Applied to each query independently.

## `pageCount` (type: `integer`):

Pages to scrape PER QUERY. Each page contains 50 products. E.g., 3 queries x 2 pages = 300 products total.

## `enrichData` (type: `boolean`):

Fetch additional product details (actual sales, price points). Makes 2 extra API calls per product.

## Actor input object example

```json
{
  "queries": [
    "pokemon cards"
  ],
  "sortOption": "Best Match",
  "startPage": 1,
  "pageCount": 3,
  "enrichData": true
}
```

# Actor output Schema

## `products` (type: `string`):

All scraped trading card products with prices and listings

## `overview` (type: `string`):

Quick overview of scraped products with key fields

# 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 = {
    "queries": [
        "pokemon cards"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("devcake/tcgplayer-data-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 = { "queries": ["pokemon cards"] }

# Run the Actor and wait for it to finish
run = client.actor("devcake/tcgplayer-data-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 '{
  "queries": [
    "pokemon cards"
  ]
}' |
apify call devcake/tcgplayer-data-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "TCGplayer Data Scraper",
        "description": "Scrape TCGPlayer prices in seconds. Get real-time market data, seller listings, No API key required. Export as JSON, CSV, or Excel.",
        "version": "0.0",
        "x-build-id": "57spxpUKNBiB4s7VF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/devcake~tcgplayer-data-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-devcake-tcgplayer-data-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/devcake~tcgplayer-data-scraper/runs": {
            "post": {
                "operationId": "runs-sync-devcake-tcgplayer-data-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/devcake~tcgplayer-data-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-devcake-tcgplayer-data-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": [
                    "queries"
                ],
                "properties": {
                    "queries": {
                        "title": "Search Queries",
                        "type": "array",
                        "description": "List of search queries to scrape. Pagination settings (startPage, pageCount) apply to EACH query.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sortOption": {
                        "title": "Sort Option",
                        "enum": [
                            "Best Match",
                            "Best Selling",
                            "A-Z",
                            "Price: High to Low",
                            "Price: Low to High"
                        ],
                        "type": "string",
                        "description": "How to sort the results",
                        "default": "Best Match"
                    },
                    "startPage": {
                        "title": "Start Page",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Page number to start scraping from (1-based). Applied to each query independently.",
                        "default": 1
                    },
                    "pageCount": {
                        "title": "Number of Pages (50 products/page)",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Pages to scrape PER QUERY. Each page contains 50 products. E.g., 3 queries x 2 pages = 300 products total.",
                        "default": 3
                    },
                    "enrichData": {
                        "title": "Enrich Product Data",
                        "type": "boolean",
                        "description": "Fetch additional product details (actual sales, price points). Makes 2 extra API calls per product.",
                        "default": true
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
