# Shopify Agentic Commerce Readiness Auditor (`automation-lab/shopify-agentic-commerce-readiness-auditor`) Actor

Audit Shopify catalog, product schema, pricing, inventory, shipping, and returns signals for AI shopping agent readiness scorecards.

- **URL**: https://apify.com/automation-lab/shopify-agentic-commerce-readiness-auditor.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Shopify Agentic Commerce Readiness Auditor

Audit Shopify storefronts and products for AI shopping agent readiness.

### What does Shopify Agentic Commerce Readiness Auditor do?

Shopify Agentic Commerce Readiness Auditor checks whether public Shopify catalog data is easy for AI shopping agents to understand. It reviews storefront and product signals that matter when a customer asks an AI assistant to find, compare, recommend, or buy products.

The actor produces a scorecard instead of a raw product dump. Each run returns store-level readiness plus per-product checks for identifiers, structured data, pricing, inventory, variants, content, images, shipping, and return-policy discoverability.

### Who is it for?

#### 🛍️ Shopify merchants and ecommerce operators

Use the audit before investing in agentic-commerce integrations, AI shopping feeds, or checkout automation. A typical workflow is: run a small store audit, sort products by the lowest readiness scores, fix missing SKUs/GTINs/prices/inventory signals in Shopify, then rerun the same input to prove the catalog is easier for shopping agents to parse.

#### 🧑‍💼 Ecommerce agencies and Shopify consultants

Use the scorecard during client onboarding, migration QA, or monthly retainers. Agencies can benchmark several client storefronts with the same settings, export recommendations to a project tracker, and turn repeated issues such as missing Offer JSON-LD or unparseable return policies into a remediation backlog.

#### 📈 Growth, feed, and marketplace teams

Use it to find catalog-quality gaps before syndicating products into AI discovery, Google Shopping, Microsoft/Copilot surfaces, affiliate feeds, or product comparison experiences. The workflow is to audit high-value collections first, prioritize products with missing stable identifiers, and validate that public storefront data matches feed expectations.

#### 🔎 SEO and structured-data teams

Use it as a lightweight product schema QA pass. The actor highlights Product/Offer JSON-LD, Open Graph product tags, price currency, availability, variant clarity, and policy discoverability so SEO teams can verify that machine-readable ecommerce signals are present in the initial HTML.

#### 🤖 AI commerce and innovation teams

Use it to assess whether a Shopify storefront is ready for AI agents to recommend or compare products without private credentials. The workflow is to audit representative products, identify where agents may hallucinate or skip items, and share the resulting recommendations with catalog, merchandising, and fraud/checkout owners.

### Why use it?

AI shopping agents need precise, stable, machine-readable product information. A product page that looks fine to humans can still be weak for automated agents if SKUs, GTINs, availability, price currency, variants, or policies are missing.

This actor gives you a practical checklist and a numeric score so you can prioritize fixes.

### What signals are audited?

- Stable identifiers: SKU and barcode/GTIN fields.
- Structured data: Product JSON-LD, Offer JSON-LD, and Open Graph product tags.
- Price and inventory: variant price and public availability.
- Variant clarity: option names and variant count.
- Product content: descriptions and images.
- Store policies: shipping, returns/refunds, privacy, and terms discoverability.
- Catalog access: whether `/products.json` is available or blocked.

### Data table

| Field | Description |
| --- | --- |
| `rowType` | `store_summary` or `product_audit` |
| `storeUrl` | Shopify storefront URL |
| `productUrl` | Product page URL for product rows |
| `readinessScore` | 0-100 readiness score |
| `readinessGrade` | A-F grade |
| `stableIdentifiersScore` | SKU and GTIN/barcode score |
| `structuredDataScore` | JSON-LD and OG product metadata score |
| `priceInventoryScore` | Price and availability score |
| `variantOptionsScore` | Variant and option clarity score |
| `contentMediaScore` | Description and image score |
| `issues` | Product-specific issues |
| `recommendations` | Fix recommendations |

### How much does it cost to audit Shopify agentic commerce readiness?

The actor uses pay-per-event pricing that matches the active Apify platform billing: a $0.005 run-start fee plus $0.0000285 per audited product. That is about $0.0285 per 1,000 audited products before the fixed start fee.

| Run size | Active platform billing formula | Estimated actor charge |
| --- | --- | ---: |
| First quick check: 5 products | $0.005 + (5 × $0.0000285) | about $0.00514 |
| Small QA pass: 25 products | $0.005 + (25 × $0.0000285) | about $0.00571 |
| Store sample: 100 products | $0.005 + (100 × $0.0000285) | about $0.00785 |
| Larger catalog audit: 1,000 products | $0.005 + (1,000 × $0.0000285) | about $0.0335 |

Free-plan estimate: the default prefill audits 5 products, so the actor charge is roughly half a cent plus normal Apify platform usage costs. Start with `maxProducts: 5` and `auditDepth: basic` when testing a new store, then increase the product limit after confirming the storefront returns useful catalog data.

### How to use

1. Open the actor on Apify.
2. Add one or more Shopify storefront URLs.
3. Keep `maxProducts` low for a first test.
4. Choose `standard` audit depth for product-page structured data checks.
5. Run the actor.
6. Review the store summary row and product audit rows.
7. Fix the highest-frequency issues first.

### Input

```json
{
  "startUrls": [
    { "url": "https://allbirds.com" }
  ],
  "maxProducts": 25,
  "auditDepth": "standard",
  "includeProductPages": true
}
````

### Input fields

- `startUrls` — Shopify storefront homepages to audit.
- `productUrls` — optional specific product pages.
- `maxProducts` — maximum products per store.
- `auditDepth` — `basic`, `standard`, or `deep`.
- `includeProductPages` — fetch product pages for JSON-LD and Open Graph checks.
- `requestTimeoutSecs` — HTTP timeout per request.

### Output

The dataset contains two row types.

`store_summary` rows show overall store readiness, products audited, policy signals, common issues, and top recommendations.

`product_audit` rows show per-product readiness scores, per-category subscores, extracted signals, issues, and recommendations.

### Example output

```json
{
  "rowType": "product_audit",
  "storeUrl": "https://allbirds.com",
  "productUrl": "https://allbirds.com/products/example",
  "readinessScore": 76,
  "readinessGrade": "B",
  "skuPresent": true,
  "barcodeOrGtinPresent": false,
  "pricePresent": true,
  "availabilityPresent": true,
  "issues": ["No barcode/GTIN values found"],
  "recommendations": ["Populate Shopify barcode fields with GTIN/UPC/EAN identifiers where available."]
}
```

### Tips for better scores

- Add SKUs to every sellable variant.
- Add GTIN, UPC, or EAN values in Shopify barcode fields where available.
- Keep product prices and availability public and current.
- Add schema.org Product and Offer JSON-LD.
- Include `priceCurrency` and `availability` in Offer data.
- Use precise option names such as size, color, width, material, and pack size.
- Write attribute-rich product descriptions.
- Publish clear shipping and return policies.

### Integrations

Use this actor in agency intake workflows, merchant QA dashboards, catalog cleanup pipelines, product feed enrichment projects, and recurring ecommerce health checks.

Common patterns:

- Run weekly for important Shopify stores.
- Export low-scoring products to Google Sheets.
- Send recommendations to a product content team.
- Compare readiness before and after schema/feed cleanup.

### API usage with Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/shopify-agentic-commerce-readiness-auditor').call({
  startUrls: [{ url: 'https://allbirds.com' }],
  maxProducts: 25,
  auditDepth: 'standard'
});
console.log(run.defaultDatasetId);
```

### API usage with Python

```python
from apify_client import ApifyClient

client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/shopify-agentic-commerce-readiness-auditor').call(run_input={
    'startUrls': [{'url': 'https://allbirds.com'}],
    'maxProducts': 25,
    'auditDepth': 'standard',
})
print(run['defaultDatasetId'])
```

### API usage with cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~shopify-agentic-commerce-readiness-auditor/runs?token=MY-APIFY-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"startUrls":[{"url":"https://allbirds.com"}],"maxProducts":25,"auditDepth":"standard"}'
```

### MCP usage

Connect the actor to Claude or another MCP client through Apify MCP Server:

```text
https://mcp.apify.com/?tools=automation-lab/shopify-agentic-commerce-readiness-auditor
```

Claude Code setup:

```bash
claude mcp add apify-shopify-agentic-auditor https://mcp.apify.com/?tools=automation-lab/shopify-agentic-commerce-readiness-auditor
```

JSON MCP server configuration:

```json
{
  "mcpServers": {
    "apify-shopify-agentic-auditor": {
      "url": "https://mcp.apify.com/?tools=automation-lab/shopify-agentic-commerce-readiness-auditor"
    }
  }
}
```

Example prompts:

- "Audit this Shopify store for AI shopping readiness."
- "Find products missing GTINs or structured Offer data."
- "Summarize the top fixes needed before agentic commerce launch."

### Limitations

This actor only audits public signals. It does not log in to Shopify Admin, Google Merchant Center, payment gateways, fraud tools, or private product feeds.

It cannot prove whether an agent buyer will be approved or declined at checkout. It can only flag public bot/payment/policy discoverability signals.

### Troubleshooting

If a store returns zero products, it may block `/products.json`. Add specific product URLs in the `productUrls` field.

If structured data scores are low, verify that product pages contain schema.org Product and Offer JSON-LD in the initial HTML.

### Legality

The actor reads publicly available storefront pages and public Shopify product endpoints. Use it responsibly, respect website terms, and avoid collecting personal data.

### Related scrapers

- https://apify.com/automation-lab/shopify-scraper
- https://apify.com/automation-lab/google-shopping-scraper
- https://apify.com/automation-lab/e-commerce-scraping-tool

### FAQ

#### Does this modify my Shopify store?

No. It is read-only and only performs public HTTP requests.

#### Does it require Shopify credentials?

No. It is designed for public storefront audits.

#### Can it audit non-Shopify stores?

The scoring model is optimized for Shopify. Non-Shopify stores may return limited results.

#### Why are GTINs important?

GTINs, UPCs, and EANs help AI agents and shopping platforms match products reliably across feeds, stores, and comparison surfaces.

#### Why are policy pages included?

Agents need clear shipping and return details before recommending or purchasing products. Hidden or unparseable policies reduce buyer confidence.

### Development notes

The actor uses HTTP requests only and runs at 256 MB memory. It tries `/products.json`, optional `/products/{handle}.js`, product pages, and common Shopify policy URLs.

### Changelog

- 0.1 — Initial readiness scorecard build.

### Support

If a Shopify store is blocked or returns incomplete catalog data, rerun with product URLs and a small product limit. Share the run URL when requesting support.

### Privacy

The actor does not require cookies, credentials, or customer data. Output is limited to public store and product-readiness signals.

### Operational checklist

- Use low `maxProducts` for quick checks.
- Use standard depth for most audits.
- Use product URLs when catalog access is limited.
- Review both store summary and product rows.
- Prioritize recurring issues across many products.

### Score interpretation

- A: Strong public readiness.
- B: Good readiness with minor gaps.
- C: Useful catalog data but important gaps remain.
- D: AI shopping agents may struggle.
- F: Public product data is sparse or blocked.

### Recommended remediation order

1. Add SKU and GTIN/barcode data.
2. Fix price and availability exposure.
3. Add Product and Offer JSON-LD.
4. Improve variants and option naming.
5. Expand descriptions and images.
6. Publish shipping and return policies.

### Final note

Agentic commerce readiness is not a one-time technical switch. It is an ongoing catalog quality practice. This actor gives merchants and agencies a repeatable way to measure progress.

# Actor input Schema

## `startUrls` (type: `array`):

Public Shopify store homepages to audit. The actor tries /products.json first and falls back to product URLs when provided.

## `productUrls` (type: `array`):

Optional Shopify product URLs to audit directly, useful when a store blocks /products.json or you only need selected products.

## `maxProducts` (type: `integer`):

Maximum number of products to audit for each storefront.

## `auditDepth` (type: `string`):

Basic checks products.json only. Standard also fetches product pages for structured data. Deep currently uses the same public checks with more policy probes.

## `includeProductPages` (type: `boolean`):

Fetch product pages to check JSON-LD, Open Graph product tags, price currency, and offer metadata.

## `requestTimeoutSecs` (type: `integer`):

HTTP timeout per storefront, products.json, policy, or product page request.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://allbirds.com"
    },
    {
      "url": "https://www.colourpop.com"
    }
  ],
  "productUrls": [],
  "maxProducts": 10,
  "auditDepth": "standard",
  "includeProductPages": true,
  "requestTimeoutSecs": 20
}
```

# Actor output Schema

## `readinessAudit` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://allbirds.com"
        },
        {
            "url": "https://www.colourpop.com"
        }
    ],
    "productUrls": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/shopify-agentic-commerce-readiness-auditor").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 = {
    "startUrls": [
        { "url": "https://allbirds.com" },
        { "url": "https://www.colourpop.com" },
    ],
    "productUrls": [],
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/shopify-agentic-commerce-readiness-auditor").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 '{
  "startUrls": [
    {
      "url": "https://allbirds.com"
    },
    {
      "url": "https://www.colourpop.com"
    }
  ],
  "productUrls": []
}' |
apify call automation-lab/shopify-agentic-commerce-readiness-auditor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=automation-lab/shopify-agentic-commerce-readiness-auditor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Shopify Agentic Commerce Readiness Auditor",
        "description": "Audit Shopify catalog, product schema, pricing, inventory, shipping, and returns signals for AI shopping agent readiness scorecards.",
        "version": "0.1",
        "x-build-id": "q9m9OC6iGTzmLg0R3"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~shopify-agentic-commerce-readiness-auditor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-shopify-agentic-commerce-readiness-auditor",
                "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/automation-lab~shopify-agentic-commerce-readiness-auditor/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-shopify-agentic-commerce-readiness-auditor",
                "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/automation-lab~shopify-agentic-commerce-readiness-auditor/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-shopify-agentic-commerce-readiness-auditor",
                "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",
                "properties": {
                    "startUrls": {
                        "title": "Shopify storefront URLs",
                        "type": "array",
                        "description": "Public Shopify store homepages to audit. The actor tries /products.json first and falls back to product URLs when provided.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "productUrls": {
                        "title": "Specific product URLs",
                        "type": "array",
                        "description": "Optional Shopify product URLs to audit directly, useful when a store blocks /products.json or you only need selected products.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxProducts": {
                        "title": "Maximum products per store",
                        "minimum": 1,
                        "maximum": 250,
                        "type": "integer",
                        "description": "Maximum number of products to audit for each storefront.",
                        "default": 10
                    },
                    "auditDepth": {
                        "title": "Audit depth",
                        "enum": [
                            "basic",
                            "standard",
                            "deep"
                        ],
                        "type": "string",
                        "description": "Basic checks products.json only. Standard also fetches product pages for structured data. Deep currently uses the same public checks with more policy probes.",
                        "default": "standard"
                    },
                    "includeProductPages": {
                        "title": "Fetch product pages",
                        "type": "boolean",
                        "description": "Fetch product pages to check JSON-LD, Open Graph product tags, price currency, and offer metadata.",
                        "default": true
                    },
                    "requestTimeoutSecs": {
                        "title": "Request timeout in seconds",
                        "minimum": 5,
                        "maximum": 60,
                        "type": "integer",
                        "description": "HTTP timeout per storefront, products.json, policy, or product page request.",
                        "default": 20
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
