# Instagram Posts & Reels List – Bulk Content Metadata Scraper (`transcriptdl/instagram-posts-reels-list---bulk-content-metadata-scraper`) Actor

Retrieve the full list of posts and reels from any Instagram profile using its list\_id. Get partial metadata, thumbnails, captions, dates, likes, comments, and media URLs for every post and reel in bulk.

- **URL**: https://apify.com/transcriptdl/instagram-posts-reels-list---bulk-content-metadata-scraper.md
- **Developed by:** [Transcript Downloader](https://apify.com/transcriptdl) (community)
- **Categories:** AI, Automation, Social media
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## Instagram Posts & Reels List – Bulk Content Metadata Scraper

Retrieve the full list of posts and reels from any Instagram profile using its list_id. Get partial metadata, thumbnails, captions, dates, likes, comments, and media URLs for every post and reel in bulk.

---

### 📚 API Documentation

For complete API reference, endpoint details, and advanced usage examples, visit our official documentation:

**[Transcript Downloader API Documentation](https://documentation.transcriptdownloader.com)**

**[Get Your API Key](https://dashboard.transcriptdownloader.com/settings)** • **[API Pricing](https://transcriptdownloader.com/#pricing)**

---

### ✨ Features

* 📸 **Complete list download**: Get all posts and reels from a profile
* 🎬 **Multiple content types**: Posts, reels, carousels, images, videos
* 📊 **Rich metadata**: Likes, comments, views, engagement scores, hashtags
* 👥 **Relationship data**: Tagged users, coauthors, partnerships, audio info
* 🔁 **Batch processing**: Handle multiple lists simultaneously
* ⚙️ **Concurrency control**: Adjust processing speed with configurable limits
* 🔄 **Automatic polling**: Waits for list scraping when enabled (typically 3-5 min)
* 🚦 **Rate limiting**: Built-in delays to respect API limits
* 💰 **Cost tracking**: Monitor API usage per list
* 🧠 **Error tracking**: All failures logged with detailed error information
* ⚡ **Cached results**: Returns cached data for recent successful jobs

---

### 🔧 Input Parameters

The actor accepts the following input:

| Parameter          | Type    | Required | Default | Description                                                    |
| ------------------ | ------- | -------- | ------- | -------------------------------------------------------------- |
| `listIds`          | array   | ✅ Yes    | -       | List of Instagram list IDs (from profile endpoint)             |
| `apiToken`         | string  | ✅ Yes    | -       | Your Transcript Downloader API bearer token                    |
| `waitForCompletion`| boolean | No       | `true`  | Whether to wait for complete list scraping                     |
| `maxWaitTime`      | number  | No       | `15`    | Max time to wait for scraping completion (1-30 minutes)        |
| `pollingInterval`  | number  | No       | `30`    | How often to check status when waiting (10-120 seconds)        |
| `maxConcurrency`   | number  | No       | `2`     | Max concurrent list requests (range: 1-5)                      |

#### 📥 Sample Input

```json
{
  "listIds": [
    "01K575ZB8HT9BY4QATJ7848BVK",
    "01K575ZB8HT9BY4QATJ784DJN"
  ],
  "apiToken": "your-api-token",
  "waitForCompletion": true,
  "maxWaitTime": 15,
  "pollingInterval": 30,
  "maxConcurrency": 2
}
````

#### 📝 How to Get List IDs

List IDs are obtained from the **Instagram Profile Scraper** response:

```json
{
  "list": {
    "list_id": "01K575ZB8HT9BY4QATJ7848BVK",
    "list_cost": "12.500"
  }
}
```

**Workflow**:

1. Use Instagram Profile Scraper to get profile data
2. Extract `list.list_id` from the response
3. Use this list ID in this actor to get all posts/reels

***

### 📤 Output Format

Each list will produce a dataset item with the following structure:

#### Successful Response

```json
{
  "listId": "01K575ZB8HT9BY4QATJ7848BVK",
  "status": "success",
  "items": [
    {
      "type": "post",
      "instagram_id": "3780275965541531021",
      "caption": null,
      "description": "Beautiful post description",
      "likes": 11,
      "comments": 5,
      "num_comments": 5,
      "date_posted": "2025-12-04 16:00:33",
      "user_posted": "username",
      "account": "username",
      "image_url": "https://scontent.cdninstagram.com/...",
      "video_url": null,
      "url": "https://www.instagram.com/p/ABC123/",
      "shortcode": "ABC123",
      "content_type": "Image",
      "photos_number": 0,
      "videos_duration": null,
      "location": null,
      "post_id": "3780275965541531021",
      "datetime": "2025-12-04 16:00:33",
      "photos": ["https://image1.jpg"],
      "videos": [],
      "images": ["https://image1.jpg"],
      "audio": []
    },
    {
      "type": "reel",
      "post_id": "3780273348857873344",
      "description": "Reel description with #hashtags",
      "likes": 25000,
      "views": 0,
      "video_view_count": 0,
      "video_play_count": 480000,
      "num_comments": 1200,
      "date_posted": "2025-12-04 15:55:45",
      "user_posted": "username",
      "account": "username",
      "video_url": null,
      "thumbnail": "https://thumbnail.jpg",
      "url": "https://www.instagram.com/reel/XYZ789/",
      "shortcode": "XYZ789",
      "content_type": "reel",
      "content_id": "reel_content_123",
      "product_type": "clips",
      "length": null,
      "videos_duration": null,
      "is_verified": false,
      "videos": [null]
    }
  ],
  "posts": [
    /* Array of posts only (filtered from items) */
  ],
  "reels": [
    /* Array of reels only (filtered from items) */
  ],
  "summary": {
    "totalItems": 21,
    "totalPosts": 20,
    "totalReels": 1,
    "totalCost": "0.149",
    "processingTime": "125.3s"
  },
  "downloadInfo": {
    "posts": {
      "id": "01KBNV7FBDJ1JZNPM6YEYBYG0E",
      "media_id": "77007569848",
      "type": "instagram_list_posts",
      "cost": "0.142",
      "status": "success",
      "response": null,
      "created_at": "2025-12-04T23:30:36.000000Z"
    },
    "reels": {
      "id": "01KBNV7FBJR0QZ9A2PEVVC279N",
      "media_id": "77007569848",
      "type": "instagram_list_reels",
      "cost": "0.007",
      "status": "success",
      "response": null,
      "created_at": "2025-12-04T23:31:40.000000Z"
    }
  },
  "message": "List downloading completed successfully."
}
```

#### Pending Response (when waitForCompletion is false)

```json
{
  "listId": "01K575ZB8HT9BY4QATJ7848BVK",
  "status": "pending",
  "downloads": [
    {
      "id": "01KBNRQPSP8WXHSVPJ7CNBQEBP",
      "media_id": "77007569848",
      "type": "instagram_list_posts",
      "cost": "0.075",
      "status": "pending",
      "response": null,
      "created_at": "2025-12-04T22:46:42.000000Z"
    },
    {
      "id": "01KBNRQPSW2BDZD2N5WKP79VGT",
      "media_id": "77007569848",
      "type": "instagram_list_reels",
      "cost": "0.075",
      "status": "pending",
      "response": null,
      "created_at": "2025-12-04T22:46:42.000000Z"
    }
  ],
  "message": "List downloading is in progress.",
  "summary": {
    "processingTime": "2.1s"
  }
}
```

#### Failed Response

```json
{
  "listId": "01K575ZB8HT9BY4QATJ7848BVK",
  "error": "Profile not found - Fetch profile first before requesting list",
  "status": "failed"
}
```

***

### 🚀 How to Use

#### Complete Workflow

**Step 1**: Get profile and list ID

```json
// Run Instagram Profile Scraper first
{
  "profileUrls": ["https://www.instagram.com/mrbeast"],
  "apiToken": "your-token"
}
```

**Step 2**: Extract list\_id from response

```json
{
  "list": {
    "list_id": "01K575ZB8HT9BY4QATJ7848BVK"
  }
}
```

**Step 3**: Run this actor with the list\_id

```json
{
  "listIds": ["01K575ZB8HT9BY4QATJ7848BVK"],
  "apiToken": "your-token",
  "waitForCompletion": true
}
```

***

### ❌ Error Handling

The actor gracefully handles common API errors:

| Status Code | Meaning                                      | Action                           |
| ----------- | -------------------------------------------- | -------------------------------- |
| 400         | Incorrect ID or media restricted             | Check list ID format              |
| 401         | Insufficient credits or invalid token        | Check credits and API token       |
| 403         | Invalid API token                            | Regenerate API token              |
| 404 (List)  | Invalid Download List ID                     | Verify list ID is correct         |
| 404 (Profile)| Profile not found - Fetch profile first     | Run profile scraper first         |
| 429         | Rate limit exceeded                          | Actor handles with delays         |
| 500         | Third party service error or processing error| Retry automatically               |
| 503         | Service temporarily unavailable              | Retry later                       |

Failed lists are captured in the dataset with error information.

***

### ⚠️ Rate Limiting & Performance

- 🔄 **API Rate Limit**: 75 requests per minute
- ⏱️ **Built-in delays**: Automatic delays between requests
- 🚦 **Concurrency control**: Recommended maxConcurrency: 1-2 for lists
- ⏳ **30-minute timeout**: API enforces 30-minute timeout for security
- 📊 **Processing time**:
  - Typical list: 5-20 minutes
  - Large profiles: 3-15 minutes
  - Cached results: Instant (for recent successful jobs)

***

### 💡 Best Practices

#### For Standard Lists

```json
{
  "listIds": ["01K575ZB8HT9BY4QATJ7848BVK"],
  "apiToken": "your-token",
  "waitForCompletion": true,
  "maxWaitTime": 15,
  "pollingInterval": 30,
  "maxConcurrency": 2
}
```

**Use case**: Normal profiles with up to ~1000 posts

#### For Large Profiles

```json
{
  "listIds": ["01K575ZB8HT9BY4QATJ7848BVK"],
  "apiToken": "your-token", 
  "waitForCompletion": true,
  "maxWaitTime": 30,
  "pollingInterval": 45,
  "maxConcurrency": 1
}
```

**Use case**: Large profiles with thousands of posts

#### General Tips

- ✅ Always run profile scraper first to get list\_id
- ✅ Use `waitForCompletion: true` for complete data (recommended)
- ✅ Keep `maxConcurrency` low (1-2) to avoid rate limits
- ✅ Monitor costs using the `summary.totalCost` field
- ✅ Cached results return instantly for recent successful requests
- ✅ Set higher `maxWaitTime` for profiles with many posts
- ✅ Lists are sorted by `date_posted` in descending order (newest first)

***

### 📊 Data Included

#### For Posts:

- Basic metadata (likes, comments, date, caption, description)
- Instagram ID and post ID
- Content type (Image, Video, Carousel)
- Image URLs (photos, images arrays)
- Video URLs (videos array)
- Audio URLs (audio array)
- Location information
- User information (user\_posted, account)
- Post URL and shortcode
- Date/time information (date\_posted, datetime)
- Photo and video counts

#### For Reels:

- Video URL and thumbnail
- Views and play counts (views, video\_view\_count, video\_play\_count)
- Content identifiers (post\_id, content\_id, shortcode)
- Product type and content type
- Duration/length information
- Verification status (is\_verified)
- Video array
- Engagement metrics (likes, comments)

***

### 🔗 List ID Format

List IDs are 26-character alphanumeric strings:

```
✅ 01K575ZB8HT9BY4QATJ7848BVK (valid format)
❌ ABC123 (too short)
❌ 01k575zb8ht9by4qatj7848bvk (must be uppercase)
```

***

### 📈 Monitoring & Analytics

Track your usage with the built-in summary data:

```json
{
  "summary": {
    "totalItems": 21,
    "totalPosts": 20,
    "totalReels": 1,
    "totalCost": "0.149",
    "processingTime": "125.3s"
  }
}
```

Use this data to:

- Monitor API costs per list
- Track processing performance
- Analyze content distribution (posts vs reels)
- Plan batch processing strategies

***

### 💳 Pricing & Billing

The Transcript Downloader API used by this actor requires a valid API token. API usage is billed separately:

- **Profile request**: Initiates list scraping (separate charge)
- **List download**: Charges apply based on profile size
- **Cached results**: No additional charge for recent successful jobs
- **Cost displayed**: Total cost shown in `downloadInfo.cost` field

📊 Pricing varies by profile size and content volume. Visit our site to checkout pricing.\
View full details and subscription plans on our [pricing page](https://transcriptdownloader.com/#pricing)

***

### 🎯 Use Cases

- **Content Analysis**: Analyze posting patterns, content types, engagement trends
- **Competitor Research**: Track competitors' content strategy, hashtags, partnerships
- **Influencer Marketing**: Evaluate influencer content, engagement rates, brand partnerships
- **Brand Monitoring**: Monitor brand mentions, tagged content, user engagement
- **Market Research**: Identify trending content, popular hashtags, audio tracks
- **Social Listening**: Track conversations, comments, engagement on all posts
- **Archive Creation**: Create complete backup of profile content
- **Performance Tracking**: Monitor engagement scores, views, likes over time

***

### 🔄 Integration with Profile Scraper

This actor works seamlessly with the **Instagram Profile Scraper**:

1. **Profile Scraper** → Get basic profile info + ~12 recent posts + `list_id`
2. **List Scraper (this actor)** → Get ALL posts/reels with metadata using `list_id`
3. **Post Detail Scraper** → Get complete metadata for individual posts (future actor)

***

### 🙋 Support

Need help? Visit [Transcript Downloader Support](https://www.transcriptdownloader.com/#contact).
We respond within 24 business hours.

For technical issues with this actor, check the run logs for detailed error messages.

***

### 📄 License

This actor is provided under the [ISC License](https://opensource.org/licenses/ISC).

# Actor input Schema

## `listIds` (type: `array`):

List of Instagram list IDs to process. These are obtained from the profile endpoint response (list.list\_id field). Example: 01K575ZB8HT9BY4QATJ7848BVK

## `apiToken` (type: `string`):

Your Transcript Downloader API bearer token. Get it from your dashboard at https://dashboard.transcriptdownloader.com

## `waitForCompletion` (type: `boolean`):

If true, waits for complete list scraping (all posts/reels). If false, returns immediately if status is pending.

## `maxWaitTime` (type: `integer`):

Maximum time to wait for list scraping when waitForCompletion is enabled. Lists can take 3-5 minutes typically. (1-30 minutes)

## `pollingInterval` (type: `integer`):

How often to check scraping status when waiting for completion (10-120 seconds)

## `maxConcurrency` (type: `integer`):

Maximum number of concurrent list requests. Higher values process faster but may hit rate limits. Recommended: 1-3.

## Actor input object example

```json
{
  "listIds": [
    "01K575ZB8HT9BY4QATJ7848BVK",
    "01K575ZB8HT9BY4QATJ784DJN"
  ],
  "waitForCompletion": true,
  "maxWaitTime": 25,
  "pollingInterval": 60,
  "maxConcurrency": 2
}
```

# 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 = {
    "listIds": [
        "01K575ZB8HT9BY4QATJ7848BVK"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("transcriptdl/instagram-posts-reels-list---bulk-content-metadata-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 = { "listIds": ["01K575ZB8HT9BY4QATJ7848BVK"] }

# Run the Actor and wait for it to finish
run = client.actor("transcriptdl/instagram-posts-reels-list---bulk-content-metadata-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 '{
  "listIds": [
    "01K575ZB8HT9BY4QATJ7848BVK"
  ]
}' |
apify call transcriptdl/instagram-posts-reels-list---bulk-content-metadata-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instagram Posts & Reels List – Bulk Content Metadata Scraper",
        "description": "Retrieve the full list of posts and reels from any Instagram profile using its list_id. Get partial metadata, thumbnails, captions, dates, likes, comments, and media URLs for every post and reel in bulk.",
        "version": "1.0",
        "x-build-id": "qBJmZKsMpUIEbuede"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/transcriptdl~instagram-posts-reels-list---bulk-content-metadata-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-transcriptdl-instagram-posts-reels-list---bulk-content-metadata-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/transcriptdl~instagram-posts-reels-list---bulk-content-metadata-scraper/runs": {
            "post": {
                "operationId": "runs-sync-transcriptdl-instagram-posts-reels-list---bulk-content-metadata-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/transcriptdl~instagram-posts-reels-list---bulk-content-metadata-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-transcriptdl-instagram-posts-reels-list---bulk-content-metadata-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": [
                    "listIds",
                    "apiToken"
                ],
                "properties": {
                    "listIds": {
                        "title": "List IDs",
                        "type": "array",
                        "description": "List of Instagram list IDs to process. These are obtained from the profile endpoint response (list.list_id field). Example: 01K575ZB8HT9BY4QATJ7848BVK",
                        "items": {
                            "type": "string"
                        }
                    },
                    "apiToken": {
                        "title": "API Token",
                        "type": "string",
                        "description": "Your Transcript Downloader API bearer token. Get it from your dashboard at https://dashboard.transcriptdownloader.com"
                    },
                    "waitForCompletion": {
                        "title": "Wait for Complete List Download",
                        "type": "boolean",
                        "description": "If true, waits for complete list scraping (all posts/reels). If false, returns immediately if status is pending.",
                        "default": true
                    },
                    "maxWaitTime": {
                        "title": "Maximum Wait Time (minutes)",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Maximum time to wait for list scraping when waitForCompletion is enabled. Lists can take 3-5 minutes typically. (1-30 minutes)",
                        "default": 25
                    },
                    "pollingInterval": {
                        "title": "Polling Interval (seconds)",
                        "minimum": 10,
                        "maximum": 120,
                        "type": "integer",
                        "description": "How often to check scraping status when waiting for completion (10-120 seconds)",
                        "default": 60
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrent Requests",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Maximum number of concurrent list requests. Higher values process faster but may hit rate limits. Recommended: 1-3.",
                        "default": 2
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
