# 🧵 Threads User Following Scraper (`scraper-engine/threads-user-following-scraper`) Actor

🧵 Threads User Following Scraper extracts the accounts a Threads profile follows. Collect usernames, profile URLs, bios, follower counts, and related public profile data in structured output. Great for influencer research, audience mapping, lead generation, and competitor analysis.

- **URL**: https://apify.com/scraper-engine/threads-user-following-scraper.md
- **Developed by:** [Scraper Engine](https://apify.com/scraper-engine) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.99 / 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.

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

### 🧵 Threads User Following Scraper

The 🧵 Threads User Following Scraper extracts the accounts a Threads profile follows and streams structured data to your Apify dataset in real time. It solves the tedious task of manually collecting “following” lists by automating token extraction and GraphQL pagination — ideal for influencer research, audience mapping, lead generation, and competitor analysis. Marketers, developers, data analysts, and researchers can use this Threads user following scraper to build a reliable Meta Threads social graph scraper pipeline that scales.

### What data / output can you get?

Below are the exact fields pushed to the dataset for each followed account. Values are taken from the GraphQL response and preserved as-is for accuracy.

| Data field | Description | Example value |
| --- | --- | --- |
| username | Handle of the followed account | "zuck" |
| full_name | Display name | "Mark Zuckerberg" |
| id | Global node ID | "1234567890123456789" |
| pk | Numeric user ID | "1234567890" |
| profile_pic_url | Avatar image URL | "https://example.cdninstagram.com/…/avatar.jpg" |
| is_verified | Verified badge flag | true |
| follower_count | Number of followers | 58234567 |
| friendship_status | Follow/interaction flags object | {"following": true, "is_bestie": false} |
| profile_context_facepile_users | Context users array (if present) | [{"username":"user1"}, {"username":"user2"}] |
| following_index | 1-based position in the list for this run | 42 |
| text_post_app_is_private | Account privacy on Threads | false |
| source | Constant identifier for this extractor | "threads_following" |

Note: Some fields may be null or omitted when not provided by Threads for a given node. Results are available in your Apify Dataset (Output tab) for quick download and further processing, making this a practical Threads following list extractor and Instagram Threads user following export tool.

### Key features

- 🔬 Bold accuracy via GraphQL flow  
  Uses the same BarcelonaFriendshipsFollowingTabRefetchableQuery with tokens extracted from profile HTML/JS bundles for precise, stable data — a Meta Threads following scraper you can trust.

- 🔄 Smart connection fallback  
  Starts direct, escalates to datacenter proxy on 401/403/429 or bad/empty responses, then switches to residential with sticky mode and per-batch retries (up to 3). Keeps runs moving when routes get noisy.

- 📦 Real-time streaming to Apify Dataset  
  Each row is pushed immediately as it’s discovered, so you see results live in the output table — perfect for monitoring and fast feedback loops.

- 📑 Pagination handled for you  
  Collects results in PAGE_CHUNKs of 50 with robust cursor handling until your configured cap is reached. Ideal for Threads user following list export workflows.

- 🎯 Precise limits per profile  
  Control depth with maxFollowing to sample or capture full lists at scale.

- 🔗 Flexible input parsing  
  Accepts profile URLs like https://www.threads.com/@username or plain usernames. Great for bulk queues in a Threads account following scraper tool.

- ⚙️ Developer-friendly internals  
  Built on aiohttp with async concurrency and explicit headers/CSRF/app id/doc id handling. Easy to incorporate into a Threads user following API scraper pipeline.

- 🧠 Production-ready resilience  
  Timeout strategies, retry logic on residential, and structured logging throughout — designed for reliability on real datasets.

### How to use 🧵 Threads User Following Scraper — step by step

1) Sign in to Apify and open the actor  
2) Add input “urls” — paste Threads profile links (https://www.threads.com/@username) or just usernames, one per line  
3) Provide your “sessionId” — the sessionid cookie from a logged-in Threads/Instagram browser session  
4) (Optional) Set “maxFollowing” to cap how many people to collect per profile  
5) (Optional) Configure “proxyConfiguration” if you already use Apify Proxy; otherwise the scraper will start direct and escalate automatically only when needed  
6) Click Start — the run opens each profile, extracts tokens, and loads following via GraphQL  
7) Watch results stream into the Dataset’s live table in the Output tab  
8) Download your dataset from the Output tab for analysis and enrichment in your workflows (e.g., use it as a Threads following list CSV export source from the Apify UI)

Pro tip: Chain this Meta Threads social graph scraper with your enrichment pipeline or CRM via the Apify platform API to automate end-to-end audience research.

### Use cases

| Use case | Description |
| --- | --- |
| Influencer discovery & vetting | Build curated lists of who top creators follow to identify niche tastemakers and partners. |
| Audience mapping for campaigns | Map social graphs to spot clusters and overlaps for better targeting and creative strategy. |
| Lead generation & outreach | Export following lists to feed prospecting or ambassador programs with verified handles and names. |
| Competitor analysis | Track who competitors follow to uncover suppliers, partners, or marketing playbooks. |
| Academic & social research | Collect structured following data for network analysis and trend studies. |
| API-driven pipelines | Integrate the dataset into automated data flows for enrichment, scoring, and reporting. |

### Why choose 🧵 Threads User Following Scraper?

The scraper is built for precision, resilience, and scale — a focused Threads following list extractor that works reliably in production.

- 🎯 GraphQL-first precision for clean, consistent records
- 🔐 Requires your session so you only collect data you’re allowed to see
- 🔄 Smart proxy escalation (direct → datacenter → residential with retries) for tough routes
- 🚀 Bulk-friendly input and streaming output for fast iteration
- 🧩 Developer-ready: async architecture, explicit token handling, and structured logs
- 🛡️ Sensible defaults with clear controls (maxFollowing, optional proxyConfiguration)
- 🧷 More reliable than ad hoc scripts or browser extensions under changing site conditions

In short, it’s a production-grade Meta Threads following scraper that balances accuracy with operational reliability.

### Is it legal / ethical to use 🧵 Threads User Following Scraper?

Yes — when used responsibly. This tool automates requests a logged-in user can make, and requires your own session cookie. You should:

- Only collect data in line with Meta/Threads terms and applicable laws
- Respect privacy and avoid misuse of personal data
- Use your own session and do not share credentials publicly
- Consult your legal team if you have questions about specific use cases

The actor does not bypass authentication or access private profiles you cannot view with your session.

### Input parameters & output format

#### Example JSON input
```json
{
  "urls": [
    "zuck",
    "https://www.threads.com/@instagram"
  ],
  "sessionId": "YOUR_SESSIONID_COOKIE",
  "maxFollowing": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

- urls (array, required)\
  Description: Paste Threads profile links or usernames — one per line or add many at once. Examples: https://www.threads.com/@username or simply username.\
  Default: none

- sessionId (string, required)\
  Description: Paste your sessionid from the browser where you’re logged into Threads/Instagram. This keeps the run tied to your account. Don’t share this value publicly.\
  Default: ""

- maxFollowing (integer, optional)\
  Description: Cap how many following rows to collect per profile. Lower = faster & lighter; higher = more complete picture.\
  Default: 50\
  Min: 1, Max: 10000

- proxyConfiguration (object, optional)\
  Description: Totally optional. Leave off for a normal run from Apify’s cloud. Turn on if you already use Apify Proxy and want extra flexibility.\
  Default prefill: { "useApifyProxy": false }

#### Example JSON output

```json
[
  {
    "source": "threads_following",
    "id": "1234567890123456789",
    "pk": "1234567890",
    "username": "sample_user",
    "full_name": "Sample User",
    "profile_pic_url": "https://static.cdninstagram.com/…/avatar.jpg",
    "is_verified": true,
    "text_post_app_is_private": false,
    "has_onboarded_to_text_post_app": true,
    "follower_count": 24500,
    "following_index": 1,
    "friendship_status": {
      "following": true,
      "is_bestie": false
    },
    "profile_context_facepile_users": [
      { "username": "friend_one" },
      { "username": "friend_two" }
    ],
    "__typename": "User"
  },
  {
    "source": "threads_following",
    "id": "9876543210987654321",
    "pk": "9876543210",
    "username": "another_user",
    "full_name": "Another User",
    "profile_pic_url": "https://static.cdninstagram.com/…/avatar2.jpg",
    "is_verified": false,
    "text_post_app_is_private": false,
    "has_onboarded_to_text_post_app": true,
    "follower_count": 1020,
    "following_index": 2,
    "friendship_status": null,
    "profile_context_facepile_users": null,
    "__typename": "User"
  }
]
```

Notes:

- Fields may be null or omitted depending on what Threads returns for each node.
- Records are pushed as they are discovered, enabling incremental processing for Threads user following list export workflows.

### FAQ

#### Do I need to be logged in to use this scraper?

Yes. You must provide your own sessionId (sessionid cookie) from a logged-in Threads/Instagram browser session. The actor uses your session to access only what your account can see.

#### How many profiles and rows can I scrape per run?

You can add multiple usernames/URLs to urls. Use maxFollowing to cap how many followed accounts to collect per profile. The input schema supports values from 1 up to 10,000 per profile.

#### What input formats are supported for profiles?

Both https://www.threads.com/@username links and plain usernames are accepted. The actor automatically parses and normalizes them.

#### What happens if the site blocks or throttles requests?

The actor starts without a proxy. On blocks (HTTP 401/403/429, empty/challenge HTML, or bad GraphQL), it escalates to Apify datacenter proxy; if needed, it switches to residential and retries each GraphQL batch up to 3 times, staying on residential for the rest of the run.

#### Which data fields are included in the output?

Each dataset item includes fields such as username, full\_name, id, pk, profile\_pic\_url, is\_verified, follower\_count, friendship\_status, following\_index, text\_post\_app\_is\_private, profile\_context\_facepile\_users, source, and \_\_typename.

#### Can I export the results for analysis?

Yes. Results stream into your Apify Dataset in the Output tab, from where you can download and use them in your workflows (e.g., as a Threads following list CSV export source from the Apify UI).

#### Is this a Threads user following API scraper I can integrate with?

The actor pushes structured JSON via Actor.push\_data to your Apify Dataset, making it straightforward to consume via the Apify platform and integrate into pipelines for export Threads followers and following workflows.

#### Does it scrape private or hidden data?

No. It requires your session and only loads data your account can access. Always use the tool in line with Meta/Threads terms and applicable laws.

### Final thoughts

The 🧵 Threads User Following Scraper is built to extract accurate, structured following lists from Threads profiles at scale. With GraphQL-based precision, smart proxy fallback, and streaming dataset output, it’s a reliable Meta Threads following scraper for marketers, researchers, and developers alike. Add profile URLs or usernames, set maxFollowing, and let the actor handle token extraction, pagination, and connectivity. Developers can easily plug the dataset into automation pipelines for repeatable Instagram Threads user following export. Start mapping your audience and competitors’ social graphs with confidence today.

# Actor input Schema

## `urls` (type: `array`):

📋 Paste Threads profile links or usernames — one per line or add many at once. ✨ Examples: `https://www.threads.com/@username` or simply `username`. 🚀 Bulk-friendly for big lists!

## `sessionId` (type: `string`):

🍪 Paste your **sessionid** from the browser where you’re logged into Threads/Instagram. 🔒 This keeps the run tied to *your* account — we don’t store or share it beyond this run. ⚠️ Don’t share this value publicly.

## `maxFollowing` (type: `integer`):

🎚️ Cap how many following rows to collect **per profile** — great for quick samples or full lists. 📉 Lower = faster & lighter; 📊 higher = more complete picture.

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

🛡️ **Totally optional.** Leave off for a normal run from Apify’s cloud. ✨ Turn on if you already use Apify Proxy and want extra flexibility — helpful when routes get noisy. 🏠 Defaults to a simple setup; you can tune groups in the proxy picker if you use it.

## Actor input object example

```json
{
  "urls": [
    "zuck"
  ],
  "sessionId": "",
  "maxFollowing": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "urls": [
        "zuck"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraper-engine/threads-user-following-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 = {
    "urls": ["zuck"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("scraper-engine/threads-user-following-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 '{
  "urls": [
    "zuck"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scraper-engine/threads-user-following-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🧵 Threads User Following Scraper",
        "description": "🧵 Threads User Following Scraper extracts the accounts a Threads profile follows. Collect usernames, profile URLs, bios, follower counts, and related public profile data in structured output. Great for influencer research, audience mapping, lead generation, and competitor analysis.",
        "version": "0.1",
        "x-build-id": "V9oTcD3hvmEIyrsyw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraper-engine~threads-user-following-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraper-engine-threads-user-following-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/scraper-engine~threads-user-following-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scraper-engine-threads-user-following-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/scraper-engine~threads-user-following-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scraper-engine-threads-user-following-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": [
                    "urls",
                    "sessionId"
                ],
                "properties": {
                    "urls": {
                        "title": "🔗 Profiles to look up",
                        "type": "array",
                        "description": "📋 Paste Threads profile links or usernames — one per line or add many at once. ✨ Examples: `https://www.threads.com/@username` or simply `username`. 🚀 Bulk-friendly for big lists!",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sessionId": {
                        "title": "🔑 Your session cookie",
                        "type": "string",
                        "description": "🍪 Paste your **sessionid** from the browser where you’re logged into Threads/Instagram. 🔒 This keeps the run tied to *your* account — we don’t store or share it beyond this run. ⚠️ Don’t share this value publicly.",
                        "default": ""
                    },
                    "maxFollowing": {
                        "title": "📈 How many people max?",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "🎚️ Cap how many following rows to collect **per profile** — great for quick samples or full lists. 📉 Lower = faster & lighter; 📊 higher = more complete picture.",
                        "default": 50
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Optional connection boost",
                        "type": "object",
                        "description": "🛡️ **Totally optional.** Leave off for a normal run from Apify’s cloud. ✨ Turn on if you already use Apify Proxy and want extra flexibility — helpful when routes get noisy. 🏠 Defaults to a simple setup; you can tune groups in the proxy picker if you use it."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
