# Meta Ad Creative Opportunity Scorer (`rotvuvo/meta-ad-creative-opportunity-scorer`) Actor

Score imported Meta/Facebook/Instagram ad-library rows into creative opportunity, hook type, offer type, longevity proxy, risk flags, and brief-ready next actions. Use it after an Apify ad-library scraper, CSV export, spreadsheet, or manual research.

- **URL**: https://apify.com/rotvuvo/meta-ad-creative-opportunity-scorer.md
- **Developed by:** [Wit Nomad](https://apify.com/rotvuvo) (community)
- **Categories:** Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 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

## Meta Ad Creative Opportunity Scorer

Meta Ad Creative Opportunity Scorer is an ingest-first Apify Actor that turns imported Meta/Facebook/Instagram ad-library rows into deterministic creative opportunity scores, hook and angle classifications, risk flags, and brief-ready next actions.

It is designed as a post-processing step for rows exported from existing Apify Meta/Facebook Ads Library scrapers, CSVs, spreadsheets, or manual research. It does not scrape Meta, does not use Ads Manager, and does not publish ads.

### What it does

For each imported ad row, the Actor normalizes common field aliases and emits a scored creative opportunity record with:

- source ad ID, advertiser, platforms, source URL, and landing page URL
- text preview, headline, and CTA
- creative format: video, image, carousel, text, or unknown
- hook type: problem-first, social proof, curiosity gap, direct offer, authority, demo, comparison, or unknown
- creative angle and likely funnel stage
- offer type, longevity proxy, and variant-cluster size
- 0-100 signal score and opportunity band
- opportunity flags, risk flags, evidence snippets, recommended action, and creative brief note

### Who it is for

- DTC and ecommerce operators comparing competitor creative patterns
- performance marketers and paid social agencies building creative test queues
- founders who already collect ad-library exports and want a structured weekly review
- analysts turning raw Meta Ads Library rows into a repeatable swipe-file and brief workflow

### Input

The MVP supports `items` mode only.

Required:

- `items`: array of imported Meta/Facebook/Instagram ad-library-like rows

Optional:

- `targetProfile`: brand, product category, target customers, competitors, current angles, priority markets, compliance keywords, and disallowed claims
- `maxItems`: defaults to 500
- `minimumLongevityDays`: defaults to 14
- `processedAt`: deterministic reference timestamp for active-ad longevity and output metadata

Common aliases include:

- ad ID: `adId`, `libraryId`, `adArchiveId`, `id`, `creativeId`
- advertiser: `pageName`, `advertiserName`, `brand`, `publisherName`, `page`, `profileName`
- text: `body`, `primaryText`, `adText`, `text`, `caption`, `description`, `copy`
- headline: `headline`, `title`, `linkTitle`, `cardTitle`
- CTA: `cta`, `callToAction`, `ctaText`, `buttonText`
- URLs: `linkUrl`, `landingPageUrl`, `destinationUrl`, `url`, `targetUrl`, `sourceUrl`, `adUrl`, `libraryUrl`, `snapshotUrl`
- format/platforms: `mediaType`, `displayFormat`, `format`, `publisherPlatform`, `platforms`, `placement`
- dates/status: `startDate`, `startedAt`, `firstSeenAt`, `endDate`, `endedAt`, `isActive`, `activeStatus`, `scrapedAt`

### Output

Each dataset item is one normalized creative opportunity. Important fields include:

- `signalScore`
- `opportunityBand`
- `hookType`
- `creativeAngle`
- `funnelStage`
- `offerType`
- `longevityDays`
- `longevityBand`
- `variantClusterSize`
- `gapFlags`
- `riskFlags`
- `evidenceSnippets`
- `recommendedAction`
- `creativeBriefNote`

### Limitations

- This Actor does not scrape Meta, Facebook, Instagram, or any ad library.
- This Actor does not use Ads Manager, Marketing API, OAuth, cookies, proxies, or credentials.
- This Actor does not publish ads, edit campaigns, set budgets, or automate media buying.
- This Actor does not know true CTR, CPA, ROAS, budget, targeting, revenue, or conversion performance.
- Longevity and variant clusters are proxy signals only.
- The output does not guarantee winning ads, lower CAC, revenue lift, legal compliance, or creative performance.
- Risk flags are not legal advice. Review regulated claims with a qualified reviewer before use.
- Creative brief notes describe patterns for original testing; do not copy competitor ads verbatim.

### Example use cases

- Score a weekly export from a Facebook Ads Library scraper.
- Identify long-running problem-first hooks from direct competitors.
- Flag fresh generic discount ads as weaker evidence.
- Find variant clusters that may deserve monitoring.
- Generate a human-safe creative test backlog without copying competitor language.

# Actor input Schema

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

Input mode. This version supports imported Meta/Facebook/Instagram ad-library rows only.
## `items` (type: `array`):

Rows from existing Apify Meta/Facebook Ads Library scrapers, CSV exports, spreadsheets, or manual research. Common aliases include adId/libraryId/adArchiveId/id/creativeId, pageName/advertiserName/brand/publisherName/page/profileName, body/primaryText/adText/text/caption/description/copy, headline/title/linkTitle/cardTitle, cta/callToAction/ctaText/buttonText, linkUrl/landingPageUrl/destinationUrl/url/targetUrl, sourceUrl/adUrl/libraryUrl/snapshotUrl, mediaType/displayFormat/format, publisherPlatform/platforms, startDate/startedAt/firstSeenAt, endDate/endedAt, isActive/activeStatus, impressions/spend/reach, and scrapedAt.
## `targetProfile` (type: `object`):

Optional market and creative context used for deterministic fit and risk checks. Keyword/customer matching uses ad text, headline, and CTA only; landing URLs are not used for profile-fit evidence.
## `maxItems` (type: `integer`):

Maximum imported rows to process.
## `minimumLongevityDays` (type: `integer`):

Minimum observed active/running days before an ad stops being treated as a fresh unvalidated test.
## `processedAt` (type: `string`):

Optional ISO timestamp for deterministic output metadata and active-ad longevity. This Actor does not scrape; when omitted or invalid, the runtime uses this fixed default reference timestamp.

## Actor input object example

```json
{
  "mode": "items",
  "items": [
    {
      "adId": "ad-long-1",
      "pageName": "FlexKit",
      "primaryText": "Tired of bulky gym gear in a small apartment? Our fold-flat home fitness kit helps busy parents get a quick full-body session before breakfast.",
      "headline": "Train at home without losing your living room",
      "callToAction": "Shop Now",
      "landingPageUrl": "https://flexkit.example/products/fold-flat-kit",
      "libraryUrl": "https://www.facebook.com/ads/library/?id=ad-long-1",
      "mediaType": "video",
      "publisherPlatform": [
        "facebook",
        "instagram"
      ],
      "startDate": "2026-05-01",
      "endDate": "2026-07-09",
      "countries": [
        "US",
        "CA"
      ]
    },
    {
      "libraryId": "ad-fresh-1",
      "advertiserName": "Generic Gear",
      "adText": "Big sale today. Save 10% on our best products.",
      "title": "Limited time offer",
      "ctaText": "Shop Now",
      "linkUrl": "https://genericgear.example/",
      "format": "image",
      "startedAt": "2026-07-07",
      "scrapedAt": "2026-07-09T00:00:00.000Z"
    },
    {
      "id": "ad-risk-1",
      "brand": "MetaHealth Finance",
      "text": "Clinically proven to cure chronic pain and guarantee weight loss while improving your credit score in 30 days.",
      "headline": "Guaranteed results",
      "cta": "Apply Now",
      "url": "https://metahealth.example/apply",
      "mediaType": "image",
      "startDate": "2026-05-20",
      "endDate": "2026-07-09"
    }
  ],
  "targetProfile": {
    "brandName": "BrightNest",
    "productCategory": "home fitness",
    "targetCustomers": [
      "busy parents",
      "apartment renters"
    ],
    "competitors": [
      "FlexKit",
      "HomeTone"
    ],
    "currentAngles": [
      "discount_offer"
    ],
    "priorityMarkets": [
      "US",
      "CA"
    ],
    "complianceKeywords": [
      "guarantee",
      "clinically proven"
    ],
    "disallowedClaims": [
      "cure",
      "guaranteed weight loss"
    ]
  },
  "maxItems": 500,
  "minimumLongevityDays": 14,
  "processedAt": "2026-07-09T00:00:00.000Z"
}
````

# 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": "items",
    "items": [
        {
            "adId": "ad-long-1",
            "pageName": "FlexKit",
            "primaryText": "Tired of bulky gym gear in a small apartment? Our fold-flat home fitness kit helps busy parents get a quick full-body session before breakfast.",
            "headline": "Train at home without losing your living room",
            "callToAction": "Shop Now",
            "landingPageUrl": "https://flexkit.example/products/fold-flat-kit",
            "libraryUrl": "https://www.facebook.com/ads/library/?id=ad-long-1",
            "mediaType": "video",
            "publisherPlatform": [
                "facebook",
                "instagram"
            ],
            "startDate": "2026-05-01",
            "endDate": "2026-07-09",
            "countries": [
                "US",
                "CA"
            ]
        },
        {
            "libraryId": "ad-fresh-1",
            "advertiserName": "Generic Gear",
            "adText": "Big sale today. Save 10% on our best products.",
            "title": "Limited time offer",
            "ctaText": "Shop Now",
            "linkUrl": "https://genericgear.example/",
            "format": "image",
            "startedAt": "2026-07-07",
            "scrapedAt": "2026-07-09T00:00:00.000Z"
        },
        {
            "id": "ad-risk-1",
            "brand": "MetaHealth Finance",
            "text": "Clinically proven to cure chronic pain and guarantee weight loss while improving your credit score in 30 days.",
            "headline": "Guaranteed results",
            "cta": "Apply Now",
            "url": "https://metahealth.example/apply",
            "mediaType": "image",
            "startDate": "2026-05-20",
            "endDate": "2026-07-09"
        }
    ],
    "targetProfile": {
        "brandName": "BrightNest",
        "productCategory": "home fitness",
        "targetCustomers": [
            "busy parents",
            "apartment renters"
        ],
        "competitors": [
            "FlexKit",
            "HomeTone"
        ],
        "currentAngles": [
            "discount_offer"
        ],
        "priorityMarkets": [
            "US",
            "CA"
        ],
        "complianceKeywords": [
            "guarantee",
            "clinically proven"
        ],
        "disallowedClaims": [
            "cure",
            "guaranteed weight loss"
        ]
    },
    "processedAt": "2026-07-09T00:00:00.000Z"
};

// Run the Actor and wait for it to finish
const run = await client.actor("rotvuvo/meta-ad-creative-opportunity-scorer").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": "items",
    "items": [
        {
            "adId": "ad-long-1",
            "pageName": "FlexKit",
            "primaryText": "Tired of bulky gym gear in a small apartment? Our fold-flat home fitness kit helps busy parents get a quick full-body session before breakfast.",
            "headline": "Train at home without losing your living room",
            "callToAction": "Shop Now",
            "landingPageUrl": "https://flexkit.example/products/fold-flat-kit",
            "libraryUrl": "https://www.facebook.com/ads/library/?id=ad-long-1",
            "mediaType": "video",
            "publisherPlatform": [
                "facebook",
                "instagram",
            ],
            "startDate": "2026-05-01",
            "endDate": "2026-07-09",
            "countries": [
                "US",
                "CA",
            ],
        },
        {
            "libraryId": "ad-fresh-1",
            "advertiserName": "Generic Gear",
            "adText": "Big sale today. Save 10% on our best products.",
            "title": "Limited time offer",
            "ctaText": "Shop Now",
            "linkUrl": "https://genericgear.example/",
            "format": "image",
            "startedAt": "2026-07-07",
            "scrapedAt": "2026-07-09T00:00:00.000Z",
        },
        {
            "id": "ad-risk-1",
            "brand": "MetaHealth Finance",
            "text": "Clinically proven to cure chronic pain and guarantee weight loss while improving your credit score in 30 days.",
            "headline": "Guaranteed results",
            "cta": "Apply Now",
            "url": "https://metahealth.example/apply",
            "mediaType": "image",
            "startDate": "2026-05-20",
            "endDate": "2026-07-09",
        },
    ],
    "targetProfile": {
        "brandName": "BrightNest",
        "productCategory": "home fitness",
        "targetCustomers": [
            "busy parents",
            "apartment renters",
        ],
        "competitors": [
            "FlexKit",
            "HomeTone",
        ],
        "currentAngles": ["discount_offer"],
        "priorityMarkets": [
            "US",
            "CA",
        ],
        "complianceKeywords": [
            "guarantee",
            "clinically proven",
        ],
        "disallowedClaims": [
            "cure",
            "guaranteed weight loss",
        ],
    },
    "processedAt": "2026-07-09T00:00:00.000Z",
}

# Run the Actor and wait for it to finish
run = client.actor("rotvuvo/meta-ad-creative-opportunity-scorer").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": "items",
  "items": [
    {
      "adId": "ad-long-1",
      "pageName": "FlexKit",
      "primaryText": "Tired of bulky gym gear in a small apartment? Our fold-flat home fitness kit helps busy parents get a quick full-body session before breakfast.",
      "headline": "Train at home without losing your living room",
      "callToAction": "Shop Now",
      "landingPageUrl": "https://flexkit.example/products/fold-flat-kit",
      "libraryUrl": "https://www.facebook.com/ads/library/?id=ad-long-1",
      "mediaType": "video",
      "publisherPlatform": [
        "facebook",
        "instagram"
      ],
      "startDate": "2026-05-01",
      "endDate": "2026-07-09",
      "countries": [
        "US",
        "CA"
      ]
    },
    {
      "libraryId": "ad-fresh-1",
      "advertiserName": "Generic Gear",
      "adText": "Big sale today. Save 10% on our best products.",
      "title": "Limited time offer",
      "ctaText": "Shop Now",
      "linkUrl": "https://genericgear.example/",
      "format": "image",
      "startedAt": "2026-07-07",
      "scrapedAt": "2026-07-09T00:00:00.000Z"
    },
    {
      "id": "ad-risk-1",
      "brand": "MetaHealth Finance",
      "text": "Clinically proven to cure chronic pain and guarantee weight loss while improving your credit score in 30 days.",
      "headline": "Guaranteed results",
      "cta": "Apply Now",
      "url": "https://metahealth.example/apply",
      "mediaType": "image",
      "startDate": "2026-05-20",
      "endDate": "2026-07-09"
    }
  ],
  "targetProfile": {
    "brandName": "BrightNest",
    "productCategory": "home fitness",
    "targetCustomers": [
      "busy parents",
      "apartment renters"
    ],
    "competitors": [
      "FlexKit",
      "HomeTone"
    ],
    "currentAngles": [
      "discount_offer"
    ],
    "priorityMarkets": [
      "US",
      "CA"
    ],
    "complianceKeywords": [
      "guarantee",
      "clinically proven"
    ],
    "disallowedClaims": [
      "cure",
      "guaranteed weight loss"
    ]
  },
  "processedAt": "2026-07-09T00:00:00.000Z"
}' |
apify call rotvuvo/meta-ad-creative-opportunity-scorer --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=rotvuvo/meta-ad-creative-opportunity-scorer",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Meta Ad Creative Opportunity Scorer",
        "description": "Score imported Meta/Facebook/Instagram ad-library rows into creative opportunity, hook type, offer type, longevity proxy, risk flags, and brief-ready next actions. Use it after an Apify ad-library scraper, CSV export, spreadsheet, or manual research.",
        "version": "0.1",
        "x-build-id": "uT1Nl6vlNSEVIOXUy"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/rotvuvo~meta-ad-creative-opportunity-scorer/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-rotvuvo-meta-ad-creative-opportunity-scorer",
                "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/rotvuvo~meta-ad-creative-opportunity-scorer/runs": {
            "post": {
                "operationId": "runs-sync-rotvuvo-meta-ad-creative-opportunity-scorer",
                "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/rotvuvo~meta-ad-creative-opportunity-scorer/run-sync": {
            "post": {
                "operationId": "run-sync-rotvuvo-meta-ad-creative-opportunity-scorer",
                "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": [
                    "items"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "items"
                        ],
                        "type": "string",
                        "description": "Input mode. This version supports imported Meta/Facebook/Instagram ad-library rows only.",
                        "default": "items"
                    },
                    "items": {
                        "title": "Imported ad-library rows",
                        "minItems": 1,
                        "type": "array",
                        "description": "Rows from existing Apify Meta/Facebook Ads Library scrapers, CSV exports, spreadsheets, or manual research. Common aliases include adId/libraryId/adArchiveId/id/creativeId, pageName/advertiserName/brand/publisherName/page/profileName, body/primaryText/adText/text/caption/description/copy, headline/title/linkTitle/cardTitle, cta/callToAction/ctaText/buttonText, linkUrl/landingPageUrl/destinationUrl/url/targetUrl, sourceUrl/adUrl/libraryUrl/snapshotUrl, mediaType/displayFormat/format, publisherPlatform/platforms, startDate/startedAt/firstSeenAt, endDate/endedAt, isActive/activeStatus, impressions/spend/reach, and scrapedAt.",
                        "items": {
                            "type": "object"
                        }
                    },
                    "targetProfile": {
                        "title": "Target profile",
                        "type": "object",
                        "description": "Optional market and creative context used for deterministic fit and risk checks. Keyword/customer matching uses ad text, headline, and CTA only; landing URLs are not used for profile-fit evidence."
                    },
                    "maxItems": {
                        "title": "Maximum rows",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum imported rows to process.",
                        "default": 500
                    },
                    "minimumLongevityDays": {
                        "title": "Minimum longevity days",
                        "minimum": 1,
                        "maximum": 365,
                        "type": "integer",
                        "description": "Minimum observed active/running days before an ad stops being treated as a fresh unvalidated test.",
                        "default": 14
                    },
                    "processedAt": {
                        "title": "Reference timestamp",
                        "type": "string",
                        "description": "Optional ISO timestamp for deterministic output metadata and active-ad longevity. This Actor does not scrape; when omitted or invalid, the runtime uses this fixed default reference timestamp.",
                        "default": "2026-07-09T00:00:00.000Z"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
