# Instagram Scraper — Profiles, Posts & Comments | from $2/1K (`bovi/instagram-scraper`) Actor

**Scrape public Instagram profiles, posts, and comments** without login. Returns followers, captions, like/comment counts, media URLs, timestamps, and `parse_confidence` drift signal in every record. Uses Instagram's stable mobile API — no doc\_id rotation, no silent failures.

- **URL**: https://apify.com/bovi/instagram-scraper.md
- **Developed by:** [Vitalii Bondarev](https://apify.com/bovi) (community)
- **Categories:** Social media, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 profile items

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

## Instagram Scraper — Profiles, Posts & Comments

Scrape public Instagram profiles, posts, and comments using Instagram's stable mobile API — no doc_id rotation, no maintenance windows, no login required for profiles and posts. Returns 15+ fields per record including followers, captions, like counts, media URLs, timestamps, and `parse_confidence` in every record.

Most Instagram scrapers use GraphQL endpoints with `doc_id` parameters that rotate every 2–4 weeks, causing silent failures. This actor calls Instagram's mobile API endpoints (`/api/v1/users/web_profile_info/`, `/api/v1/feed/user/{id}/`) that have been stable for years — the same endpoints used by the official iOS app.

---

### What you get

#### Profile mode (`mode: "profile"`)

| Field | Description |
|---|---|
| `username` | Instagram handle |
| `user_id` | Numeric user ID |
| `full_name` | Display name |
| `followers` | Follower count |
| `following` | Following count |
| `posts_count` | Total post count |
| `is_verified` | Blue checkmark |
| `is_private` | Private account flag |
| `bio` | Profile biography text |
| `external_url` | Link in bio |
| `profile_pic_url` | Profile picture URL |
| `parse_confidence` | Data quality score (0.0–1.0) |
| `warnings` | Machine-readable quality codes |
| `scraped_at` | ISO-8601 timestamp |

#### Posts mode (`mode: "posts"` / `"post_details"`)

| Field | Description |
|---|---|
| `shortcode` | Post code (e.g. `DYhkH24lf3j`) |
| `media_pk` | Numeric media ID |
| `username` | Author handle |
| `user_id` | Author numeric ID |
| `caption` | Post caption text |
| `media_type` | `photo` / `video` / `carousel` |
| `media_type_code` | Raw code: 1=photo, 2=video, 8=carousel |
| `like_count` | Like count |
| `comment_count` | Comment count |
| `play_count` | Video view count (None for photos) |
| `taken_at` | Post timestamp (ISO-8601 UTC) |
| `display_url` | Best image URL |
| `video_url` | Video file URL (videos only) |
| `location_name` | Location tag name |
| `location_city` | Location city |
| `parse_confidence` | Data quality score (0.0–1.0) |
| `warnings` | Machine-readable quality codes |
| `scraped_at` | ISO-8601 timestamp |

#### Comments mode (`mode: "comments"`)

> **Requires `sessionId`** — Instagram blocks anonymous comment requests.
> Provide your own IG `sessionid` cookie. See input options below.

| Field | Description |
|---|---|
| `comment_pk` | Numeric comment ID |
| `media_pk` | Parent post ID |
| `text` | Comment text |
| `author` | Commenter handle |
| `author_id` | Commenter numeric ID |
| `like_count` | Comment like count |
| `created_at` | Comment timestamp (ISO-8601 UTC) |
| `parse_confidence` | Data quality score (0.0–1.0) |
| `warnings` | Machine-readable quality codes |
| `scraped_at` | ISO-8601 timestamp |

---

### Input

| Parameter | Type | Default | Description |
|---|---|---|---|
| `mode` | `profile`/`posts`/`post_details`/`comments` | `posts` | What to scrape |
| `usernames` | string[] | — | Handles to scrape (profile/posts modes) |
| `postUrls` | string[] | — | Post URLs for comments mode |
| `shortcodes` | string[] | — | Post shortcodes for comments mode |
| `maxItems` | integer | 50 | Max records per username/post |
| `sessionId` | string | — | Your IG sessionid cookie (comments only) |
| `proxyConfiguration` | object | RESIDENTIAL | Apify proxy config |

#### Example input — profiles

```json
{
  "mode": "profile",
  "usernames": ["natgeo", "nasa", "instagram"],
  "maxItems": 50
}
````

#### Example input — posts

```json
{
  "mode": "posts",
  "usernames": ["natgeo"],
  "maxItems": 50
}
```

#### Example input — comments

```json
{
  "mode": "comments",
  "postUrls": ["https://www.instagram.com/p/DYhkH24lf3j/"],
  "maxItems": 100,
  "sessionId": "YOUR_SESSIONID_COOKIE"
}
```

***

### How to get your `sessionId` cookie (for comments mode)

1. Log in to Instagram in your browser (Chrome/Firefox)
2. Open DevTools → Application → Cookies → `https://www.instagram.com`
3. Find the cookie named `sessionid` — copy its Value
4. Paste it into the `sessionId` input field

**Important:** Use your own account. Sessions last ~90 days before expiring.
This actor never stores or shares your cookie — it is only used for the current run.

***

### Why RESIDENTIAL proxy is required

Instagram blocks datacenter IP ranges immediately. When running on Apify cloud
(datacenter IPs), RESIDENTIAL proxy is mandatory. The default proxy config
(`useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"]`) handles this
automatically — the proxy cost is billed to your Apify account at standard rates.

***

### Why this scraper beats the alternatives

| | This scraper | @data-slayer/instagram-post-details ($2,648/mo) | @krazee\_kaushik (profile+comments) |
|---|:---:|:---:|:---:|
| Price | ~$1.50–2.00/1k | higher | higher |
| No doc\_id rotation maintenance | ✓ | ✗ | ✗ |
| `parse_confidence` in every record | ✓ | ✗ | ✗ |
| Graceful degradation without sessionId | ✓ | ✗ | partial |
| Both feed + profile node shapes parsed | ✓ | partial | partial |
| play\_count (video views) | ✓ | partial | ✗ |

**Key advantage:** Most competitors use GraphQL endpoints with `doc_id` parameters
that rotate every 2–4 weeks, causing silent failures until manually patched.
This actor uses Instagram's stable mobile API endpoints — **no doc\_id rotation,
no maintenance window**.

***

### Technical notes

- Uses lightweight HTTP requests with proper browser headers (requests/httpx are blocked by Instagram)
- **Profile + posts**: anonymous access via `/api/v1/users/web_profile_info/` and `/api/v1/feed/user/{id}/`
- **Comments**: requires `sessionid` cookie via `/api/v1/media/{pk}/comments/`
- Proxy: Apify RESIDENTIAL (required for cloud runs; buyer-paid)
- `parse_confidence` (0.0–1.0) in every record — schema drift is visible in the dataset
- Rate-limit aware: exponential backoff on 429, retries on transient errors
- Shortcode ↔ media\_pk conversion via base64url (A-Za-z0-9 + `-_`)

***

### Pricing

**~$1.50–2.00 per 1,000 records** (PPE — pay per result, no per-run fees).

***

### Use with AI agents (MCP)

This scraper is callable as a tool by AI agents (Claude, Cursor, n8n, CrewAI)
via Apify's MCP server. Minimal agent call:

```json
{
  "mode": "posts",
  "usernames": ["natgeo"],
  "maxItems": 10
}
```

`parse_confidence` (0.0–1.0) in every record lets agents filter low-quality rows
without manual inspection.

***

*Not affiliated with Instagram or Meta. For personal use and research.*

### Integrations

Built for social-listening and influencer-marketing teams pulling profile stats, post engagement, and comment data at scale — the JSON/dataset output drops into the tools you already run, no glue code:

- **n8n / Make / Zapier** — trigger a run or pipe every new dataset item into 500+ apps (Google Sheets, Airtable, Slack, HubSpot, your database) with no code: [n8n](https://docs.apify.com/platform/integrations/n8n), [Make](https://docs.apify.com/platform/integrations/make), [Zapier](https://docs.apify.com/platform/integrations/zapier).
- **Webhooks** — fire your own endpoint the moment a run finishes, to push results straight into your pipeline ([docs](https://docs.apify.com/platform/integrations/webhooks)).
- **MCP server** — expose this actor as a tool to Claude, Cursor, or any [MCP client](https://mcp.apify.com) so an AI agent can pull this data mid-conversation ([guide](https://blog.apify.com/how-to-use-mcp/)).
- **API & SDKs** — fetch the dataset as JSON, CSV, or Excel through the Apify REST API or the Python / JS SDKs.

See all [Apify integrations](https://apify.com/integrations).

# Actor input Schema

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

What to scrape. 'profile' returns account metadata (followers, bio, etc). 'posts' returns the recent post feed with captions, likes, media URLs. 'comments' returns comments for specific posts (requires sessionId). 'post\_details' is an alias for 'posts'.

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

Instagram usernames to scrape (for profile and posts modes). With or without '@' prefix. Example: \['natgeo', 'nasa', 'instagram']. Required for profile and posts modes.

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

Full Instagram post URLs to fetch comments for. Example: \['https://www.instagram.com/p/DYhkH24lf3j/']. Used in comments mode. Reels and TV URLs also accepted.

## `shortcodes` (type: `array`):

Instagram post shortcodes (the code after /p/ in the URL). Example: \['DYhkH24lf3j']. Alternative to postUrls for comments mode.

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

Maximum number of posts to return per username (posts mode), or comments per post (comments mode). Default: 50. For agent mid-conversation use, keep low (10–25). For bulk export, use 200+.

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

Your Instagram 'sessionid' cookie value. Required for comments mode — Instagram blocks anonymous comment requests. This is YOUR OWN cookie (not a shared credential). Find it in browser DevTools → Application → Cookies → instagram.com. Sessions last ~90 days. We never store or share your cookie.

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

Apify proxy configuration. Default: Apify RESIDENTIAL proxy (required — Instagram blocks datacenter IPs). The proxy cost is billed to your Apify account at standard rates.

## Actor input object example

```json
{
  "mode": "posts",
  "usernames": [
    "natgeo"
  ],
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

Dataset containing Instagram Scraper records (username, full\_name, followers, following, posts\_count, is\_verified, is\_private, bio, external\_url, parse\_confidence, scraped\_at, shortcode, media\_type, caption, like\_count, comment\_count, play\_count, taken\_at).

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "posts",
    "usernames": [
        "natgeo"
    ],
    "maxItems": 50,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("bovi/instagram-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "posts",
    "usernames": ["natgeo"],
    "maxItems": 50,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("bovi/instagram-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "posts",
  "usernames": [
    "natgeo"
  ],
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call bovi/instagram-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instagram Scraper — Profiles, Posts & Comments | from $2/1K",
        "description": "**Scrape public Instagram profiles, posts, and comments** without login. Returns followers, captions, like/comment counts, media URLs, timestamps, and `parse_confidence` drift signal in every record. Uses Instagram's stable mobile API — no doc_id rotation, no silent failures.",
        "version": "0.1",
        "x-build-id": "Afzhcf0EZ6Cvp0Oak"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/bovi~instagram-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-bovi-instagram-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/bovi~instagram-scraper/runs": {
            "post": {
                "operationId": "runs-sync-bovi-instagram-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/bovi~instagram-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-bovi-instagram-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Scrape Mode",
                        "enum": [
                            "profile",
                            "posts",
                            "post_details",
                            "comments"
                        ],
                        "type": "string",
                        "description": "What to scrape. 'profile' returns account metadata (followers, bio, etc). 'posts' returns the recent post feed with captions, likes, media URLs. 'comments' returns comments for specific posts (requires sessionId). 'post_details' is an alias for 'posts'.",
                        "default": "posts"
                    },
                    "usernames": {
                        "title": "Instagram Usernames",
                        "type": "array",
                        "description": "Instagram usernames to scrape (for profile and posts modes). With or without '@' prefix. Example: ['natgeo', 'nasa', 'instagram']. Required for profile and posts modes.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "postUrls": {
                        "title": "Post URLs (for comments mode)",
                        "type": "array",
                        "description": "Full Instagram post URLs to fetch comments for. Example: ['https://www.instagram.com/p/DYhkH24lf3j/']. Used in comments mode. Reels and TV URLs also accepted.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "shortcodes": {
                        "title": "Post Shortcodes (for comments mode)",
                        "type": "array",
                        "description": "Instagram post shortcodes (the code after /p/ in the URL). Example: ['DYhkH24lf3j']. Alternative to postUrls for comments mode.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max Items Per Username / Post",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of posts to return per username (posts mode), or comments per post (comments mode). Default: 50. For agent mid-conversation use, keep low (10–25). For bulk export, use 200+.",
                        "default": 50
                    },
                    "sessionId": {
                        "title": "Instagram Session ID (for comments)",
                        "type": "string",
                        "description": "Your Instagram 'sessionid' cookie value. Required for comments mode — Instagram blocks anonymous comment requests. This is YOUR OWN cookie (not a shared credential). Find it in browser DevTools → Application → Cookies → instagram.com. Sessions last ~90 days. We never store or share your cookie."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Apify proxy configuration. Default: Apify RESIDENTIAL proxy (required — Instagram blocks datacenter IPs). The proxy cost is billed to your Apify account at standard rates.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
