# UK AEC & BIM Procurement Data (`aevumere/uk-aec-bim-procurement-data`) Actor

Turn official UK procurement notices into traceable AEC, BIM, engineering, construction, GIS, CAD, and digital-twin opportunity records.

- **URL**: https://apify.com/aevumere/uk-aec-bim-procurement-data.md
- **Developed by:** [ZHANG CHENYI](https://apify.com/aevumere) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 results

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## UK AEC & BIM Procurement Data

### Find relevant UK AEC and BIM procurement records

UK AEC & BIM Procurement Data reads the official UK Find a Tender OCDS API
and turns planning, tender, and award releases into a consistent, auditable
Dataset. It is designed for architecture, engineering, construction, BIM,
digital-twin, GIS, CAD, surveying, and related opportunity research.

The Actor uses deterministic CPV and keyword rules. It does not use an LLM,
guess missing values, collect contact details, or download attachments.

> **Unofficial product:** This Actor is not affiliated with, sponsored by, or
> endorsed by the UK Cabinet Office or Find a Tender. It is not legal,
> procurement-qualification, or bidding advice.

### What you get

- Normalized planning, tender, and award releases from one registered official
  source.
- Explainable AEC/BIM classification through `vertical_match`,
  `match_score`, and `match_reasons`.
- CPV codes and descriptions, buyer, value, currency, dates, regions,
  procedure, framework, lots, and related-notice fields when the source
  provides them.
- Stable record, notice, OCDS release, and lifecycle identifiers.
- Amendment/revision linking for releases with the same OCID.
- Source URL, source licence, observation time, payload hash, and field-level
  provenance for audit.
- Apify Dataset export to JSON, JSONL, CSV, and Excel.
- A quality report, run ledger, finance ledger, revision events, and optional
  raw source snapshot in the run key-value store.

### Who it is for

- Architecture, engineering, construction, and consultancy business
  development teams.
- BIM, digital-twin, GIS, CAD, surveying, and asset-information vendors.
- Analysts building repeatable UK public-procurement datasets.
- Developers who need normalized, provenance-preserving OCDS records.

### How matching works

The locked `UK_AEC_BIM_PROCUREMENT_V1` template marks a release as a match when
one or more of these deterministic conditions apply:

- a CPV code begins with `45` for construction;
- a CPV code begins with `71` for architecture or engineering;
- the title or description contains an explicit BIM, building-information
  modelling, digital-twin, common-data-environment, asset-information-model,
  GIS, geospatial, mapping, survey, laser-scanning, point-cloud, CAD, or
  landscape-architecture term.

The score and reasons are indicators for prioritization, not a verdict about
eligibility or commercial suitability. Broad CPV prefixes can include records
that are not a direct BIM opportunity. Historical records and passed deadlines
can still be returned and are labeled in `match_reasons`.

### Input

| Field | Required | Default / range | Meaning |
|---|---|---|---|
| `updatedFrom` | yes | ISO date-time | Inclusive source update boundary |
| `updatedTo` | yes | ISO date-time | Exclusive source update boundary |
| `stages` | no | planning, tender, award | Lifecycle stages to return |
| `maxRecords` | no | 1,000; range 1–5,000 | Hard result cap |
| `maxPages` | no | 10; range 1–50 | Hard source-page cap |
| `limit` | no | 100; range 1–100 | Official API page size |
| `includeNonMatches` | no | false | Include records outside the locked template |
| `saveRawSnapshot` | no | true | Preserve official source packages for audit |
| `maxRetries` | no | 3; range 0–3 | Network/429/503 retries |
| `maxCostUsdPerRun` | no | USD 0.25; range 0–5 | Conservative run-cost guard |

Times without an offset are interpreted as UTC. The Store form uses a bounded,
historical sample window (`2026-07-20T00:00:00Z` to
`2026-07-21T00:00:00Z`) so the first run and Apify's automated test are
repeatable. Change both dates to the update window you actually need.

The Actor validates every field and rejects unsupported properties.
`modelMode` is fixed to `none`.

### Example input

```json
{
  "updatedFrom": "2026-07-20T00:00:00Z",
  "updatedTo": "2026-07-21T00:00:00Z",
  "stages": ["planning", "tender", "award"],
  "maxRecords": 1000,
  "maxPages": 10,
  "includeNonMatches": false,
  "saveRawSnapshot": true,
  "maxCostUsdPerRun": 0.25
}
````

### Example output

This shortened example is derived from a HUMAN\_OWNER-reviewed official
fixture. Fields not shown here remain available in the Dataset.

```json
{
  "record_id": "ocds-h6vhtk-029ba6/005173-2021",
  "source_notice_id": "005173-2021",
  "source_url": "https://www.find-tender.service.gov.uk/Notice/005173-2021",
  "ocid": "ocds-h6vhtk-029ba6",
  "stage": "tender",
  "title": "BHCC HP DPS for Construction Related Consultancy 2021",
  "buyer_name": "Brighton & Hove City Council",
  "cpv_codes": ["71210000", "71220000", "71312000"],
  "estimated_value": 5000000,
  "currency": "GBP",
  "vertical_match": true,
  "match_score": 20,
  "match_reasons": [
    "active_tender_stage",
    "cpv_prefix_71_architecture_engineering",
    "deadline_passed"
  ],
  "source_license": "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/",
  "ai_enrichment": null
}
```

### Data source, licence, and attribution

The only source is the official UK Find a Tender OCDS release-package API:

`https://www.find-tender.service.gov.uk/api/1.0/ocdsReleasePackages`

Source information is reused under the Open Government Licence v3.0. Every
record contains the source notice URL, source licence, source payload hash, and
the attribution:

> Contains information licensed under the Open Government Licence v3.0.

The Actor does not bypass authentication, CAPTCHA, robots controls, WAFs, or
rate limits. It uses the public official API and respects source `Retry-After`
responses.

### Quality and failure behavior

The Actor fails the run instead of reporting a partial success when:

- the source declares an unknown licence or OCDS extension;
- the source schema changes in a way that has not been reviewed;
- pagination escapes the requested bounds or exceeds a configured cap;
- a page is incomplete;
- required provenance or normalized fields fail validation;
- the conservative preflight or postflight estimate exceeds
  `maxCostUsdPerRun`;
- source or storage retries are exhausted.

Successful outputs are gated for required-field completeness, provenance,
duplicates, licences, silent errors, and model usage.

### Privacy

The Dataset excludes contact fields and does not download or redistribute
attachments. Do not use source data for unsolicited outreach or assume a
record establishes qualification to bid.

### Limits

- UK Find a Tender only; this is not global procurement coverage.
- One AEC/BIM vertical template only.
- Maximum 5,000 normalized records and 50 source pages per run.
- Multi-stage subsets can require local stage filtering because the official
  source accepts one stage parameter at a time.
- Source availability, corrections, and publishing delays remain outside the
  Actor's control.
- Missing source facts remain null or empty; they are never inferred.
- No monitoring schedule, CRM, automated bid, or legal interpretation is
  included.

### Cost controls

The Actor uses a 512 MiB memory profile and a two-stage, fail-closed cost
guard. A local benchmark based on reviewed fixtures produced these planning
estimates:

| Records | Conservative preflight | Payload-based projection |
|---:|---:|---:|
| 100 | USD 0.004105 | USD 0.001234 |
| 1,000 | USD 0.023351 | USD 0.007140 |
| 5,000 | USD 0.108887 | USD 0.033388 |

These are not quotes or invoices. Actual platform usage, storage duration,
pricing tier, source latency, and cloud runtime determine the final amount.
Use Apify's maximum-charge control together with `maxCostUsdPerRun`.

### Support

During the validation release, report reproducible issues through the Actor's
Apify support channel and include the run ID, input with secrets removed,
error code, and expected behavior. Support is best-effort; no response-time
SLA or custom procurement analysis is included.

### Version

`0.1.0` — deterministic UK source adapter, AEC/BIM matcher, provenance,
quality gates, lifecycle revisions, Dataset schema, four exports, cost guard,
and zero-model execution.

# Actor input Schema

## `updatedFrom` (type: `string`):

Inclusive lower update boundary in YYYY-MM-DDTHH:MM:SS with optional timezone.

## `updatedTo` (type: `string`):

Exclusive upper update boundary in YYYY-MM-DDTHH:MM:SS with optional timezone.

## `stages` (type: `array`):

Only releases in the selected lifecycle stages are returned.

## `maxRecords` (type: `integer`):

Stop with an explicit error instead of returning a partial result when this cap is exceeded.

## `maxPages` (type: `integer`):

Maximum 100-record source pages. Incomplete pagination is an error.

## `limit` (type: `integer`):

Official API page size.

## `includeNonMatches` (type: `boolean`):

Include records that do not meet the locked AEC/BIM CPV or keyword rules.

## `saveRawSnapshot` (type: `boolean`):

Save the official release packages in the run key-value store for audit.

## `maxRetries` (type: `integer`):

Retries for network errors and source HTTP 429/503. Retry-After is always respected.

## `maxCostUsdPerRun` (type: `number`):

Per-run USD guard. The Actor fails closed if the conservative preflight or postflight estimate exceeds this cap.

## `modelMode` (type: `string`):

The deterministic product runs with no LLM dependency.

## `outputFormats` (type: `array`):

Compatibility setting for the local CLI. Apify Dataset supports JSON, JSONL, CSV and Excel export.

## Actor input object example

```json
{
  "updatedFrom": "2026-07-20T00:00:00Z",
  "updatedTo": "2026-07-21T00:00:00Z",
  "stages": [
    "planning",
    "tender",
    "award"
  ],
  "maxRecords": 1000,
  "maxPages": 10,
  "limit": 100,
  "includeNonMatches": false,
  "saveRawSnapshot": true,
  "maxRetries": 3,
  "maxCostUsdPerRun": 0.25,
  "modelMode": "none",
  "outputFormats": [
    "json",
    "jsonl",
    "csv",
    "xlsx"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

Normalized, provenance-preserving procurement records in the default Dataset.

## `summary` (type: `string`):

Run statistics, quality result, and two-stage budget guard.

## `qualityReport` (type: `string`):

Required-field, provenance, duplicate, licence, and silent-error checks.

## `revisionEvents` (type: `string`):

Lifecycle revisions linked by OCDS identifier.

## `runLedger` (type: `string`):

Deterministic execution ledger for this run.

## `financeLedger` (type: `string`):

Actual sales and cash fields kept separate from cost estimates.

# 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 = {
    "updatedFrom": "2026-07-20T00:00:00Z",
    "updatedTo": "2026-07-21T00:00:00Z"
};

// Run the Actor and wait for it to finish
const run = await client.actor("aevumere/uk-aec-bim-procurement-data").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 = {
    "updatedFrom": "2026-07-20T00:00:00Z",
    "updatedTo": "2026-07-21T00:00:00Z",
}

# Run the Actor and wait for it to finish
run = client.actor("aevumere/uk-aec-bim-procurement-data").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 '{
  "updatedFrom": "2026-07-20T00:00:00Z",
  "updatedTo": "2026-07-21T00:00:00Z"
}' |
apify call aevumere/uk-aec-bim-procurement-data --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=aevumere/uk-aec-bim-procurement-data",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "UK AEC & BIM Procurement Data",
        "description": "Turn official UK procurement notices into traceable AEC, BIM, engineering, construction, GIS, CAD, and digital-twin opportunity records.",
        "version": "0.1",
        "x-build-id": "MHtAHtlpjW1ct4Wvl"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/aevumere~uk-aec-bim-procurement-data/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-aevumere-uk-aec-bim-procurement-data",
                "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/aevumere~uk-aec-bim-procurement-data/runs": {
            "post": {
                "operationId": "runs-sync-aevumere-uk-aec-bim-procurement-data",
                "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/aevumere~uk-aec-bim-procurement-data/run-sync": {
            "post": {
                "operationId": "run-sync-aevumere-uk-aec-bim-procurement-data",
                "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": [
                    "updatedFrom",
                    "updatedTo"
                ],
                "properties": {
                    "updatedFrom": {
                        "title": "Updated from",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?(Z|[+-]\\d{2}:\\d{2})?$",
                        "type": "string",
                        "description": "Inclusive lower update boundary in YYYY-MM-DDTHH:MM:SS with optional timezone."
                    },
                    "updatedTo": {
                        "title": "Updated to",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?(Z|[+-]\\d{2}:\\d{2})?$",
                        "type": "string",
                        "description": "Exclusive upper update boundary in YYYY-MM-DDTHH:MM:SS with optional timezone."
                    },
                    "stages": {
                        "title": "Lifecycle stages",
                        "minItems": 1,
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only releases in the selected lifecycle stages are returned.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "planning",
                                "tender",
                                "award"
                            ],
                            "enumTitles": [
                                "Planning",
                                "Tender",
                                "Award / contract"
                            ]
                        },
                        "default": [
                            "planning",
                            "tender",
                            "award"
                        ]
                    },
                    "maxRecords": {
                        "title": "Maximum records",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Stop with an explicit error instead of returning a partial result when this cap is exceeded.",
                        "default": 1000
                    },
                    "maxPages": {
                        "title": "Maximum source pages",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum 100-record source pages. Incomplete pagination is an error.",
                        "default": 10
                    },
                    "limit": {
                        "title": "Source page size",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Official API page size.",
                        "default": 100
                    },
                    "includeNonMatches": {
                        "title": "Include non-matches",
                        "type": "boolean",
                        "description": "Include records that do not meet the locked AEC/BIM CPV or keyword rules.",
                        "default": false
                    },
                    "saveRawSnapshot": {
                        "title": "Save raw source snapshot",
                        "type": "boolean",
                        "description": "Save the official release packages in the run key-value store for audit.",
                        "default": true
                    },
                    "maxRetries": {
                        "title": "Maximum retries",
                        "minimum": 0,
                        "maximum": 3,
                        "type": "integer",
                        "description": "Retries for network errors and source HTTP 429/503. Retry-After is always respected.",
                        "default": 3
                    },
                    "maxCostUsdPerRun": {
                        "title": "Maximum projected platform cost",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "number",
                        "description": "Per-run USD guard. The Actor fails closed if the conservative preflight or postflight estimate exceeds this cap.",
                        "default": 0.25
                    },
                    "modelMode": {
                        "title": "Model mode",
                        "enum": [
                            "none"
                        ],
                        "type": "string",
                        "description": "The deterministic product runs with no LLM dependency.",
                        "default": "none"
                    },
                    "outputFormats": {
                        "title": "Export formats",
                        "type": "array",
                        "description": "Compatibility setting for the local CLI. Apify Dataset supports JSON, JSONL, CSV and Excel export.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "json",
                                "jsonl",
                                "csv",
                                "xlsx"
                            ]
                        },
                        "default": [
                            "json",
                            "jsonl",
                            "csv",
                            "xlsx"
                        ]
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
