# Docker Hub Scraper (`crawlerbros/dockerhub-scraper`) Actor

Scrape Docker Hub, container image search, pull counts, star counts, publisher and verified-publisher data, tags, architectures, OS support, categories, and user/org profiles. Pure HTTP, no auth required

- **URL**: https://apify.com/crawlerbros/dockerhub-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 7 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

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

## Docker Hub Scraper

Scrape Docker Hub — the world's largest container image registry. Search images, get pull counts, star counts, publisher info, architectures, OS support, categories, tags, and user/org profiles. Pure HTTP via the public `hub.docker.com` REST API. No auth, no cookies, no proxy required.

### What this actor does

- **Six modes:** `search`, `byImages`, `userProfile`, `repoTags`, `topByCategory`, `namespaceRepos`
- **Real-time pull and star counts** for every public image
- **Architecture / OS support** — amd64, arm64, arm, 386, ppc64le, s390x, riscv64, mips64le; Linux & Windows
- **Categories** — 16 official Docker Hub categories (Databases, Web Servers, Languages, Operating Systems, etc.)
- **Publisher metadata** — verified publishers, Docker Official Images, sponsored open-source
- **Tags** — per-tag size, digest, push date, platform manifest list
- **Profiles** — user and organization profile data including verified-publisher badges
- **Rich filtering** — pull range, star range, official-only, verified-only, architecture, OS, keyword
- **Empty fields are omitted**

### Output per image

- `namespace`, `name`, `fullName` — e.g. `library/postgres`
- `shortDescription`, `description`
- `type` — `image` / `plugin`
- `isOfficial`, `isVerifiedPublisher`, `isAutomated`, `isArchived`, `isPrivate`
- `pullCount` (numeric), `pullCountDisplay` (e.g. `1B+`)
- `starCount`
- `lastUpdated`, `lastPulled`, `lastModified`, `dateRegistered`
- `status` — `active` / `archived`
- `publisher` — `{ name, id, isOfficial?, isVerified? }`
- `categories[]` — e.g. `Databases & storage`, `Web servers`
- `architectures[]` — e.g. `amd64`, `arm64`, `s390x`
- `operatingSystems[]` — `linux`, `windows`
- `mediaTypes[]`, `contentTypes[]`
- `logoUrl` — CDN-hosted publisher logo
- `repoUrl` — canonical hub.docker.com URL
- `source` — `store` (official), `verified_publisher`, etc.
- `storageSize` (bytes, where available)
- `recordType: "image"`, `scrapedAt`

### Output per tag (mode=repoTags)

- `namespace`, `name`, `fullName`, `tagName`
- `fullSize`, `lastPushed`, `lastPulled`
- `lastUpdaterUsername`, `digest`
- `architecture`, `os` — primary platform
- `platforms[]` — `{ architecture, os, variant?, size, digest, status }` per manifest
- `mediaType`, `contentType`
- `repoUrl`, `baseRepoUrl`
- `recordType: "tag"`, `scrapedAt`

### Output per user/org (mode=userProfile)

- `username`, `fullName`, `type` (`User` / `Organization`)
- `company`, `location`, `profileUrl`, `dateJoined`
- `avatarUrl` (Gravatar)
- `badge` — `verified_publisher` / `official` / `open_source`
- `isVerifiedPublisher`, `isOfficial`, `isActive`
- `dockerHubUrl`
- `recordType: "userProfile"`, `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | enum | `search` | `search` / `byImages` / `userProfile` / `repoTags` / `topByCategory` / `namespaceRepos` |
| `searchQuery` | string | `postgres` | Free-text query (mode=search) |
| `imageNames` | array | – | `namespace/repo` strings (mode=byImages) |
| `namespace` | string | – | User / org slug (mode=userProfile, repoTags, namespaceRepos) |
| `repository` | string | – | Repository name (mode=repoTags) |
| `category` | enum | – | Category slug (mode=topByCategory or as a filter) |
| `architectures` | array enum | – | Filter to images supporting any selected arch |
| `operatingSystems` | array enum | – | Filter to images supporting any selected OS |
| `isOfficial` | bool | `false` | Only Docker Official Images |
| `isVerifiedPublisher` | bool | `false` | Only Verified Publishers |
| `minStarCount` | int | – | Drop images with fewer stars |
| `maxStarCount` | int | – | Drop images with more stars |
| `minPullCount` | int | – | Drop images with fewer pulls |
| `maxPullCount` | int | – | Drop images with more pulls |
| `sortBy` | enum | relevance | `pull_count` / `star_count` / `updated_at` / `name` |
| `containsKeyword` | string | – | Substring filter on description/name (case-insensitive) |
| `includeUserRepos` | bool | `true` | Also enumerate a user/org's repos in `userProfile` mode |
| `maxItems` | int | `50` | Hard cap (1–1000) |

#### Example: search PostgreSQL images, official only

```json
{
  "mode": "search",
  "searchQuery": "postgres",
  "isOfficial": true,
  "sortBy": "pull_count",
  "maxItems": 20
}
````

#### Example: lookup a list of specific images

```json
{
  "mode": "byImages",
  "imageNames": [
    "library/nginx",
    "bitnami/redis",
    "library/postgres",
    "https://hub.docker.com/r/jenkins/jenkins"
  ]
}
```

#### Example: get all tags for a repository

```json
{
  "mode": "repoTags",
  "namespace": "library",
  "repository": "postgres",
  "maxItems": 100
}
```

#### Example: top databases by pull count

```json
{
  "mode": "topByCategory",
  "category": "databases-and-storage",
  "sortBy": "pull_count",
  "maxItems": 30
}
```

#### Example: user / organization profile + their repos

```json
{
  "mode": "userProfile",
  "namespace": "bitnami",
  "includeUserRepos": true,
  "maxItems": 50
}
```

#### Example: ARM64-only images for IoT deployments

```json
{
  "mode": "search",
  "searchQuery": "alpine",
  "architectures": ["arm64"],
  "minStarCount": 100
}
```

### Use cases

- **DevOps intelligence** — discover production-ready images for your stack
- **Security scanning** — bulk-export verified publisher images for compliance review
- **Container marketplaces** — feed Docker Hub categories and metadata into your catalog
- **Migration planning** — find ARM64 / RISC-V replacements for amd64-only images
- **Open-source analytics** — track pull counts and stars to gauge ecosystem trends
- **Competitive analysis** — benchmark image popularity across alternative publishers
- **Compliance** — verify image provenance, last-updated dates, and publisher status
- **Build pipelines** — enumerate tag manifests for reproducible base-image pinning

### FAQ

**Do I need a Docker Hub account to use this actor?**  No. Docker Hub's public REST API does not require authentication for read access to public images, users, and orgs.

**What's the difference between `pullCount` and `pullCountDisplay`?**  Docker Hub returns pull counts as a display string (`1B+`, `500M+`) for popular images. The actor parses this into a numeric `pullCount` for sorting/filtering while keeping the display value in `pullCountDisplay`.

**What are Docker Official Images?**  Images in the `library/` namespace, curated and maintained by Docker Inc. They appear as `library/postgres`, `library/nginx`, etc. and are accessible via the `https://hub.docker.com/_/postgres` short URL.

**What's a Verified Publisher?**  A company or open-source project that has been verified by Docker Inc. as the official source of an image (e.g. `bitnami`, `jenkins`, `hashicorp`). Verified images carry a `verified_publisher` badge.

**Why are some `architectures` arrays missing entries like `riscv64`?**  Only architectures actually built for that image are listed. Most images target `amd64` + `arm64`; only a few publishers (e.g. `library/*` official images) build for the full set.

**Can I get all tags for a repository?**  Yes, use `mode: "repoTags"`. The actor paginates through all tags up to `maxItems`.

**What does `source: "store"` mean?**  Indicates the image is sourced from the Docker Official Images "store" (i.e. `library/*` namespace). Other sources include `verified_publisher`, `community`, and `open_source`.

**How fresh is the data?**  Real-time — every request hits Docker Hub directly. Pull counts update continuously; tag push dates are accurate to the second.

**Why doesn't `repoTags` mode return a `recordType: "image"` record for the parent repo?**  By design — `repoTags` emits one record per tag for fine-grained processing. Combine with `byImages` if you need parent-repo metadata.

**Is there a rate limit?**  Docker Hub's public read endpoints have generous limits. The actor inserts small polite delays between requests and retries with exponential backoff on 429 / 5xx.

### Data Source

This actor uses Docker Hub's public REST API at `https://hub.docker.com`:

- `/api/search/v3/catalog/search` — full-text image search with filters
- `/v2/repositories/{namespace}/{repo}/` — repository details
- `/v2/repositories/{namespace}/{repo}/tags/` — tag manifests
- `/v2/repositories/{namespace}/` — all repos in a namespace
- `/v2/users/{username}/` and `/v2/orgs/{org}/` — user and organization profiles
- `/v2/categories` — official category taxonomy
- `/v2/search/repositories/` — legacy search endpoint (fallback)

No authentication is required for any of these endpoints when reading public data.

# Actor input Schema

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

What to fetch.

## `searchQuery` (type: `string`):

Free-text search across image names and descriptions.

## `imageNames` (type: `array`):

List of `namespace/repo` or `repo` (for official `library/*` images). Examples: `library/nginx`, `bitnami/redis`, `postgres`.

## `namespace` (type: `string`):

Docker Hub username or organization slug (e.g. `bitnami`, `jenkins`, `torvalds`). For `repoTags`, the part before `/` of the repo.

## `repository` (type: `string`):

Repository name without the namespace (e.g. `nginx`). For official images use `library` as namespace.

## `category` (type: `string`):

Docker Hub category slug. Filters search results when used outside `topByCategory` mode.

## `architectures` (type: `array`):

Only emit images that support ANY of these architectures. Leave empty to skip the filter.

## `operatingSystems` (type: `array`):

Only emit images that support ANY of these OSes.

## `isOfficial` (type: `boolean`):

Restrict to Docker Official Images (the `library/*` namespace).

## `isVerifiedPublisher` (type: `boolean`):

Restrict to images from Docker Verified Publishers.

## `minStarCount` (type: `integer`):

Drop images with fewer stars than this.

## `maxStarCount` (type: `integer`):

Drop images with more stars than this.

## `minPullCount` (type: `integer`):

Drop images with fewer pulls than this.

## `maxPullCount` (type: `integer`):

Drop images with more pulls than this.

## `sortBy` (type: `string`):

How to sort search / category results.

## `containsKeyword` (type: `string`):

Substring filter on description / short description (case-insensitive).

## `includeUserRepos` (type: `boolean`):

When fetching a user / org profile, also enumerate their public repositories.

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

Hard cap on emitted records.

## Actor input object example

```json
{
  "mode": "search",
  "searchQuery": "postgres",
  "imageNames": [],
  "architectures": [],
  "operatingSystems": [],
  "isOfficial": false,
  "isVerifiedPublisher": false,
  "sortBy": "",
  "includeUserRepos": true,
  "maxItems": 20
}
```

# Actor output Schema

## `dockerhub` (type: `string`):

Dataset containing all scraped Docker Hub records.

# 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": "search",
    "searchQuery": "postgres",
    "imageNames": [],
    "architectures": [],
    "operatingSystems": [],
    "isOfficial": false,
    "isVerifiedPublisher": false,
    "includeUserRepos": true,
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/dockerhub-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": "search",
    "searchQuery": "postgres",
    "imageNames": [],
    "architectures": [],
    "operatingSystems": [],
    "isOfficial": False,
    "isVerifiedPublisher": False,
    "includeUserRepos": True,
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/dockerhub-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": "search",
  "searchQuery": "postgres",
  "imageNames": [],
  "architectures": [],
  "operatingSystems": [],
  "isOfficial": false,
  "isVerifiedPublisher": false,
  "includeUserRepos": true,
  "maxItems": 20
}' |
apify call crawlerbros/dockerhub-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Docker Hub Scraper",
        "description": "Scrape Docker Hub, container image search, pull counts, star counts, publisher and verified-publisher data, tags, architectures, OS support, categories, and user/org profiles. Pure HTTP, no auth required",
        "version": "1.0",
        "x-build-id": "D52DOwp1a5IRJcVUY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~dockerhub-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-dockerhub-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/crawlerbros~dockerhub-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-dockerhub-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/crawlerbros~dockerhub-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-dockerhub-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": "Mode",
                        "enum": [
                            "search",
                            "byImages",
                            "userProfile",
                            "repoTags",
                            "topByCategory",
                            "namespaceRepos"
                        ],
                        "type": "string",
                        "description": "What to fetch.",
                        "default": "search"
                    },
                    "searchQuery": {
                        "title": "Search query (mode=search)",
                        "type": "string",
                        "description": "Free-text search across image names and descriptions.",
                        "default": "postgres"
                    },
                    "imageNames": {
                        "title": "Image full names (mode=byImages)",
                        "type": "array",
                        "description": "List of `namespace/repo` or `repo` (for official `library/*` images). Examples: `library/nginx`, `bitnami/redis`, `postgres`.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "namespace": {
                        "title": "Namespace / user / org (mode=userProfile, repoTags, namespaceRepos)",
                        "type": "string",
                        "description": "Docker Hub username or organization slug (e.g. `bitnami`, `jenkins`, `torvalds`). For `repoTags`, the part before `/` of the repo."
                    },
                    "repository": {
                        "title": "Repository name (mode=repoTags)",
                        "type": "string",
                        "description": "Repository name without the namespace (e.g. `nginx`). For official images use `library` as namespace."
                    },
                    "category": {
                        "title": "Category (mode=topByCategory; also filters search)",
                        "enum": [
                            "",
                            "api-management",
                            "content-management-system",
                            "data-science",
                            "databases-and-storage",
                            "developer-tools",
                            "integration-and-delivery",
                            "internet-of-things",
                            "languages-and-frameworks",
                            "machine-learning-and-ai",
                            "message-queues",
                            "monitoring-and-observability",
                            "networking",
                            "operating-systems",
                            "security",
                            "web-analytics",
                            "web-servers"
                        ],
                        "type": "string",
                        "description": "Docker Hub category slug. Filters search results when used outside `topByCategory` mode."
                    },
                    "architectures": {
                        "title": "Architecture filter",
                        "type": "array",
                        "description": "Only emit images that support ANY of these architectures. Leave empty to skip the filter.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "amd64",
                                "arm64",
                                "arm",
                                "386",
                                "ppc64le",
                                "s390x",
                                "riscv64",
                                "mips64le"
                            ],
                            "enumTitles": [
                                "x86-64 (amd64)",
                                "ARM 64 (arm64)",
                                "ARM (arm)",
                                "386",
                                "ppc64le",
                                "IBM Z (s390x)",
                                "riscv64",
                                "mips64le"
                            ]
                        },
                        "default": []
                    },
                    "operatingSystems": {
                        "title": "Operating system filter",
                        "type": "array",
                        "description": "Only emit images that support ANY of these OSes.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "linux",
                                "windows"
                            ],
                            "enumTitles": [
                                "Linux",
                                "Windows"
                            ]
                        },
                        "default": []
                    },
                    "isOfficial": {
                        "title": "Official images only",
                        "type": "boolean",
                        "description": "Restrict to Docker Official Images (the `library/*` namespace).",
                        "default": false
                    },
                    "isVerifiedPublisher": {
                        "title": "Verified Publisher only",
                        "type": "boolean",
                        "description": "Restrict to images from Docker Verified Publishers.",
                        "default": false
                    },
                    "minStarCount": {
                        "title": "Min star count",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Drop images with fewer stars than this."
                    },
                    "maxStarCount": {
                        "title": "Max star count",
                        "minimum": 0,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Drop images with more stars than this."
                    },
                    "minPullCount": {
                        "title": "Min pull count",
                        "minimum": 0,
                        "maximum": 100000000000,
                        "type": "integer",
                        "description": "Drop images with fewer pulls than this."
                    },
                    "maxPullCount": {
                        "title": "Max pull count",
                        "minimum": 0,
                        "maximum": 100000000000,
                        "type": "integer",
                        "description": "Drop images with more pulls than this."
                    },
                    "sortBy": {
                        "title": "Sort by (mode=search, topByCategory)",
                        "enum": [
                            "",
                            "pull_count",
                            "star_count",
                            "updated_at",
                            "name"
                        ],
                        "type": "string",
                        "description": "How to sort search / category results.",
                        "default": ""
                    },
                    "containsKeyword": {
                        "title": "Description must contain keyword",
                        "type": "string",
                        "description": "Substring filter on description / short description (case-insensitive)."
                    },
                    "includeUserRepos": {
                        "title": "Include user/org repos (mode=userProfile)",
                        "type": "boolean",
                        "description": "When fetching a user / org profile, also enumerate their public repositories.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Hard cap on emitted records.",
                        "default": 50
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
