# LinkedIn Post Reposts Scraper (No Cookies) (`data-slayer/linkedin-post-reposts`) Actor

Extract reposts and reshares from public LinkedIn post URLs, including reposter names, profile URLs when available, headlines, repost text, timestamps, and content-author details. Batch up to 1,000 posts and export structured JSON, CSV, or Excel—no LinkedIn cookies or login required.

- **URL**: https://apify.com/data-slayer/linkedin-post-reposts.md
- **Developed by:** [Data Slayer](https://apify.com/data-slayer) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 50.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 post repost results

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

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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 Reposts Scraper (No Cookies)

Extract structured repost and reshare records from public LinkedIn posts—including reposter identities, repost text, content authors, timestamps, and source-post context—without providing LinkedIn cookies or login credentials.

### Watch the demo

YouTube video coming soon.

### What this LinkedIn repost scraper returns

Turn one or many supported LinkedIn post URLs into analysis-ready repost records. Each dataset item represents one unique repost and can include:

- Reposter name, headline, stable ID, public LinkedIn URL, and image URL when available
- Repost activity ID, URL, exact timestamp, and relative time when available
- Text carried by the repost record
- The content author's name, headline, stable ID, LinkedIn URL, and image URL when available
- Original post URL, post ID, and reported repost count
- Explicit `direct` or `reshare` classification
- Input and repost indexes for stable multi-post ordering

Results are stored in an Apify dataset and can be downloaded as JSON, CSV, Excel, XML, or another supported dataset format. Every output field is scalar, so both the Reposts and Reposter leads views are ready for spreadsheet and CRM workflows.

### Direct reposts and reshare-chain rows

The source can expose two useful row shapes:

- A `direct` row identifies the reposter directly. The reposter and content author are the same entity in this row.
- A `reshare` row contains a reshare-chain header. The header identifies the reposter, while the content-author fields identify the actor attached to the available text.

On a `reshare` row, `repost_text` can be shared-post text rather than commentary written by the header reposter. Direct rows can omit the repost activity URL, so `repost_id`, `repost_url`, and exact timestamps are null when they cannot be established safely.

### Common use cases

- Identify people and organizations publicly reposting relevant content
- Research advocates, community members, partners, and potential leads
- Analyze how posts travel through professional networks
- Export reposter identities and repost context into spreadsheets or CRMs
- Build social-listening, content-research, and audience-analysis datasets
- Feed structured repost data into AI, BI, or automation workflows

### How to scrape LinkedIn post reposts

1. Copy one or more supported public LinkedIn post URLs.
2. Paste them into **LinkedIn Post URLs**.
3. Set **Maximum reposts per post**, or keep the default of 100.
4. Click **Start**.
5. Open the dataset to inspect or export the repost records.

No LinkedIn account, session cookie, browser extension, or proxy configuration is requested in the input form.

### Input

The input form has two fields:

| Field | Type | Required | Default | Description |
|---|---|---:|---:|---|
| `post_urls` | array of strings | Yes | — | Add 1–1,000 supported public LinkedIn post URLs. Duplicate URLs are normalized and removed while preserving first-seen order. |
| `max_reposts_per_post` | integer | No | `100` | Maximum deduplicated repost records saved per post. Accepted range: `0`–`1,000`. Use `0` to fetch all available reposts, subject to a 100-page safety cap per post. |

#### Supported LinkedIn post URL formats

```text
https://www.linkedin.com/feed/update/urn:li:activity:7408723748973056001
https://www.linkedin.com/posts/username_topic-activity-7408723748973056001-AbCd
https://www.linkedin.com/posts/username_topic-ugcPost-7408723748973056001-AbCd
````

Tracking parameters, fragments, and trailing slashes are removed. Bare numeric IDs, profile URLs, company URLs, and search URLs are rejected before any repost request is made.

#### Input example

```json
{
  "post_urls": [
    "https://www.linkedin.com/feed/update/urn:li:activity:7408723748973056001"
  ],
  "max_reposts_per_post": 100
}
```

For API migration compatibility, the runtime also accepts hidden aliases: `posts`, `postUrls`, or `linkedin_post_url` for `post_urls`, and `limit` or `maxItems` for `max_reposts_per_post`. A legacy `page_number` is accepted only when it equals `1` because pagination is automatic. New integrations should use the canonical snake\_case fields. Conflicting aliases or unknown keys fail validation before any repost requests are made.

### Output fields

Each dataset item is one unique repost. Every declared key is present. Unavailable strings, URLs, IDs, and timestamps are `null`; IDs are strings to avoid precision loss; counts and indexes are non-negative integers.

| Field | Type | Description |
|---|---|---|
| `post_url` | string | Canonical input post URL. |
| `post_id` | string | Numeric LinkedIn activity ID stored as a string. |
| `post_repost_count` | integer or null | Total repost count reported for the source post when available. |
| `repost_id` | string or null | Repost activity ID when an activity URL is available. |
| `repost_url` | string or null | Canonical LinkedIn repost activity URL when available. |
| `repost_type` | string | `direct` or `reshare`. |
| `repost_action_text` | string or null | Available action label such as `Name reposted this`. |
| `repost_text` | string or null | Text carried by the repost record; on reshare rows this can be shared-post text. |
| `reposted_at` | string or null | UTC ISO 8601 timestamp derived from the repost activity ID when available. |
| `reposted_at_timestamp` | integer or null | Unix timestamp in milliseconds derived from the repost activity ID when available. |
| `reposted_at_relative` | string or null | Relative source label such as `3mo`; useful for display, not exact chronological sorting. |
| `reposter_id` | string or null | Stable LinkedIn profile or company identifier when available. |
| `reposter_type` | string | `profile`, `company`, or `unknown`. |
| `reposter_name` | string or null | Reposter display name. |
| `reposter_headline` | string or null | Public reposter headline or company description when available. |
| `reposter_linkedin_url` | string or null | Public LinkedIn profile or company URL when supplied by the source. |
| `reposter_image_url` | string or null | Reposter image URL when available. LinkedIn-hosted image URLs can expire. |
| `content_author_id` | string or null | Stable ID for the actor attached to `repost_text` when available. |
| `content_author_type` | string | `profile`, `company`, or `unknown`. |
| `content_author_name` | string or null | Content-author display name. |
| `content_author_headline` | string or null | Public content-author headline or company description when available. |
| `content_author_linkedin_url` | string or null | Content-author LinkedIn URL when supplied by the source. |
| `content_author_image_url` | string or null | Content-author image URL when available. |
| `input_index` | integer | Zero-based position of the normalized input post URL. |
| `repost_index` | integer | Zero-based repost order for this post after duplicate removal. |
| `fetched_at` | string | UTC timestamp for the post fetch operation. |

### Output example

```json
{
  "post_url": "https://www.linkedin.com/feed/update/urn:li:activity:7408723748973056001",
  "post_id": "7408723748973056001",
  "post_repost_count": 133,
  "repost_id": "7422118868883513344",
  "repost_url": "https://www.linkedin.com/feed/update/urn:li:activity:7422118868883513344",
  "repost_type": "reshare",
  "repost_action_text": "Example Republisher reposted this",
  "repost_text": "An example of the text available with this repost record.",
  "reposted_at": "2026-01-28T03:30:34.642Z",
  "reposted_at_timestamp": 1769571034642,
  "reposted_at_relative": "6mo",
  "reposter_id": "ACoAAAExampleRepublisherId",
  "reposter_type": "profile",
  "reposter_name": "Example Republisher",
  "reposter_headline": null,
  "reposter_linkedin_url": "https://www.linkedin.com/in/example-republisher",
  "reposter_image_url": null,
  "content_author_id": "ACoAAAExampleContentAuthorId",
  "content_author_type": "profile",
  "content_author_name": "Example Content Author",
  "content_author_headline": "Climate researcher",
  "content_author_linkedin_url": null,
  "content_author_image_url": null,
  "input_index": 0,
  "repost_index": 0,
  "fetched_at": "2026-07-27T13:00:00Z"
}
```

The downloadable `example-output.json` included with this Actor definition contains the same complete example.

### Pagination, ordering, and duplicate handling

- Pagination continues automatically until the requested repost limit, the end of available pages, or the 100-page safety cap.
- Page size is not assumed and may vary.
- `max_reposts_per_post` is applied after duplicate removal.
- When a repost ID exists, duplicates keep the first occurrence by post ID plus repost ID.
- Without a repost ID, duplicates use post ID plus reposter type and reposter ID when available, then a deterministic content fingerprint as a fallback.
- Results preserve input-post order and source page/item order. The Actor does not re-sort reposts by timestamp.

### Run summary and partial results

The Actor writes `RUN_SUMMARY` to the default key-value store. It includes overall counts and a per-post status with:

- Input position and canonical post URL
- Status: `succeeded`, `no_results`, `partial`, `failed`, or `capped`
- Reported total reposts, reposts saved, and pages fetched
- Sanitized error code and message when applicable

If some posts fail, successful and partial repost rows remain available and the summary status is `partial`. If every post request fails, the summary is written before the Actor run fails. A valid post with no returned reposts produces an empty dataset and `no_results`, not a fabricated error row.

### API example

Start the Actor through the Apify API using your Apify token:

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/data-slayer~linkedin-post-reposts/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "post_urls": [
      "https://www.linkedin.com/feed/update/urn:li:activity:7408723748973056001"
    ],
    "max_reposts_per_post": 100
  }'
```

You can also connect runs to Apify schedules, webhooks, Make, Zapier, Google Sheets, or an MCP-compatible workflow using Apify's standard integrations.

### Related Data Slayer LinkedIn Actors

- [LinkedIn Post Analytics Scraper](https://apify.com/data-slayer/linkedin-post-analytics-scraper) — retrieve post content and aggregate engagement analytics.
- [LinkedIn Post Reactions Scraper](https://apify.com/data-slayer/linkedin-post-reactions) — retrieve people and entities reacting to public posts.
- [LinkedIn Post Comments Scraper](https://apify.com/data-slayer/linkedin-post-comments) — retrieve root comments and available top replies.

### Frequently asked questions

#### Do I need a LinkedIn account, cookie, or login?

No. The input requires supported public LinkedIn post URLs. It does not request your LinkedIn credentials or session cookies.

#### Are reposts and reshares the same here?

The listing uses both terms because LinkedIn and data tools commonly use them for sharing another post. The `repost_type` field distinguishes direct rows from later `reshare` chain rows in the returned source shape.

#### Why are some repost IDs, URLs, or exact timestamps null?

Direct rows can omit the repost activity URL. Without that URL, the Actor does not invent an activity ID or exact timestamp. Relative time can still be available in `reposted_at_relative`.

#### Why is a reposter profile URL sometimes null even when `reposter_id` exists?

Some rows provide an opaque stable profile identifier but no public navigation URL. The Actor keeps that identifier in `reposter_id` and does not treat it as a vanity profile slug.

#### Is `repost_text` always written by `reposter_name`?

Not on every reshare-chain row. On a `direct` row, the reposter and content author are the same entity. On a `reshare` row, the text can belong to `content_author_name`, while the header reposter is recorded separately.

#### What does a limit of zero mean?

`max_reposts_per_post: 0` requests all available unique reposts, with a maximum of 100 pages per post. Large posts can therefore take longer and consume more usage than a bounded run.

#### Can I process multiple posts in one run?

Yes. Add up to 1,000 supported post URLs. The runtime processes posts in bounded groups while preserving input-post order in the dataset.

#### Why can `post_repost_count` differ from the number of dataset rows?

The reported count describes available reposts at the source. Your configured limit, duplicate removal, page cap, unavailable pages, or source changes can result in fewer saved rows.

### Responsible use

Use the Actor and its output responsibly and in accordance with applicable laws, platform terms, and your organization's data policies. Avoid using personal data for unsolicited, discriminatory, deceptive, or harmful activity.

This independent Actor is not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. LinkedIn is a trademark of its respective owner.

### Support

If a supported public post produces an unexpected result, open an issue from the Actor's **Issues** tab and include the run ID, input URL format, and observed behavior. Do not include credentials or private data.

# Actor input Schema

## `post_urls` (type: `array`):

Required. Add 1–1,000 public LinkedIn post URLs. Supported formats include linkedin.com/posts/…-activity-…, linkedin.com/posts/…-ugcPost-…, and linkedin.com/feed/update/urn:li:activity:…. Tracking parameters and fragments are removed.

## `max_reposts_per_post` (type: `integer`):

Maximum number of unique reposts to save for each post. Enter 0 to fetch all available reposts, with a 100-page safety cap per post.

## Actor input object example

```json
{
  "post_urls": [
    "https://www.linkedin.com/feed/update/urn:li:activity:7408723748973056001"
  ],
  "max_reposts_per_post": 100
}
```

# Actor output Schema

## `results` (type: `string`):

One dataset item per unique repost, in input-post and source order.

## `run_summary` (type: `string`):

Per-post completion, page, count, and sanitized error details.

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

// Run the Actor and wait for it to finish
const run = await client.actor("data-slayer/linkedin-post-reposts").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 = {
    "post_urls": ["https://www.linkedin.com/feed/update/urn:li:activity:7408723748973056001"],
    "max_reposts_per_post": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("data-slayer/linkedin-post-reposts").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 '{
  "post_urls": [
    "https://www.linkedin.com/feed/update/urn:li:activity:7408723748973056001"
  ],
  "max_reposts_per_post": 100
}' |
apify call data-slayer/linkedin-post-reposts --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Post Reposts Scraper (No Cookies)",
        "description": "Extract reposts and reshares from public LinkedIn post URLs, including reposter names, profile URLs when available, headlines, repost text, timestamps, and content-author details. Batch up to 1,000 posts and export structured JSON, CSV, or Excel—no LinkedIn cookies or login required.",
        "version": "1.0",
        "x-build-id": "1mMB7p2ilPZh9wDDF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/data-slayer~linkedin-post-reposts/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-data-slayer-linkedin-post-reposts",
                "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/data-slayer~linkedin-post-reposts/runs": {
            "post": {
                "operationId": "runs-sync-data-slayer-linkedin-post-reposts",
                "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/data-slayer~linkedin-post-reposts/run-sync": {
            "post": {
                "operationId": "run-sync-data-slayer-linkedin-post-reposts",
                "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": [
                    "post_urls"
                ],
                "properties": {
                    "post_urls": {
                        "title": "LinkedIn Post URLs",
                        "minItems": 1,
                        "maxItems": 1000,
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Required. Add 1–1,000 public LinkedIn post URLs. Supported formats include linkedin.com/posts/…-activity-…, linkedin.com/posts/…-ugcPost-…, and linkedin.com/feed/update/urn:li:activity:…. Tracking parameters and fragments are removed.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "max_reposts_per_post": {
                        "title": "Maximum reposts per post",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of unique reposts to save for each post. Enter 0 to fetch all available reposts, with a 100-page safety cap per post."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
