# JP 5ch Thread Tracker - Japan's Biggest Forum (`nexgendata/5ch-thread-tracker`) Actor

List and read threads from 5ch (formerly 2channel), Japan's largest text forum.

- **URL**: https://apify.com/nexgendata/5ch-thread-tracker.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $100.00 / 1,000 items

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

## 💬 5ch Thread Tracker — Japan's Biggest Anonymous Forum (Threads + Posts)

**Optional delivery:** Send results straight to your own Notion database or Supabase table in the same run, via Apify's native [MCP connectors](https://docs.apify.com/platform/integrations/mcp-connectors) — the Actor never sees your credentials. One-click connect: [Notion](https://console.apify.com/account/integrations/mcp-connectors/new?serverUrl=https%3A%2F%2Fmcp.notion.com%2Fmcp) or [Supabase](https://console.apify.com/account/integrations/mcp-connectors/new?serverUrl=https%3A%2F%2Fmcp.supabase.com%2Fmcp). Leave blank to get the dataset as usual.

Scrape **5ch (5ちゃんねる, formerly 2channel)** — the largest and most influential anonymous message board in Japan, the cultural ancestor of 4chan and the place Japanese opinion actually forms. Pull live thread lists with real post counts, or read every post inside a thread for full-text mining — across boards like ニュース速報+ (newsplus), ニュー速VIP, 芸スポ速報+, and 政治ニュース+. **No login, no API.**

This is the single hardest-to-reach high-signal text corpus in Japan, and it's almost entirely off-limits to Western scrapers. There's no English-language tool for it, the server topology is non-obvious, and the content is dense, unfiltered Japanese public opinion you cannot get anywhere else. For JP sentiment analysis, trend detection, RAG corpora, and brand monitoring, this is untapped gold.

### 📊 Sample Output

[![5ch thread tracker scraper sample output — live Japanese forum thread list with board, thread ID, title and post count for sentiment analysis and trend monitoring on 5ch / 2channel](https://api.apify.com/v2/key-value-stores/8gLgXMBveEI1tTz1z/records/5ch-thread-tracker-sample)](https://apify.com/nexgendata/5ch-thread-tracker?fpr=2ayu9b)

Real threads returned by this actor for `{ "mode": "board-threads", "board": "newsplus", "maxItems": 12 }` — every row below comes straight from a live run:

| Board | Thread ID | Thread title | Posts |
|---|---|---|---|
| newsplus | 1781497570 | 高市内閣の支持率、政権発足以来最低65.3%… | 204 |
| newsplus | 1781490904 | 「餃子の王将」が直面する"客単価1200円の壁"… | 369 |
| newsplus | 1781494127 | 高市政権が食品消費税1％に減税すれば… | 381 |
| newsplus | 1781401371 | 【戦争】ウクライナ戦況好転「近い将来クリミアを孤立させる」… | 878 |
| newsplus | 1781481287 | 自分は毎回「1000円カット」なのに、妻は「美容院…」 | 539 |
| newsplus | 1781401833 | 野党「3党合流」が実現したら「公明党」の選挙が変わる？… | 236 |
| newsplus | 1781482256 | だから"9割超"の若者たちが彼女を信じた…慶大名誉教授… | 437 |

> **Post count is the buzz signal.** A thread climbing past 800 posts is what's actually gripping Japan right now — politics, business, and world news surface here first, raw and unmoderated, long before they reach English coverage. Switch to `thread-posts` mode to pull every post for sentiment and RAG.

### What you get

In `board-threads` / `search` mode, per thread:

- **Location** — `board` (slug), `thread_id`
- **Topic** — `title` (the full Japanese thread title)
- **Activity** — `post_count` (the live buzz signal), `last_active`
- **Drill-down** — `thread_url` (direct link to read every post)
- **Provenance** — `data_source`, `as_of_timestamp`

In `thread-posts` mode, per post inside a thread: post number, author handle, ID, timestamp, and full body text — a clean, line-by-line corpus ready for sentiment analysis, RAG, or full-text search.

### Sample inputs

**1. List active threads on a board (trend/buzz monitoring)**
```json
{ "mode": "board-threads", "board": "newsplus", "maxItems": 12 }
````

**2. Read every post in one thread (sentiment / RAG corpus)**

```json
{ "mode": "thread-posts", "threadUrl": "https://asahi.5ch.io/test/read.cgi/newsplus/1781490904/", "maxItems": 500 }
```

**3. Filter a board's threads by keyword**

```json
{ "mode": "search", "board": "mnewsplus", "query": "声優", "maxItems": 50 }
```

### JSON sample record

One representative thread record, exactly as returned:

```json
{
  "board": "newsplus",
  "thread_id": "1781490904",
  "title": "「餃子の王将」が直面する“客単価1200円の壁” なぜ、売上好調なのに株価が下…",
  "post_count": 369,
  "thread_url": "https://asahi.5ch.io/test/read.cgi/newsplus/1781490904/",
  "last_active": "2026-06-15T04:36:46Z",
  "data_source": "asahi.5ch.io/newsplus/subject.txt",
  "as_of_timestamp": "2026-06-15T04:53:40Z"
}
```

### How it works

5ch publishes each board's live thread index as a `subject.txt` file and serves posts via `read.cgi` — but the board-to-server mapping is non-obvious and changes. This actor reads the live 5ch board directory (bbsmenu) to **resolve each board's current server automatically**, fetches `subject.txt` for thread lists, and parses `read.cgi` pages for full post text in `thread-posts` mode. No headless browser, no login, no brittle DOM scraping — just clean structured records. `maxItems` is a hard ceiling, so compute and your bill never outrun what you asked for.

### 🗾 Why this Japanese data is unique

5ch is where modern Japanese internet culture was born — the original 2channel seeded everything from 4chan to the AA art and slang that saturate JP media. Crucially, it's **anonymous**, so opinion here is unguarded in a way no Japanese social platform matches; for many news, political, and consumer topics, the real public reaction shows up on 5ch *first*. There is no English-facing tool that surfaces it. Pulling these threads and posts in clean, structured fields gives you a sentiment and early-trend feed your competitors literally cannot see.

### ⚖️ Legal & ToS

This actor reads **only public 5ch pages** — the same thread lists and posts any visitor sees, via the public `subject.txt` and `read.cgi` endpoints, no login required. It collects publicly posted, anonymous, user-generated content. It does **not** access private data, member areas, or anything behind authentication. 5ch posts are anonymous by design and may contain strong or unfiltered language; you are responsible for using and moderating the output in line with 5ch's terms and your local regulations.

### ❓ FAQ

**Q: Do I need a 5ch account or API key?**
A: No. The actor works entirely off public board indexes and thread pages — no login, no token.

**Q: How do I find the right `board` slug?**
A: Use the board's path slug — e.g. `newsplus` (ニュース速報+), `news4vip` (ニュー速VIP), `mnewsplus` (芸スポ速報+, entertainment & sports), `seijinewsplus` (政治ニュース+, politics). The actor resolves the server automatically from the live bbsmenu.

**Q: What's the difference between the three modes?**
A: `board-threads` lists a board's active threads (titles + post counts) — best for trend monitoring. `thread-posts` reads every post in one thread (supply `threadUrl`) — best for sentiment and RAG. `search` lists a board's threads then keeps only those whose title contains your keyword.

**Q: Why does `post_count` matter so much?**
A: On 5ch, thread velocity is the buzz metric. A thread racing toward 1,000 posts (5ch's per-thread cap) is what Japan is most heated about right now — it's your earliest trend signal.

**Q: Why did I get fewer threads than `maxItems`?**
A: A board only has so many active threads at any moment. `maxItems` is a ceiling, not a target — getting fewer is normal, not an error.

### 🔗 Related Actors

Pair this with the rest of the NexGenData Asia-data fleet — the markets Western scrapers can't reach:

- [🇯🇵 Yahoo! Japan Realtime Trends — Live Buzz Ranking](https://apify.com/nexgendata/yahoo-japan-realtime-trends?fpr=2ayu9b) — what Japan is searching for right now
- [📺 Niconico Video Search — Japan's Bilibili](https://apify.com/nexgendata/niconico-video-search?fpr=2ayu9b) — search and rank Japan's homegrown video platform
- [🔥 Weibo Hot Search Tracker — China's #1 Trend Surface](https://apify.com/nexgendata/weibo-hot-search-tracker?fpr=2ayu9b) — the China counterpart for trend and buzz monitoring
- 🏢 **About NexGenData** — we maintain 260+ production Apify actors for lead-gen, competitive intelligence, and hard-to-reach web data. Browse the full catalog at [apify.com/nexgendata](https://apify.com/nexgendata?fpr=2ayu9b).

### 💰 Pricing example

This actor uses **Pay-Per-Event** pricing — you only pay for threads/posts that actually land in your dataset:

- **Actor start:** $0.005
- **Per item:** $0.10

A **12-thread board pull = $0.005 + (12 × $0.10) = $1.205**. Reading a full 500-post thread = $0.005 + (500 × $0.10) = $50.005 — so use `maxItems` to scope deep `thread-posts` runs to exactly what you need. No monthly minimum, no seats, no surprise overage bills.

***

### ⭐ Found this useful?

If this actor gave you a read on Japanese public opinion no other tool could, a quick **[review on the Apify Store](https://apify.com/nexgendata/5ch-thread-tracker?fpr=2ayu9b)** helps other teams discover it. Feature request or bug? Open it from the **Issues** tab — we read every one.

# Actor input Schema

## `mode` (type: `string`):

What to collect. 'board-threads' = list the active thread list for a board (titles + post counts + URLs) from subject.txt — best for trend / buzz monitoring. 'thread-posts' = read every post in one thread (supply threadUrl) — best for sentiment, RAG corpora and full-text mining. 'search' = list a board's threads then keep only those whose title contains your keyword.

## `board` (type: `string`):

5ch board slug to read (used by board-threads and search). Examples: 'newsplus' (ニュース速報+, the main news board), 'news4vip' (ニュー速VIP), 'mnewsplus' (芸スポ速報+ / entertainment & sports), 'seijinewsplus' (政治ニュース+ / politics). The actor resolves the board's server automatically from the live 5ch board directory (bbsmenu).

## `threadUrl` (type: `string`):

Full 5ch thread URL to read posts from, e.g. https://asahi.5ch.net/test/read.cgi/newsplus/1781497598/ . Required when mode='thread-posts'. You can get these URLs from a board-threads run (thread\_url field).

## `keyword` (type: `string`):

When mode='search', keep only threads whose title contains this string (case-insensitive substring match). Japanese or English. Ignored in other modes.

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

Hard cap on records returned per run. In board-threads/search mode each record is a thread; in thread-posts mode each record is a single post. 15-50 is typical for monitoring; a busy thread can have 1000+ posts.

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

Apify proxy. 5ch is open over plain HTTP, so the default datacenter Apify Proxy is fine. Add a Japan-egress / residential group if you hit occasional rate-limiting on heavy runs.

## `notionConnector` (type: `string`):

Optional. Connect your Notion workspace and the results are also written as a Notion page in the same run — the Actor never sees your Notion credentials. Authorize a Notion MCP connector in Apify Console → Settings → API & Integrations, then select it here.

## `notionParentId` (type: `string`):

Optional. The Notion page ID to create the page under. If blank, Notion creates a private page in your workspace.

## `supabaseConnector` (type: `string`):

Optional. Connect your own Supabase project and the results are also inserted into a table in the same run — the Actor never sees your Supabase credentials. Authorize a write-scoped, project-scoped Supabase MCP connector in Apify Console (Settings -> Integrations), then select it here.

## `supabaseTable` (type: `string`):

Target table in the public schema (created if missing, with id, a jsonb data column, and a scraped\_at timestamp). Default: nexgendata\_leads.

## `supabaseProjectId` (type: `string`):

Your Supabase project reference (e.g. abcdefghijklmnop). Required unless your connector URL is already project-scoped. Find it in your project URL: supabase.com/dashboard/project/THIS\_PART.

## `deliveryDedup` (type: `boolean`):

When on (default), records already delivered in a previous run are not delivered again to the same destination — so scheduled runs only push new items. Turn off to deliver every record on every run.

## Actor input object example

```json
{
  "mode": "board-threads",
  "board": "newsplus",
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "supabaseTable": "nexgendata_leads",
  "deliveryDedup": true
}
```

# 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 = {
    "mode": "board-threads",
    "board": "newsplus",
    "maxItems": 50,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/5ch-thread-tracker").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 = {
    "mode": "board-threads",
    "board": "newsplus",
    "maxItems": 50,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/5ch-thread-tracker").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 '{
  "mode": "board-threads",
  "board": "newsplus",
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call nexgendata/5ch-thread-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nexgendata/5ch-thread-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "JP 5ch Thread Tracker - Japan's Biggest Forum",
        "description": "List and read threads from 5ch (formerly 2channel), Japan's largest text forum.",
        "version": "0.0",
        "x-build-id": "sCVGkN3IolaMFi3O1"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~5ch-thread-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-5ch-thread-tracker",
                "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/nexgendata~5ch-thread-tracker/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-5ch-thread-tracker",
                "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/nexgendata~5ch-thread-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-5ch-thread-tracker",
                "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": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "board-threads",
                            "thread-posts",
                            "search"
                        ],
                        "type": "string",
                        "description": "What to collect. 'board-threads' = list the active thread list for a board (titles + post counts + URLs) from subject.txt — best for trend / buzz monitoring. 'thread-posts' = read every post in one thread (supply threadUrl) — best for sentiment, RAG corpora and full-text mining. 'search' = list a board's threads then keep only those whose title contains your keyword.",
                        "default": "board-threads"
                    },
                    "board": {
                        "title": "Board slug",
                        "type": "string",
                        "description": "5ch board slug to read (used by board-threads and search). Examples: 'newsplus' (ニュース速報+, the main news board), 'news4vip' (ニュー速VIP), 'mnewsplus' (芸スポ速報+ / entertainment & sports), 'seijinewsplus' (政治ニュース+ / politics). The actor resolves the board's server automatically from the live 5ch board directory (bbsmenu).",
                        "default": "newsplus"
                    },
                    "threadUrl": {
                        "title": "Thread URL (thread-posts mode)",
                        "type": "string",
                        "description": "Full 5ch thread URL to read posts from, e.g. https://asahi.5ch.net/test/read.cgi/newsplus/1781497598/ . Required when mode='thread-posts'. You can get these URLs from a board-threads run (thread_url field)."
                    },
                    "keyword": {
                        "title": "Keyword filter (search mode)",
                        "type": "string",
                        "description": "When mode='search', keep only threads whose title contains this string (case-insensitive substring match). Japanese or English. Ignored in other modes."
                    },
                    "maxItems": {
                        "title": "Max items (hard cap)",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Hard cap on records returned per run. In board-threads/search mode each record is a thread; in thread-posts mode each record is a single post. 15-50 is typical for monitoring; a busy thread can have 1000+ posts.",
                        "default": 50
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy. 5ch is open over plain HTTP, so the default datacenter Apify Proxy is fine. Add a Japan-egress / residential group if you hit occasional rate-limiting on heavy runs.",
                        "default": {
                            "useApifyProxy": true
                        }
                    },
                    "notionConnector": {
                        "title": "Deliver to Notion (optional)",
                        "type": "string",
                        "description": "Optional. Connect your Notion workspace and the results are also written as a Notion page in the same run — the Actor never sees your Notion credentials. Authorize a Notion MCP connector in Apify Console → Settings → API & Integrations, then select it here."
                    },
                    "notionParentId": {
                        "title": "Notion parent page ID (optional)",
                        "type": "string",
                        "description": "Optional. The Notion page ID to create the page under. If blank, Notion creates a private page in your workspace."
                    },
                    "supabaseConnector": {
                        "title": "Deliver to Supabase (optional)",
                        "type": "string",
                        "description": "Optional. Connect your own Supabase project and the results are also inserted into a table in the same run — the Actor never sees your Supabase credentials. Authorize a write-scoped, project-scoped Supabase MCP connector in Apify Console (Settings -> Integrations), then select it here."
                    },
                    "supabaseTable": {
                        "title": "Supabase table name (optional)",
                        "type": "string",
                        "description": "Target table in the public schema (created if missing, with id, a jsonb data column, and a scraped_at timestamp). Default: nexgendata_leads.",
                        "default": "nexgendata_leads"
                    },
                    "supabaseProjectId": {
                        "title": "Supabase project ID (optional)",
                        "type": "string",
                        "description": "Your Supabase project reference (e.g. abcdefghijklmnop). Required unless your connector URL is already project-scoped. Find it in your project URL: supabase.com/dashboard/project/THIS_PART."
                    },
                    "deliveryDedup": {
                        "title": "Deduplicate deliveries across runs",
                        "type": "boolean",
                        "description": "When on (default), records already delivered in a previous run are not delivered again to the same destination — so scheduled runs only push new items. Turn off to deliver every record on every run.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
