# BiggerPockets Scraper (`crawlerbros/bigger-pockets-scraper`) Actor

Scrape BiggerPockets, the largest real estate investing community. Pull forum topics, full post bodies + replies, and user profiles across 50+ investing categories. No login or proxy required.

- **URL**: https://apify.com/crawlerbros/bigger-pockets-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Real estate, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 7 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

## BiggerPockets Scraper

Scrape the largest real estate investing community on the web. Pull forum topics with full post bodies, comment threads, vote/reply/view stats, and user profiles across 50+ investing categories — **no login, no cookies, no paid proxy required**.

Whether you're prospecting investor leads, researching market sentiment around BRRRR or house hacking, monitoring a competitor's username, or building a knowledge base from real-world deal analyses, this actor gives you structured JSON access to BiggerPockets' public discussion surface.

### What this scrapes

- **Forum topics** — title, full body text, author, dates, vote / reply / view counts, category
- **Forum replies (comments)** — body, author, dates, like counts, parent comment ID, threaded
- **User profiles** — display name, bio, job title, avatar, posts written, likes given, follower / following counts

### Modes

| Mode | Description |
|---|---|
| `forumLatest` | Newest topics from a chosen forum (default) |
| `forumTrending` | Trending-now topics from a chosen forum |
| `forumUnanswered` | Topics with no replies — investor-question lead gen |
| `multiForum` | Scan a list of forum IDs with any sort order |
| `byTopicIds` | Lookup specific topics by numeric ID |
| `byTopicUrls` | Lookup specific topics by full BiggerPockets URL |
| `byUsernames` | Pull user profiles by username |

### Forum catalog

The actor ships with all 50 active BiggerPockets forums as a dropdown enum, including:

- Real estate strategy — **BRRRR**, **House Hacking**, **Wholesaling**, **Rehabbing & House Flipping**, **Multi-Family**, **Mobile Home Parks**, **Commercial**, **Short-Term Rentals**, **Medium-Term Rentals**, **Land & New Construction**, **Tax Liens & Notes**, **Syndications & Passive Investing**
- Operations — **General Landlording**, **Managing Your Property**, **Marketing Your Property**, **Tenant Screening**
- Finance — **Creative Financing**, **Personal Finance**, **Insurance**, **Private Lending**, **Mortgage Brokers & Lenders**, **Tax / SDIRA / Cost Seg**, **1031 Exchanges**, **Foreclosures**
- Community — **Starting Out**, **First-Time Home Buyer**, **New Member Introductions**, **Success Stories**, **Horror Stories**, **Off Topic**
- News / data — **Real Estate News & Current Events**, **Market Trends & Data**, **Out of State Investing**
- Services — **Contractors**, **Real Estate Agent**, **Ask About A Real Estate Company**
- Reviews — **Guru, Book, & Course Reviews**, **Real Estate Technology**
- Marketplace — **Classifieds**, **Real Estate Events & Meetups**, **Buying & Selling Small Businesses**

### Filters

- `minReplies`, `minVotes`, `minViews` — engagement thresholds
- `containsKeyword` — title/body substring match
- `includeComments` + `maxCommentsPerTopic` — pull full reply threads
- `maxItems`, `maxPagesPerForum` — output and traversal limits

### Output fields

#### Topic record (`recordType: "topic"`)

```json
{
  "recordType": "topic",
  "topicId": 1288127,
  "forumId": 311,
  "category": "Buying & Selling Real Estate",
  "title": "Thinking about this property",
  "slug": "thinking-about-this-property",
  "body": "I'm a first-time buyer looking to use an FHA loan to house hack...",
  "authorName": "Eddie Germosen",
  "authorUsername": "eddieg118",
  "authorUrl": "https://www.biggerpockets.com/users/eddieg118",
  "createdAt": "2026-05-12T17:48:36-07:00",
  "publishedAt": "2026-05-20T19:43:43-07:00",
  "modifiedAt": "2026-05-20T19:43:43-07:00",
  "commentCount": 16,
  "likeCount": 2,
  "viewCount": 144,
  "topicUrl": "https://www.biggerpockets.com/forums/311/topics/1288127-thinking-about-this-property",
  "scrapedAt": "2026-05-21T03:14:15.972+00:00"
}
````

#### Comment record (`recordType: "comment"`)

```json
{
  "recordType": "comment",
  "commentId": 7217617,
  "topicId": 1288127,
  "forumId": 311,
  "category": "Buying & Selling Real Estate",
  "body": "Hello Eddie, Are both units the same size?...",
  "authorName": "Abel Curiel",
  "authorUsername": "abelc2",
  "authorUrl": "https://www.biggerpockets.com/users/abelc2",
  "createdAt": "2026-05-12T18:31:22-07:00",
  "likeCount": 0,
  "commentUrl": "https://www.biggerpockets.com/forums/311/topics/1288127-thinking-about-this-property#post_7217617",
  "scrapedAt": "2026-05-21T03:14:16.124+00:00"
}
```

#### User record (`recordType: "user"`)

```json
{
  "recordType": "user",
  "userId": 547389,
  "username": "sparkrental",
  "name": "G. Brian Davis",
  "description": "G. Brian Davis cofounded SparkRental, which manages a real estate investment club...",
  "jobTitle": "Investor",
  "avatarUrl": "https://bpimg.biggerpockets.com/no_overlay/uploads/social_user/user_avatar/547389/...",
  "profileUrl": "https://www.biggerpockets.com/users/sparkrental",
  "postsMade": 2599,
  "likesGiven": 208,
  "followingCount": 259,
  "followerCount": 178,
  "scrapedAt": "2026-05-21T03:14:16.512+00:00"
}
```

All output is **omit-empty** — never null, empty string, empty list, or empty dict at any depth.

### Example inputs

#### Get the 50 newest deal-analysis topics

```json
{
  "mode": "forumLatest",
  "forumId": "88",
  "maxItems": 50
}
```

#### Scan multiple investing forums for trending topics with engagement filter

```json
{
  "mode": "multiForum",
  "forumIds": ["48", "853", "311", "922", "432"],
  "sortBy": "trending",
  "minVotes": 3,
  "maxItems": 100,
  "maxPagesPerForum": 3
}
```

#### Pull a specific topic with full reply thread

```json
{
  "mode": "byTopicUrls",
  "topicUrls": [
    "https://www.biggerpockets.com/forums/311/topics/1288127-thinking-about-this-property"
  ],
  "includeComments": true,
  "maxCommentsPerTopic": 100,
  "maxItems": 200
}
```

#### Find unanswered questions (lead-gen for agents / lenders / wholesalers)

```json
{
  "mode": "forumUnanswered",
  "forumId": "12",
  "maxItems": 50
}
```

#### Pull user profiles

```json
{
  "mode": "byUsernames",
  "usernames": ["sparkrental", "abelc2"],
  "maxItems": 50
}
```

#### Keyword research — finance topics mentioning "DSCR"

```json
{
  "mode": "multiForum",
  "forumIds": ["49", "22", "50"],
  "sortBy": "newest",
  "containsKeyword": "DSCR",
  "includeComments": false,
  "maxItems": 100,
  "maxPagesPerForum": 5
}
```

### Data source

This actor reads publicly accessible BiggerPockets pages (forum index, topic pages, user profiles) and parses the embedded **schema.org JSON-LD `DiscussionForumPosting` / `ProfilePage` blocks** that BiggerPockets serves for SEO. No login, no cookies, no paid proxy required — works from the free Apify plan with zero configuration.

### FAQ

#### Do I need a BiggerPockets account?

No. The actor reads publicly indexed pages.

#### Do I need a proxy?

No. BiggerPockets serves anonymous datacenter IPs without bot protection. Proxy support is included as optional — pass `proxyConfiguration: { useApifyProxy: true }` if you want to rotate IPs.

#### Why aren't blog articles / market insights pages supported?

Those surfaces are React-rendered client-side without server-side data hooks, and Insights pages are gated behind a `BiggerPockets PRO` paywall. This actor focuses on the publicly accessible forum + user surface, which covers the bulk of investor discussion.

#### Why aren't search results supported?

BiggerPockets' search endpoint (`/search?q=...`) is bot-protected and returns 403 from anonymous traffic. The actor exposes equivalent functionality via `containsKeyword` filtering across forum listings, which works reliably.

#### Can I get a user's full posting history?

Currently the actor returns the profile metadata. For per-user post histories, use `byUsernames` to identify high-volume posters by `postsMade` count, then scan their forum activity via the forum-listing modes.

#### How fresh is the data?

Forum listings are updated in real-time. Topic detail JSON-LD reflects the latest state when fetched.

#### Are votes / likes / view counts accurate?

Yes. Counts are pulled from BiggerPockets' own `schema.org/InteractionCounter` blocks, identical to what they expose to Google.

#### What happens if a topic is locked or deleted?

The actor returns `null` for that record and continues. No partial / corrupted data.

#### What's the maximum throughput?

The actor self-throttles to ~3 requests/second with retries on 429/5xx, comfortably under BiggerPockets' tolerance. A `maxItems=1000` run with `includeComments=false` completes in ~5 minutes.

# Actor input Schema

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

What to scrape.

## `forumId` (type: `string`):

Forum to scan in forumLatest / forumTrending / forumUnanswered modes.

## `forumIds` (type: `array`):

Forums to scan in multiForum mode. Numeric forum IDs or full /forums/<id> URLs.

## `sortBy` (type: `string`):

Sort order — only consumed in multiForum mode. Other forum modes use their built-in sort.

## `topicIds` (type: `array`):

Topic IDs (e.g. `1288127`) or /forums/<f>/topics/<t>-slug paths.

## `topicUrls` (type: `array`):

Full BiggerPockets topic URLs.

## `usernames` (type: `array`):

BiggerPockets usernames (e.g. `sparkrental`) or full /users/<name> URLs.

## `includeComments` (type: `boolean`):

When true, push each forum reply as a separate record (recordType=`comment`).

## `maxCommentsPerTopic` (type: `integer`):

Hard cap on emitted comment records per topic when includeComments=true.

## `minReplies` (type: `integer`):

Drop topics with fewer replies than this.

## `minVotes` (type: `integer`):

Drop topics with fewer upvotes than this.

## `minViews` (type: `integer`):

Drop topics with fewer views than this. Requires fetching topic detail pages.

## `containsKeyword` (type: `string`):

Case-insensitive substring filter on topic title + body.

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

Hard cap on total emitted records (topics + comments).

## `maxPagesPerForum` (type: `integer`):

Page-limit when paginating a forum listing.

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

Optional Apify proxy. BiggerPockets works fine without proxy from datacenter IPs, but you can enable AUTO for extra IP rotation.

## Actor input object example

```json
{
  "mode": "forumLatest",
  "forumId": "48",
  "forumIds": [],
  "sortBy": "newest",
  "topicIds": [],
  "topicUrls": [],
  "usernames": [],
  "includeComments": false,
  "maxCommentsPerTopic": 100,
  "maxItems": 50,
  "maxPagesPerForum": 5,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `topics` (type: `string`):

Dataset containing all scraped topics, comments, and user profiles.

# 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": "forumLatest",
    "forumId": "48",
    "forumIds": [],
    "sortBy": "newest",
    "topicIds": [],
    "topicUrls": [],
    "usernames": [],
    "includeComments": false,
    "maxCommentsPerTopic": 100,
    "maxItems": 50,
    "maxPagesPerForum": 5,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/bigger-pockets-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 = {
    "mode": "forumLatest",
    "forumId": "48",
    "forumIds": [],
    "sortBy": "newest",
    "topicIds": [],
    "topicUrls": [],
    "usernames": [],
    "includeComments": False,
    "maxCommentsPerTopic": 100,
    "maxItems": 50,
    "maxPagesPerForum": 5,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/bigger-pockets-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 '{
  "mode": "forumLatest",
  "forumId": "48",
  "forumIds": [],
  "sortBy": "newest",
  "topicIds": [],
  "topicUrls": [],
  "usernames": [],
  "includeComments": false,
  "maxCommentsPerTopic": 100,
  "maxItems": 50,
  "maxPagesPerForum": 5,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call crawlerbros/bigger-pockets-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "BiggerPockets Scraper",
        "description": "Scrape BiggerPockets, the largest real estate investing community. Pull forum topics, full post bodies + replies, and user profiles across 50+ investing categories. No login or proxy required.",
        "version": "1.0",
        "x-build-id": "UVwSyqx1gaQCUZEeW"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~bigger-pockets-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-bigger-pockets-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/crawlerbros~bigger-pockets-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-bigger-pockets-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/crawlerbros~bigger-pockets-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-bigger-pockets-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": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "forumLatest",
                            "forumTrending",
                            "forumUnanswered",
                            "multiForum",
                            "byTopicIds",
                            "byTopicUrls",
                            "byUsernames"
                        ],
                        "type": "string",
                        "description": "What to scrape.",
                        "default": "forumLatest"
                    },
                    "forumId": {
                        "title": "Forum (single)",
                        "enum": [
                            "48",
                            "311",
                            "88",
                            "12",
                            "853",
                            "922",
                            "432",
                            "62",
                            "61",
                            "67",
                            "93",
                            "30",
                            "32",
                            "530",
                            "925",
                            "44",
                            "70",
                            "960",
                            "92",
                            "79",
                            "104",
                            "41",
                            "888",
                            "921",
                            "963",
                            "50",
                            "519",
                            "95",
                            "49",
                            "51",
                            "109",
                            "926",
                            "52",
                            "899",
                            "898",
                            "897",
                            "903",
                            "22",
                            "24",
                            "21",
                            "55",
                            "517",
                            "521",
                            "927",
                            "964",
                            "961",
                            "962",
                            "904",
                            "80",
                            "56",
                            "25"
                        ],
                        "type": "string",
                        "description": "Forum to scan in forumLatest / forumTrending / forumUnanswered modes.",
                        "default": "48"
                    },
                    "forumIds": {
                        "title": "Forums (multi)",
                        "type": "array",
                        "description": "Forums to scan in multiForum mode. Numeric forum IDs or full /forums/<id> URLs.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "sortBy": {
                        "title": "Sort (multiForum mode)",
                        "enum": [
                            "newest",
                            "trending",
                            "unanswered",
                            "top",
                            "votes",
                            "replies"
                        ],
                        "type": "string",
                        "description": "Sort order — only consumed in multiForum mode. Other forum modes use their built-in sort.",
                        "default": "newest"
                    },
                    "topicIds": {
                        "title": "Topic IDs (byTopicIds)",
                        "type": "array",
                        "description": "Topic IDs (e.g. `1288127`) or /forums/<f>/topics/<t>-slug paths.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "topicUrls": {
                        "title": "Topic URLs (byTopicUrls)",
                        "type": "array",
                        "description": "Full BiggerPockets topic URLs.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "usernames": {
                        "title": "Usernames (byUsernames)",
                        "type": "array",
                        "description": "BiggerPockets usernames (e.g. `sparkrental`) or full /users/<name> URLs.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeComments": {
                        "title": "Include comments",
                        "type": "boolean",
                        "description": "When true, push each forum reply as a separate record (recordType=`comment`).",
                        "default": false
                    },
                    "maxCommentsPerTopic": {
                        "title": "Max comments per topic",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Hard cap on emitted comment records per topic when includeComments=true.",
                        "default": 100
                    },
                    "minReplies": {
                        "title": "Min reply count",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Drop topics with fewer replies than this."
                    },
                    "minVotes": {
                        "title": "Min upvotes",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Drop topics with fewer upvotes than this."
                    },
                    "minViews": {
                        "title": "Min views",
                        "minimum": 0,
                        "maximum": 10000000,
                        "type": "integer",
                        "description": "Drop topics with fewer views than this. Requires fetching topic detail pages."
                    },
                    "containsKeyword": {
                        "title": "Title or body contains",
                        "type": "string",
                        "description": "Case-insensitive substring filter on topic title + body."
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Hard cap on total emitted records (topics + comments).",
                        "default": 50
                    },
                    "maxPagesPerForum": {
                        "title": "Max pages per forum",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Page-limit when paginating a forum listing.",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional Apify proxy. BiggerPockets works fine without proxy from datacenter IPs, but you can enable AUTO for extra IP rotation.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
