# Suruga-ya (駿河屋) – Used Hobby Item Price Scraper (`datalab-jp/suruga-ya-scraper`) Actor

Scrape used hobby-goods prices from Suruga-ya, Japan's big second-hand store for figures, anime merchandise, games, and collectibles. Get used and new prices, stock, category, and images as clean JSON. Great for resale sourcing and price research across Japanese collectibles. No code required.

- **URL**: https://apify.com/datalab-jp/suruga-ya-scraper.md
- **Developed by:** [Task Data](https://apify.com/datalab-jp) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 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.

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

## Suruga-ya (駿河屋) – Used Hobby Item Price Scraper

Extract **used and new prices, stock status, and product details** from [Suruga-ya](https://www.suruga-ya.jp/) — Japan's largest used hobby marketplace, covering trading figures, retro games, trading cards, anime merchandise, and other collectibles. Built for **international resellers, collectors, and market researchers** who need reliable Japanese hobby-market pricing data. No coding required: enter a keyword or category, run, and get clean JSON.

A key feature is that Suruga-ya lists **fixed store prices**, not auction bids — so you get a stable, repeatable price signal for used hobby goods and second-hand prices, rather than a one-off bidding outcome.

### What data can you extract?

| Field | Description |
|-------|--------------|
| `productId` | Suruga-ya product id (e.g. `601194395`) |
| `title` | Product title (Japanese) |
| `inStock` | `true` if a used or new price is available, `false` if sold out |
| `stockLabel` | Raw stock/price label text from the listing (e.g. 品切れ) |
| `usedPrice` | Used (中古) price in JPY, or `null` if unavailable |
| `newPrice` | New (新品) price in JPY, or `null` if unavailable |
| `listPrice` | Original list price (定価) in JPY |
| `currency` | Always `"JPY"` |
| `category` | Product condition/category label shown on the listing |
| `brand` | Manufacturer or brand name |
| `releaseDate` | Release date, if shown (e.g. `2026/01/26`) |
| `isNewArrival` | `true` if flagged as a new arrival on Suruga-ya |
| `imageUrl` | Product photo URL |
| `url` | Direct link to the product page |
| `keyword` | The search keyword that produced this result |
| `scrapedAt` | ISO 8601 timestamp of when the item was scraped |

### Why scrape Suruga-ya?

- **Reseller sourcing** — find used Japanese figures, games, and cards priced below their list price (定価).
- **Arbitrage** — compare Suruga-ya's fixed store prices against eBay, Mercari, or other international marketplaces to spot margin opportunities.
- **Collector & market research** — track used hobby item and anime merchandise pricing for specific series, franchises, or retro titles over time.
- **Stock monitoring** — filter to in-stock-only results to catch restocks of hard-to-find collectibles.
- **AI agents / RAG** — feed structured Japanese hobby-market pricing data into an LLM workflow. This Actor is discoverable and callable through the [Apify MCP server](https://mcp.apify.com/), so an autonomous Claude, Cursor, or ChatGPT agent can query it directly.

### How to use it (no coding)

1. Click **Try for free / Start**.
2. Enter a **Search keyword** (Japanese or English, e.g. `ポケモン`) and/or a **Category ID**.
3. Optionally enable **In-stock items only** to skip sold-out (品切れ) listings.
4. Click **Start** and download the results as JSON, CSV, or Excel — or pull them via the API (below).

### Input example

```json
{
  "searchKeyword": "ポケモン",
  "inStockOnly": false,
  "maxItems": 100
}
````

All fields are optional — running with no input uses sensible defaults (keyword `ポケモン`, both in-stock and sold-out items, 100 items). At least one of `searchKeyword` or `categoryId` must be provided.

### Output example

Each result is one product listing:

```json
{
  "productId": "601194395",
  "title": "ポケットモンスター Diamond Dust",
  "inStock": false,
  "stockLabel": "品切れ",
  "usedPrice": null,
  "newPrice": null,
  "listPrice": 1540,
  "currency": "JPY",
  "category": "トレーディングフィギュア",
  "brand": "リーメント",
  "releaseDate": "2026/01/26",
  "isNewArrival": true,
  "imageUrl": "https://www.suruga-ya.jp/database/photo.php?shinaban=601194395&size=m",
  "url": "https://www.suruga-ya.jp/product/detail/601194395?tenpo_cd=400498",
  "keyword": "ポケモン",
  "scrapedAt": "2026-07-09T00:00:00.000Z"
}
```

### How much does it cost?

This Actor uses **pay-per-event** pricing: a small charge when a run starts, plus a per-result charge for each item returned. You only pay for the data you actually receive, so a 100-item run costs about the price of 100 results. Use `maxItems` to cap your spend. Note that this Actor uses a Japan-based residential proxy by default (see FAQ), which has a higher underlying data cost than a datacenter proxy, though this does not change the pay-per-event price you are billed.

### Integrations: API, MCP, and AI agents

This Actor is **read-only**: it only reads publicly available listing data and performs no login, purchase, or write actions — safe for autonomous agents to call.

#### API (curl)

```bash
curl -X POST "https://api.apify.com/v2/acts/datalab-jp~suruga-ya-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchKeyword": "ポケモン", "inStockOnly": true, "maxItems": 50}'
```

> Synchronous runs time out after 300 seconds. For large scrapes, use the standard [run endpoint](https://docs.apify.com/api/v2/act-runs-post) and fetch the dataset afterwards.

#### Python (apify-client)

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("datalab-jp/suruga-ya-scraper").call(run_input={
    "searchKeyword": "ポケモン",
    "inStockOnly": True,
    "maxItems": 50,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)
```

#### JavaScript (apify-client)

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

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('datalab-jp/suruga-ya-scraper').call({
    searchKeyword: 'ポケモン',
    inStockOnly: true,
    maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

#### MCP / AI agents

This Actor is available through the [Apify MCP server](https://mcp.apify.com/). AI agents (Claude, and any MCP-compatible client) can discover it with `search-actors`, inspect its inputs with `fetch-actor-details`, and run it with `call-actor` — no manual setup on your side.

### Related Actors

Part of a family of **Japanese second-hand & resale market** scrapers with a consistent output shape, so you can combine them for cross-marketplace comps:

- **Yahoo! Auctions Sold Scraper** — sold-price history from Japan's largest auction site
- **Japan Flea Market Scraper** — Rakuma & Yahoo! Flea Market listings
- **Mercari Japan Scraper** — Japan's largest C2C marketplace, with sold-price filtering
- **CardRush TCG Price Scraper** — trading card prices across 9 card games (Pokémon, One Piece, etc.)
- **Melonbooks Scraper** — doujin goods and otaku merchandise

### FAQ

**Is scraping Suruga-ya legal?**
This Actor collects only **publicly available** listing data from Suruga-ya's search results pages. It does not log in, bypass paywalls, or collect private personal data. You are responsible for using the data in accordance with applicable laws and Suruga-ya's terms of service.

**Can I call this Actor from my own app or API?**
Yes. Use the Apify API or the `apify-client` libraries shown above. Every run returns a dataset you can fetch as JSON, CSV, or Excel.

**Can AI agents use this Actor?**
Yes. It is exposed through the Apify MCP server, so agents can find and run it automatically. It is read-only and safe to call.

**Why does it use a residential proxy by default?**
Suruga-ya's WAF blocks Apify's datacenter proxy IPs outright, and it also blocks non-Japanese residential IPs from Apify's global residential pool — connections succeed at the network level but the site still returns 403. A Japan-based residential proxy (`RESIDENTIAL` group, country `JP`) is required for reliable results and is set as the default; changing it to datacenter or a non-JP country will likely cause runs to fail.

**Why are `usedPrice` and `newPrice` sometimes both `null`?**
Sold-out (品切れ) listings only show the original list price (定価), with no active used or new price line. Set **In-stock items only** to `true` to filter these out.

### Disclaimer

This Actor collects **publicly available** listing data only. It does not collect personal data. Use responsibly and in accordance with applicable laws and Suruga-ya's terms.

# Actor input Schema

## `searchKeyword` (type: `string`):

Keyword to search on Suruga-ya, Japan's largest used hobby marketplace, e.g. 'ポケモン' (Pokemon) or 'ガンダム' (Gundam), 'ワンピース フィギュア' (One Piece figures). Both Japanese and romanized English keywords work, since many product titles are indexed in both scripts. If omitted, the Actor falls back to the default keyword 'ポケモン' shown below rather than failing. At least one of `searchKeyword` or `categoryId` must be set, or the run throws an error before scraping starts.

## `categoryId` (type: `string`):

Suruga-ya category id used to narrow the search to one product type, such as figures, trading cards, or retro games (find the numeric id in a Suruga-ya category URL's `category` parameter). Example values look like '200' or '7'. Leave this empty to search across all categories using only `searchKeyword`. It can also be combined with `searchKeyword` to search a keyword within one category, or used alone to browse a whole category without a keyword.

## `inStockOnly` (type: `boolean`):

When enabled, skips sold-out (品切れ) listings and returns only items currently available to buy as used or new stock. For example, turn this on when sourcing items to purchase, or leave it off when you also want list-price (定価) data for out-of-stock items. If omitted, it defaults to `false`, meaning both in-stock and sold-out listings are returned. Stock status is determined by whether a used or new price is present on the listing.

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

Maximum number of product listings to return across all paginated search result pages, for example 50 for a quick sample or 1000 for a broad market scan. Accepts whole numbers from 1 to 5000. If omitted, it defaults to 100. Each returned item is one billable result, so this field is the primary way to control run cost, and the Actor stops paginating once the limit or the last available page is reached.

## `proxyConfiguration` (type: `object`):

Apify Proxy settings used for every request to Suruga-ya. This Actor's WAF blocks Apify's datacenter proxy IPs and non-Japanese residential IPs outright, so a Japan-based residential proxy is required for reliable results. The default below (`RESIDENTIAL` group, country `JP`) is pre-configured for this reason and should not be changed to datacenter or non-JP settings. Residential proxy traffic costs more per GB than datacenter, so factor that into cost estimates for large runs.

## Actor input object example

```json
{
  "searchKeyword": "ポケモン",
  "inStockOnly": false,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "JP"
  }
}
```

# 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 = {
    "searchKeyword": "ポケモン"
};

// Run the Actor and wait for it to finish
const run = await client.actor("datalab-jp/suruga-ya-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 = { "searchKeyword": "ポケモン" }

# Run the Actor and wait for it to finish
run = client.actor("datalab-jp/suruga-ya-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 '{
  "searchKeyword": "ポケモン"
}' |
apify call datalab-jp/suruga-ya-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Suruga-ya (駿河屋) – Used Hobby Item Price Scraper",
        "description": "Scrape used hobby-goods prices from Suruga-ya, Japan's big second-hand store for figures, anime merchandise, games, and collectibles. Get used and new prices, stock, category, and images as clean JSON. Great for resale sourcing and price research across Japanese collectibles. No code required.",
        "version": "0.0",
        "x-build-id": "jA5WO5ztqpExfhhZ9"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/datalab-jp~suruga-ya-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-datalab-jp-suruga-ya-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/datalab-jp~suruga-ya-scraper/runs": {
            "post": {
                "operationId": "runs-sync-datalab-jp-suruga-ya-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/datalab-jp~suruga-ya-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-datalab-jp-suruga-ya-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": {
                    "searchKeyword": {
                        "title": "Search keyword",
                        "type": "string",
                        "description": "Keyword to search on Suruga-ya, Japan's largest used hobby marketplace, e.g. 'ポケモン' (Pokemon) or 'ガンダム' (Gundam), 'ワンピース フィギュア' (One Piece figures). Both Japanese and romanized English keywords work, since many product titles are indexed in both scripts. If omitted, the Actor falls back to the default keyword 'ポケモン' shown below rather than failing. At least one of `searchKeyword` or `categoryId` must be set, or the run throws an error before scraping starts.",
                        "default": "ポケモン"
                    },
                    "categoryId": {
                        "title": "Category ID (optional)",
                        "type": "string",
                        "description": "Suruga-ya category id used to narrow the search to one product type, such as figures, trading cards, or retro games (find the numeric id in a Suruga-ya category URL's `category` parameter). Example values look like '200' or '7'. Leave this empty to search across all categories using only `searchKeyword`. It can also be combined with `searchKeyword` to search a keyword within one category, or used alone to browse a whole category without a keyword."
                    },
                    "inStockOnly": {
                        "title": "In-stock items only",
                        "type": "boolean",
                        "description": "When enabled, skips sold-out (品切れ) listings and returns only items currently available to buy as used or new stock. For example, turn this on when sourcing items to purchase, or leave it off when you also want list-price (定価) data for out-of-stock items. If omitted, it defaults to `false`, meaning both in-stock and sold-out listings are returned. Stock status is determined by whether a used or new price is present on the listing.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of product listings to return across all paginated search result pages, for example 50 for a quick sample or 1000 for a broad market scan. Accepts whole numbers from 1 to 5000. If omitted, it defaults to 100. Each returned item is one billable result, so this field is the primary way to control run cost, and the Actor stops paginating once the limit or the last available page is reached.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy settings used for every request to Suruga-ya. This Actor's WAF blocks Apify's datacenter proxy IPs and non-Japanese residential IPs outright, so a Japan-based residential proxy is required for reliable results. The default below (`RESIDENTIAL` group, country `JP`) is pre-configured for this reason and should not be changed to datacenter or non-JP settings. Residential proxy traffic costs more per GB than datacenter, so factor that into cost estimates for large runs.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "JP"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
