# LinkedIn Comments Scraper · No Cookies · $1/1k ✅ (`linkedintel/cheapest-linkedin-comments-scraper-no-cookies-1-1k`) Actor

Cheapest LinkedIn comments scraper on Apify. No cookies, no login, zero ban risk. Every commenter — names, profiles, reactions, timestamps. $1 per 1,000. Free tier included. ✅

- **URL**: https://apify.com/linkedintel/cheapest-linkedin-comments-scraper-no-cookies-1-1k.md
- **Developed by:** [LinkedIntel](https://apify.com/linkedintel) (community)
- **Categories:** Social media, Lead generation
- **Stats:** 4 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$1.00 / 1,000 comment extracteds

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

## LinkedIn Post Comments Scraper — No Login, No Cookies, Pay Per Result

Extract every public comment from any LinkedIn post — commenter names, profile URLs, headlines, comment text, timestamps, reaction counts, and reactions broken down by emotion type. Clean structured JSON. **No LinkedIn login required. No cookies. No browser session. No account ban risk.**

The fastest, cheapest, safest way to scrape LinkedIn post comments at scale.

---

### Why this is the best LinkedIn Comments Scraper on Apify

Most LinkedIn comment scrapers on the market fail on at least one of these. This one nails every column.

| | Other LinkedIn scrapers | **This actor** |
|---|---|---|
| LinkedIn login required | ❌ Yes — paste your `li_at` cookie | ✅ **No login. No cookie.** |
| Account ban risk | 🔴 High — your account, your problem | ✅ **Zero — we never touch your account** |
| Cookie expiry headaches | ❌ Re-paste cookie every few weeks | ✅ **Set once, runs forever** |
| Pricing model | 💸 Flat fee or per-run | ✅ **Pay-per-result, $1 per 1,000** |
| Empty/private post handling | ❌ Crashes mid-batch | ✅ **Clean diagnostic, keeps running** |
| Reactions breakdown | ❌ Count only | ✅ **Per-emotion: Like, Empathy, Praise, Insightful, Funny, Curious, Support** |
| URL formats accepted | ❌ One specific format only | ✅ **Feed URLs, share URLs, raw activity URNs** |

### What you get — every comment, every detail

For every public comment on any LinkedIn post, this actor returns:

- **Commenter identity** — full name, public profile URL, member ID, current headline, profile picture URL, public username
- **Comment content** — full text (Unicode-safe, emoji-safe), edit flag, ISO timestamp + Unix milliseconds
- **Engagement metrics** — total reaction count, reply count, repost count
- **Reaction breakdown** — count per LinkedIn reaction type (Like, Empathy, Praise, Insightful, Funny, Curious, Support)
- **Comment URN + permalink** — joinable across runs, links straight to the comment in context

One record per comment. Flat JSON. Ready to drop into Airtable, Google Sheets, HubSpot, Salesforce, Pipedrive, Zapier, Make, n8n, or any webhook.

### Top use cases

#### 1. Warm B2B lead harvesting
Every commenter on a post in your problem space has self-identified as engaged with the topic. Pull the thread, dedupe by company, push profile URLs into your CRM. **Reply rates from topic-warmed outreach beat cold lists 3-5x.**

#### 2. Influencer & creator audit
Before paying a creator for a sponsored post, audit who's actually engaging with their content. Real audience or paid engagement pods? The commenter list — their headlines, employers, verification status — tells you in 30 seconds whether the price is justified.

#### 3. Competitive launch intelligence
When a competitor announces a launch, the comment thread is a free real-time focus group. Who congratulated them (loyal customer)? Who pushed back (potential switcher)? Who tagged a colleague (active buying-committee signal)? **Set up a recurring run and you've got an ongoing competitive radar.**

#### 4. Voice-of-customer aggregation
Point this at your own post-launch announcement (or a competitor's). Sort by reaction count to surface the comments people quietly agreed with — that's your roadmap signal, validated by hundreds of public votes.

#### 5. Conference & community ABM
Comment threads on big industry posts are de-facto attendee lists for the conversation. Pull the thread, dedupe by company, and you have a target-account list pre-warmed by topic interest — perfect for ABM campaigns and event outreach.

#### 6. Sales-trigger automation
Pipe new commenters from target accounts into Zapier or Make. Your AE gets a Slack ping the moment a decision-maker comments on a relevant industry post. **First-mover outreach wins deals.**

### Quick start (3 steps, 30 seconds)

#### Step 1 — Get the post URL
Open the post in your browser, click the "X minutes ago" timestamp under the author's name, copy the URL. Both formats work:
- `https://www.linkedin.com/posts/<slug>-activity-7427761938388123648-AbCd`
- `https://www.linkedin.com/feed/update/urn:li:activity:7427761938388123648/`

#### Step 2 — Run the actor
1. Click the green **Start** button
2. Paste one or more URLs into **Post URLs** (one per line)
3. Set **Max Comments Per Post** to control your budget per post (default 500)
4. Click **Start**

#### Step 3 — Get your data
Results stream into the **Dataset** tab as the run progresses. Click **Export** for JSON, CSV, or Excel — or push directly to Zapier, Make, Google Sheets, Airtable, HubSpot, Salesforce, or any webhook via Apify's native integrations.

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `postUrls` | array of strings | `[]` | LinkedIn post URLs. Accepts feed URLs and shareable post URLs. Multiple URLs in one run are processed sequentially. |
| `activityUrns` | array of strings | `[]` | Numeric activity URNs (e.g. `"7427761938388123648"`). Use this when you already have IDs and want to skip URL parsing. |
| `maxCommentsPerPost` | integer | `500` | Hard cap on comments returned per post. Lower values run faster and cost less. |
| `proxyConfiguration` | object | Apify residential | Proxy settings (defaults are correct for most users). |

At least one of `postUrls` or `activityUrns` is required.

#### Example input

```json
{
  "postUrls": [
    "https://www.linkedin.com/posts/example-author_topic-keyword-activity-7400000000000000000-XyZw"
  ],
  "maxCommentsPerPost": 250
}
````

### Output

Each comment is a single dataset record:

```json
{
  "type": "comment",
  "commentUrn": "urn:li:comment:(activity:7400000000000000000,7400000000000000123)",
  "commenterUrn": "urn:li:member:123456789",
  "fullName": "Jane Doe",
  "headline": "VP of Marketing at Example Corp",
  "profileUrl": "https://www.linkedin.com/in/janedoe",
  "publicIdentifier": "janedoe",
  "profilePictureUrl": "https://media.licdn.com/dms/image/...",
  "commentText": "Great insights! We've been seeing the same trend in our quarterly data — would love to compare notes.",
  "edited": false,
  "numLikes": 12,
  "numReplies": 2,
  "numReposts": 0,
  "reactions": [
    { "reactionType": "LIKE", "reactionCount": 9 },
    { "reactionType": "PRAISE", "reactionCount": 2 },
    { "reactionType": "INSIGHTFUL", "reactionCount": 1 }
  ],
  "permalink": "https://www.linkedin.com/feed/update/urn:li:activity:7400000000000000000?commentUrn=urn%3Ali%3Acomment%3A...",
  "createdAt": "2026-04-15T14:22:30.000000+00:00",
  "createdAtMs": 1776264150000,
  "isReply": false,
  "parentCommentUrn": "",
  "activityUrn": "urn:li:activity:7400000000000000000",
  "postUrl": "https://www.linkedin.com/posts/example-author_topic-keyword-activity-7400000000000000000-XyZw",
  "scrapedAt": "2026-05-10T11:00:00.000000+00:00"
}
```

#### Full field reference

| Field | Type | Description |
|---|---|---|
| `commentUrn` | string | Unique LinkedIn comment URN — joinable across datasets and runs |
| `commenterUrn` | string | LinkedIn member URN of the commenter (`urn:li:member:NNN`) |
| `fullName` | string | Display name |
| `headline` | string | Public LinkedIn headline at time of scrape |
| `profileUrl` | string | Public profile URL — pipe into LinkedIn Profile Scraper for enrichment |
| `publicIdentifier` | string | Username segment from `linkedin.com/in/<id>` |
| `profilePictureUrl` | string | Profile photo CDN URL |
| `commentText` | string | Full comment text — Unicode and emoji safe |
| `edited` | boolean | True if the comment was edited after posting |
| `numLikes` | integer | Total reactions on the comment |
| `numReplies` | integer | Replies to this comment |
| `numReposts` | integer | Times this comment was reposted |
| `reactions` | array | Per-type breakdown: `[{reactionType, reactionCount}]` |
| `permalink` | string | Direct link to the comment in context |
| `createdAt` | string (ISO 8601) | When the comment was posted |
| `createdAtMs` | integer | Same timestamp in Unix milliseconds |
| `isReply` | boolean | Always `false` in v1.0 (top-level comments only) |
| `activityUrn` | string | Parent post URN — joinable with reaction and post-info datasets |
| `postUrl` | string | The input URL you provided |
| `scrapedAt` | string (ISO 8601) | When the record was collected |

A final `summary` record is also pushed at the end of every run with `totalComments`, `postsSuccessful`, `postsFailed`, `postsTotal`.

### Pricing — pay only for results

**$1.00 per 1,000 comments. Pay-per-result.**

- ✅ No subscription
- ✅ No base fee
- ✅ No charge for failed runs
- ✅ No charge for empty / private / deleted posts (you get a clean diagnostic record)
- ✅ Apify's free tier ($5/month platform credit) gets you ~5,000 free comments to start

**The cheapest LinkedIn comment scraper on Apify Store, period.** Most competitors charge $5-15 per 1,000 results, often with a base fee on top.

### Combine with other LinkedIn actors

Build a complete LinkedIn intelligence pipeline by chaining this with sibling scrapers:

- Pipe `profileUrl` into the **LinkedIn Profile Scraper** to enrich every commenter with full firmographic data
- Pipe `activityUrn` into the **LinkedIn Post Reactions Scraper** to combine reactions and comments for the same post
- Pipe `profileUrl` into the **LinkedIn Profile Comments Scraper** to see what else those commenters are saying across LinkedIn

### FAQ

#### Do I need a LinkedIn account?

**No.** This is the killer feature. The actor does not log in to LinkedIn, does not use your session, does not touch your account. It reads the public comment thread that anyone can view without signing in.

#### Will my LinkedIn account get banned?

**No — because we never use it.** Cookie-based scrapers risk your account every run. This actor doesn't.

#### How fast is it?

1-10 seconds per post depending on comment volume. Posts with 500+ comments paginate automatically. You can queue 50+ posts in one run.

#### What if the post is private, deleted, or members-only?

The actor returns a clean diagnostic record for that URL and continues with the next post — it never crashes mid-batch.

#### Can I get replies (nested comments under each comment)?

Not in v1.0. Top-level comments only. **Reply scraping is on the roadmap for v1.1** — follow the actor for updates.

#### Can I scrape Pulse articles?

Not yet. LinkedIn Pulse articles use a different content type. The actor returns a clear "not supported" diagnostic if you pass a Pulse URL — no charge incurred. Pass a regular feed post URL instead.

#### Can I integrate with Zapier / Make / n8n / HubSpot?

Yes — Apify integrates natively with all of them, plus Salesforce, Airtable, Google Sheets, and any webhook-compatible tool. Trigger runs on a schedule, pipe new comments into your CRM as they arrive.

#### Can I filter by keyword inside the comment text?

The actor returns every comment in chronological order. Post-filter by `commentText` in your destination (Google Sheets formulas, Airtable filters, SQL `WHERE`) — that keeps the actor simple and gives you a reusable raw dataset.

#### Does this work in countries outside the US / EU?

Yes. The actor uses Apify's residential proxy network and works with public LinkedIn posts from anywhere LinkedIn is accessible.

#### Can AI agents pay for and run this actor?

Yes — Agent Payments (x402 / USDC) are enabled. AI agents using the Anthropic Computer Use API or compatible frameworks can pay per run in stablecoin without a human in the loop.

### Legal & compliance

- Extracts **publicly available** data only — no logins, no access-control bypass, no private content
- You are responsible for complying with LinkedIn's Terms of Service, GDPR (EU), CCPA (California), and other applicable laws
- The output may include names, public profile URLs, public headlines, and comment text. Under GDPR, a lawful basis (legitimate interest, consent) may be required before outbound use of this data
- This actor is **not affiliated with, endorsed by, or sponsored by LinkedIn Corporation or Microsoft Corporation.** "LinkedIn" is a registered trademark of LinkedIn Corporation

### Changelog

#### v1.0.0 — 2026-05-10

- Initial release
- Cookieless architecture — zero account-ban risk
- Top-level comments with full commenter context, reactions breakdown by type, and edit/repost metadata
- Supports `linkedin.com/feed/update/...` and `linkedin.com/posts/...` URL formats
- Clean diagnostic records for empty posts, Pulse articles, and unsupported URL formats
- Native Apify integrations + Agent Payments (x402 / USDC)

### Support

Questions, feature requests, or bug reports? Open an issue on the actor's **Issues** tab. We respond within 24 hours.

**Like this actor? Leave a review on the Apify Store — it helps other LinkedIn data teams find it.**

# Actor input Schema

## `postUrls` (type: `array`):

LinkedIn post URLs. Supports feed/update URLs (linkedin.com/feed/update/urn:li:activity:NNN/) and shareable post URLs (linkedin.com/posts/<slug>-activity-NNN-<hash>). Pulse articles are not supported.

## `activityUrns` (type: `array`):

Numeric LinkedIn activity URNs (e.g. "7427761938388123648"). Use this if you already have the IDs and want to skip URL parsing.

## `maxCommentsPerPost` (type: `integer`):

Maximum number of top-level comments to scrape per post. Lower values run faster and cost less.

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

Apify proxy settings. Residential proxies are recommended.

## Actor input object example

```json
{
  "postUrls": [
    "https://www.linkedin.com/feed/update/urn:li:activity:7427761938388123648/"
  ],
  "maxCommentsPerPost": 500,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "postUrls": [
        "https://www.linkedin.com/feed/update/urn:li:activity:7427761938388123648/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("linkedintel/cheapest-linkedin-comments-scraper-no-cookies-1-1k").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 = { "postUrls": ["https://www.linkedin.com/feed/update/urn:li:activity:7427761938388123648/"] }

# Run the Actor and wait for it to finish
run = client.actor("linkedintel/cheapest-linkedin-comments-scraper-no-cookies-1-1k").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 '{
  "postUrls": [
    "https://www.linkedin.com/feed/update/urn:li:activity:7427761938388123648/"
  ]
}' |
apify call linkedintel/cheapest-linkedin-comments-scraper-no-cookies-1-1k --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=linkedintel/cheapest-linkedin-comments-scraper-no-cookies-1-1k",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Comments Scraper · No Cookies · $1/1k ✅",
        "description": "Cheapest LinkedIn comments scraper on Apify. No cookies, no login, zero ban risk. Every commenter — names, profiles, reactions, timestamps. $1 per 1,000. Free tier included. ✅",
        "version": "1.0",
        "x-build-id": "s0kHpaNUcMxCjiDXJ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/linkedintel~cheapest-linkedin-comments-scraper-no-cookies-1-1k/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-linkedintel-cheapest-linkedin-comments-scraper-no-cookies-1-1k",
                "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/linkedintel~cheapest-linkedin-comments-scraper-no-cookies-1-1k/runs": {
            "post": {
                "operationId": "runs-sync-linkedintel-cheapest-linkedin-comments-scraper-no-cookies-1-1k",
                "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/linkedintel~cheapest-linkedin-comments-scraper-no-cookies-1-1k/run-sync": {
            "post": {
                "operationId": "run-sync-linkedintel-cheapest-linkedin-comments-scraper-no-cookies-1-1k",
                "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": {
                    "postUrls": {
                        "title": "Post URLs",
                        "type": "array",
                        "description": "LinkedIn post URLs. Supports feed/update URLs (linkedin.com/feed/update/urn:li:activity:NNN/) and shareable post URLs (linkedin.com/posts/<slug>-activity-NNN-<hash>). Pulse articles are not supported.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "activityUrns": {
                        "title": "Activity URNs",
                        "type": "array",
                        "description": "Numeric LinkedIn activity URNs (e.g. \"7427761938388123648\"). Use this if you already have the IDs and want to skip URL parsing.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxCommentsPerPost": {
                        "title": "Max Comments Per Post",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of top-level comments to scrape per post. Lower values run faster and cost less.",
                        "default": 500
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Apify proxy settings. Residential proxies are recommended.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
