# 🩺 Website Health Check — All-in-One Audit (`upstanding_biobot/website-health-check`) Actor

Comprehensive website health audit: accessibility (axe-core), security headers, SSL/TLS, broken links, sitemap, robots.txt, structured data, meta tags, performance signals. One scan, full picture.

- **URL**: https://apify.com/upstanding\_biobot/website-health-check.md
- **Developed by:** [Alexander Maksimchuk](https://apify.com/upstanding_biobot) (community)
- **Categories:** SEO tools, Developer tools, Business
- **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

## 🩺 Website Health Check — All-in-One Audit

Comprehensive website health audit in one scan: accessibility (axe-core), security headers, SSL/TLS, broken links, sitemap, robots.txt, structured data, meta tags, and performance metrics. Get an overall health score 0–100 with per-check breakdowns and prioritized issues.

### 📋 Table of Contents

- [What is this?](#-what-is-this)
- [How to use](#-how-to-use)
- [Input](#-input)
- [Output](#-output)
- [JSON output example](#-json-output-example)
- [How much does it cost?](#-how-much-does-it-cost)
- [Use cases](#-use-cases)
- [Integrations](#-integrations)
- [Is it legal?](#-is-it-legal)
- [Troubleshooting](#-troubleshooting)
- [FAQ](#-faq)
- [Tech stack](#-tech-stack)
- [Feedback & issues](#-feedback--issues)

### 🤔 What is this?

Instead of running 9 separate tools (Lighthouse, axe-core, SSL Labs, Broken Link Checker, Schema Validator, etc.), this Actor runs all checks in one scan. You get a unified health score, per-category scores, and a prioritized list of issues.

**9 checks per URL:**
1. ♿ **Accessibility** — axe-core WCAG 2.1 A/AA rules (90+ checks)
2. 🔒 **Security headers** — HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy
3. 🔐 **SSL/TLS** — Certificate validity, HTTPS enforcement
4. 🔗 **Broken links** — HEAD-check all links on page (up to 50)
5. 🗺️ **Sitemap** — Exists, URL count, validity
6. 🤖 **robots.txt** — Exists, sitemap reference, wildcard rules
7. 📊 **Structured data** — JSON-LD schema types present (Organization, Article, FAQ, etc.)
8. 📝 **Meta tags** — Title, description, canonical, Open Graph, lang, viewport
9. ⚡ **Performance** — Load time, DOM ready, resource count, transfer sizes

### 🚀 How to use

#### Step 1: Add URLs

Enter one or more URLs to audit.

#### Step 2: Select checks (optional)

All 9 checks enabled by default. Deselect any you don't need.

#### Step 3: Run

Click **Start**. Each URL is scanned across all selected checks. Results pushed per-URL to dataset.

#### Step 4: Export

- **Dataset** — Per-URL summary with scores + issue counts
- **Key-value store: `OUTPUT`** — Full report with all details

### 📥 Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `startUrls` | array | **required** | URLs to audit |
| `checks` | array | all 9 | Which checks to run: `accessibility, security, ssl, brokenLinks, sitemap, robots, structuredData, meta, performance` |
| `timeout` | integer | 30000 | Page load timeout (ms) |

### 📤 Output

#### Per-URL dataset item

| Field | Type | Description |
|-------|------|-------------|
| `url` | string | URL audited |
| `overallScore` | integer | 0–100 average across all checks |
| `overallGrade` | string | A–F letter grade |
| `issueCount` | integer | Total issues found |
| `accessibilityScore` | integer | axe-core compliance score |
| `accessibilityViolations` | integer | WCAG violation count |
| `securityScore` | integer | Security headers score |
| `securityMissing` | array | Missing security headers |
| `sslValid` | boolean | SSL certificate valid |
| `brokenLinkCount` | integer | Broken links found |
| `sitemapExists` | boolean | Sitemap present |
| `robotsExists` | boolean | robots.txt present |
| `schemaCount` | integer | JSON-LD schema blocks found |
| `schemaTypes` | array | Schema types detected |
| `metaIssues` | array | Meta tag problems |
| `performanceLoadMs` | integer | Page load time in ms |
| `performanceIssues` | array | Performance problems |
| `criticalIssues` | array | All critical issues across checks |

### 📄 JSON output example

```json
{
  "url": "https://example.com",
  "overallScore": 72,
  "overallGrade": "C",
  "issueCount": 8,
  "criticalIssues": [
    "Security: Missing Strict-Transport-Security header",
    "Security: Missing Content-Security-Policy header",
    "Accessibility: 2 critical violations",
    "Meta: Missing Open Graph image (og:image)",
    "Sitemap: No sitemap.xml found"
  ],
  "checks": {
    "accessibility": {
      "score": 62,
      "grade": "D",
      "violationCount": 4,
      "critical": 1,
      "serious": 2,
      "moderate": 1,
      "minor": 0,
      "topViolations": ["html-has-lang: The <html> element must have a lang attribute", "image-alt: Images must have alternate text"]
    },
    "security": {
      "score": 40,
      "present": ["X-Content-Type-Options"],
      "missing": ["Strict-Transport-Security", "Content-Security-Policy", "X-Frame-Options", "Referrer-Policy"]
    },
    "ssl": { "valid": true, "daysRemaining": 30, "issuer": "Unknown" },
    "brokenLinks": [],
    "sitemap": { "exists": false, "urlCount": 0, "issues": ["No sitemap.xml found"] },
    "robots": { "exists": true, "hasSitemap": false, "hasWildcard": true },
    "structuredData": { "count": 0, "types": [], "issues": ["Missing recommended schema types: WebSite, Organization, BreadcrumbList"] },
    "meta": {
      "title": "Example Domain",
      "titleLength": 13,
      "description": "",
      "canonical": "",
      "ogTitle": "",
      "lang": "",
      "viewport": "",
      "issues": ["Missing meta description", "Missing canonical URL", "Missing Open Graph title", "Missing HTML lang attribute", "Missing viewport meta tag"]
    },
    "performance": {
      "loadTime": 1240,
      "domReady": 890,
      "resourceCount": 3,
      "totalTransferSize": 15000,
      "jsSize": 0,
      "cssSize": 2000,
      "issues": []
    }
  }
}
````

### 💰 How much does it cost?

**$3 per URL.** Full 9-check audit. No subscription.

#### Cost examples

| Use case | URLs | Cost |
|----------|------|------|
| Single page audit | 1 | $3 |
| 5-page website audit | 5 | $15 |
| Agency portfolio (20 clients × 1 page) | 20 | $60 |
| Full site audit (50 pages) | 50 | $150 |

### 🎯 Use cases

- **Pre-launch checklist** — Run all 9 checks before deploying a new site
- **Agency audits** — Offer "website health report" as lead magnet for prospects
- **Ongoing monitoring** — Schedule monthly runs to catch regressions
- **Competitor analysis** — Compare your health score vs competitors
- **Client reporting** — Generate health scores for monthly client reports
- **SEO audits** — Cover technical SEO + accessibility + performance in one scan

### 🔗 Integrations

#### Chain with ADA Fix-It Report

Found accessibility issues? Feed results to our [ADA Fix-It Report](https://apify.com/upstanding_biobot/ada-remediation-report) for developer-ready code fixes + cost estimates.

#### AI agents (MCP)

Works with Apify MCP server. AI agents can run full health audits autonomously.

#### Automation

- **Zapier** — Monthly health check → email PDF report to client
- **Make** — New deploy → trigger health check → Slack alert if score drops
- **Custom** — Apify webhooks for CI/CD integration

### ⚖️ Is it legal?

**Yes.** All checks run against public web pages. No data modification, no authentication bypass, no vulnerability exploitation. Security header checks are passive HTTP inspection — same as any browser developer tools.

### 🔧 Troubleshooting

| Problem | Cause | Fix |
|---------|-------|-----|
| **Low score with no issues** | Some checks returned 0 results (page didn't load) | Check `timeout` setting. Verify URL is accessible |
| **Accessibility check timeout** | SPA content not loaded | Increase `timeout` or add `waitForSelector` support (coming soon) |
| **0 broken links found** | Page has few external links, or HEAD requests blocked | Some servers block HEAD requests. Try with different URL |
| **SSL shows valid but no cert info** | JS fetch can't inspect cert details | SSL validity is confirmed (HTTPS works), but cert issuer details limited by browser security model |

### ❓ FAQ

<details>
<summary><strong>How is the overall score calculated?</strong></summary>

Average of all check scores. Each check has its own 0–100 scoring:

- Accessibility: weighted by violation severity (critical=25pts, serious=10pts)
- Security: 15pts per required header, 8pts per optional
- SSL: 100 if valid, 0 if not
- Broken links: -10pts per broken link
- Sitemap: 80 if exists + URL depth bonus
- Robots: 80 if exists
- Structured data: 20pts per schema block (max 100)
- Meta: -10pts per missing element
- Performance: -20pts per performance issue

</details>

<details>
<summary><strong>Can I run just accessibility or just security?</strong></summary>

Yes. Use the `checks` input to select specific checks. For example: `["security", "ssl"]` for a security-only audit.

</details>

<details>
<summary><strong>Does this replace Lighthouse?</strong></summary>

Partially. This Actor covers more ground (accessibility + security + SEO + links) but has less performance detail than Lighthouse's full audit. For deep performance analysis, use Lighthouse directly. For comprehensive health overview, use this Actor.

</details>

### 🛠️ Tech stack

- **[axe-core](https://github.com/dequelabs/axe-core)** — WCAG accessibility testing (90+ rules)
- **[Playwright](https://playwright.dev/)** — Headless Chromium browser
- **[Apify SDK](https://docs.apify.com/sdk/js/)** — Platform integration

### 🔧 Companion Actors

Complete your audit pipeline with these related tools:

| Actor | What it does | Price |
|-------|-------------|-------|
| [ADA Compliance Checker](https://apify.com/upstanding_biobot/ada-wcag-compliance-scan) | Deep-dive WCAG accessibility scan. 90+ axe-core rules | $2/scan |
| [ADA Fix-It Report](https://apify.com/upstanding_biobot/ada-remediation-report) | Developer-ready remediation reports with code fixes + cost estimates | $5/page |
| [llms.txt Generator](https://apify.com/upstanding_biobot/llms-txt-generator) | Generate llms.txt + check AI bot access. Boost AI search visibility | FREE |
| [AI Citation Monitor](https://apify.com/upstanding_biobot/ai-citation-monitor) | Track brand mentions in AI search responses | $0.50/query |

#### Recommended workflow

1. **Website Health Check** (this Actor) — Run broad 9-check audit first ($3/URL)
2. **[ADA Scanner](https://apify.com/upstanding_biobot/ada-wcag-compliance-scan)** — Deep-dive accessibility violations ($2/scan)
3. **[Fix-It Report](https://apify.com/upstanding_biobot/ada-remediation-report)** — Generate developer-ready remediation plan ($5/page)
4. **[llms.txt Generator](https://apify.com/upstanding_biobot/llms-txt-generator)** — Ensure AI search engines can find your site (FREE)
5. **[AI Citation Monitor](https://apify.com/upstanding_biobot/ai-citation-monitor)** — Track whether AI models mention your brand ($0.50/query)

### 💬 Feedback & issues

- **Apify Console** — Issues tab on this Actor's page
- **Review** — Rate on Store page

# Actor input Schema

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

URLs to audit.

## `checks` (type: `array`):

Select which checks to perform. All enabled by default.

## `timeout` (type: `integer`):

Navigation timeout per page.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://example.com"
    }
  ],
  "checks": [
    "accessibility",
    "security",
    "ssl",
    "brokenLinks",
    "sitemap",
    "robots",
    "structuredData",
    "meta",
    "performance"
  ],
  "timeout": 30000
}
```

# 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://example.com"
        }
    ],
    "checks": [
        "accessibility",
        "security",
        "ssl",
        "brokenLinks",
        "sitemap",
        "robots",
        "structuredData",
        "meta",
        "performance"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("upstanding_biobot/website-health-check").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://example.com" }],
    "checks": [
        "accessibility",
        "security",
        "ssl",
        "brokenLinks",
        "sitemap",
        "robots",
        "structuredData",
        "meta",
        "performance",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("upstanding_biobot/website-health-check").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://example.com"
    }
  ],
  "checks": [
    "accessibility",
    "security",
    "ssl",
    "brokenLinks",
    "sitemap",
    "robots",
    "structuredData",
    "meta",
    "performance"
  ]
}' |
apify call upstanding_biobot/website-health-check --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🩺 Website Health Check — All-in-One Audit",
        "description": "Comprehensive website health audit: accessibility (axe-core), security headers, SSL/TLS, broken links, sitemap, robots.txt, structured data, meta tags, performance signals. One scan, full picture.",
        "version": "1.0",
        "x-build-id": "6iSE8QxNEbvi8U2RV"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/upstanding_biobot~website-health-check/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-upstanding_biobot-website-health-check",
                "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/upstanding_biobot~website-health-check/runs": {
            "post": {
                "operationId": "runs-sync-upstanding_biobot-website-health-check",
                "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/upstanding_biobot~website-health-check/run-sync": {
            "post": {
                "operationId": "run-sync-upstanding_biobot-website-health-check",
                "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": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "URLs to check",
                        "type": "array",
                        "description": "URLs to audit.",
                        "items": {
                            "type": "object",
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL",
                                    "description": "URL to audit"
                                }
                            },
                            "required": [
                                "url"
                            ]
                        }
                    },
                    "checks": {
                        "title": "Checks to run",
                        "type": "array",
                        "description": "Select which checks to perform. All enabled by default.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "accessibility",
                                "security",
                                "ssl",
                                "brokenLinks",
                                "sitemap",
                                "robots",
                                "structuredData",
                                "meta",
                                "performance"
                            ]
                        },
                        "default": [
                            "accessibility",
                            "security",
                            "ssl",
                            "brokenLinks",
                            "sitemap",
                            "robots",
                            "structuredData",
                            "meta",
                            "performance"
                        ]
                    },
                    "timeout": {
                        "title": "Page timeout (ms)",
                        "minimum": 5000,
                        "maximum": 120000,
                        "type": "integer",
                        "description": "Navigation timeout per page.",
                        "default": 30000
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
