# Product Recall Intelligence (`skootle/cpsc-product-recall-intelligence`) Actor

Official CPSC recall records for product compliance, retail risk, insurance, API integrations, schedules, and safety monitoring.

- **URL**: https://apify.com/skootle/cpsc-product-recall-intelligence.md
- **Developed by:** [Skootle](https://apify.com/skootle) (community)
- **Categories:** Other, News, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

<!-- skootle:growth-loop-hook -->
## CPSC Product Recall Intelligence

Search public CPSC recall data for marketplace compliance, supplier screening, retail risk, insurance research, product monitoring, and agent workflows. Run it from the Apify Console, the Apify API, or a scheduled automation. Each run starts with a `summary` and then returns normalized `recall` records with the official recall link retained.

### What does CPSC Product Recall Intelligence return?

The actor reads the official CPSC Recall JSON endpoint and turns its nested response into predictable dataset rows. It is designed for a team that needs recall numbers, dates, products, hazards, remedies, companies, countries, images, and provenance in a form that can move into a queue, spreadsheet, or agent without HTML parsing.

The first row is a `summary`, which reports the applied search, recall number, optional date range, returned count, source status, `hazardCount`, `recallsWithImages`, `recallsWithInjuries`, and a warning that the official endpoint is filtered locally. Each following `recall` row contains a stable `id`, recall number and dates, title, description, product names, hazards, remedies, manufacturers, retailers, countries, images, injuries, contact text, sales text, unit strings, source URL, retrieval timestamp, completeness score, and `agentMarkdown`.

The live E2E check queried official recall number `26621` with `limit: 1`. It returned exactly one result with products and confirmed these record keys: `schemaVersion`, `recordType`, `id`, `sourceUrl`, `retrievedAt`, `fieldCompletenessScore`, `recallNumber`, `recallDate`, `products`, `hazards`, `remedies`, `manufacturers`, `images`, and `agentMarkdown`. The public source was a non-empty JSON array, with nested official product, hazard, remedy, company, country, injury, and image entries normalized to arrays.

<!-- skootle:review-cta -->
If this actor saved review time, please leave a short review after the run: [CPSC Product Recall Intelligence reviews](https://apify.com/skootle/cpsc-product-recall-intelligence/reviews).

### Why use this for product compliance and monitoring?

The official endpoint currently returns a full JSON feed rather than a server-side search result. This actor makes the result set actionable: it downloads the official feed, applies the search, exact recall number, date filters, and limit locally, and makes that processing visible in the summary warning. A repeatable input then produces a bounded set of normalized records for your workflow.

Use it to identify records that deserve review. It does not decide whether an item in your inventory is affected, whether a listing must be removed, or whether a customer remedy is owed. Those decisions require matching official product identifiers, dates, model details, and the controlling recall notice.

### Input reference

| Field | Type | Default | What it controls |
| --- | --- | --- | --- |
| `search` | string, up to 160 characters | `""` | Case-insensitive text match across title, description, product names, hazards, and manufacturers. |
| `recallNumber` | string, up to 40 characters | `""` | Exact official recall-number match. |
| `startDate` | `YYYY-MM-DD` | omitted | Include recalls on or after this official recall date. |
| `endDate` | `YYYY-MM-DD` | omitted | Include recalls on or before this official recall date. |
| `limit` | integer, 1 to 100 | `25` | Maximum number of matching recall records returned. |

The date range is validated: `startDate` cannot be after `endDate`. A concise category-monitoring input looks like this:

```json
{
  "search": "chandelier",
  "recallNumber": "",
  "startDate": "2026-01-01",
  "endDate": "2026-12-31",
  "limit": 25
}
````

For the most deterministic lookup, use the exact public recall number:

```json
{"recallNumber":"26621","limit":1}
```

### Output reference

All rows carry `schemaVersion: "1.0"`, a `recordType`, a stable actor `id`, `sourceUrl`, `retrievedAt`, `fieldCompletenessScore`, and agent-ready markdown. The following shows the verified shape, using illustrative values rather than asserting that a particular product currently has these facts:

```json
{
  "schemaVersion": "1.0",
  "recordType": "recall",
  "id": "cpsc-recall-26621",
  "sourceUrl": "https://www.cpsc.gov/Recalls/...",
  "retrievedAt": "2026-07-18T15:00:00.000Z",
  "fieldCompletenessScore": 91,
  "recallNumber": "26621",
  "recallDate": "2026-01-01T00:00:00.000Z",
  "title": "Example product recall title",
  "products": ["Example product"],
  "hazards": ["Example hazard"],
  "remedies": ["Refund"],
  "manufacturers": ["Example manufacturer"],
  "retailers": [],
  "countries": [],
  "images": [],
  "injuries": []
}
```

The summary row tells an automation how the run behaved before it processes recalls:

```json
{
  "recordType": "summary",
  "query": "chandelier",
  "recallNumber": null,
  "startDate": "2026-01-01",
  "endDate": "2026-12-31",
  "count": 0,
  "sourceStatus": "ok",
  "recallsWithImages": 0,
  "recallsWithInjuries": 0,
  "hazardCount": 0,
  "warnings": [
    "CPSC Recall API filtering is performed locally because this endpoint currently returns its full JSON feed."
  ]
}
```

Counts in the examples are deliberately illustrative. Read the current summary for the real returned count and coverage indicators. Empty arrays and `null` values preserve what is available from the official feed, they do not mean a product is safe or unaffected.

### Tutorial: monitor a product category safely

1. Start with an exact recall number when you have one. Otherwise choose one meaningful product, hazard, or manufacturer phrase for `search`.
2. Add a date range when your workflow is concerned with a period. Keep the range valid and begin with a low `limit` while reviewing relevance.
3. Run the actor and inspect the first summary row. Confirm `sourceStatus: "ok"`, note the returned `count`, and retain the local-filtering warning in your audit record.
4. For each `recall`, send `recallNumber`, `title`, `recallDate`, `products`, `hazards`, `remedies`, `manufacturers`, and `sourceUrl` to a review queue.
5. Open the official source URL and compare model numbers, product names, manufacturing dates, remedy instructions, and any sales details before removing a listing or contacting a customer.
6. Save `id` or `recallNumber` as the deduplication key, and keep `retrievedAt` so your team can distinguish a new observation from a previously reviewed record.

The actor writes `AGENT_BRIEFING.md` to the key-value store. It is a compact operational summary with the query, recall number, returned count, total captured hazards, and source status.

### Worked examples from the verified output contract

#### 1. Look up a specific official recall

Input:

```json
{"recallNumber":"26621","limit":1}
```

The live E2E test used this input and returned one `recall` row. It verified an exact `recallNumber` match and a non-empty `products` array. The resulting row carries the official source URL, normalized arrays for hazards and remedies, and a stable ID of the form `cpsc-recall-<recall number>`.

#### 2. Watch a product category

Input:

```json
{"search":"chandelier","startDate":"2026-01-01","endDate":"2026-12-31","limit":25}
```

The actor checks the search term against the official title, description, product names, hazards, and manufacturers, then applies the date boundaries to `RecallDate`. Use `summary.hazardCount` as a quick signal of returned hazard entries, then route every individual recall for a product-identifier review.

#### 3. Screen a supplier name

Input:

```json
{"search":"Example Manufacturer","limit":50}
```

The local match includes manufacturer names. Store `manufacturers`, `products`, `recallDate`, `remedies`, and `sourceUrl` with the supplier record. A text match is a research lead, not proof that a corporate affiliate or every product line is affected.

#### 4. Build a marketplace compliance queue

Input:

```json
{"search":"battery","limit":100}
```

For each returned record, use `recallNumber` as the queue's external reference and include `products`, `hazards`, `remedies`, `soldAt`, `consumerContact`, and the official link. Add a manual comparison step for SKU, model number, batch, serial number, and sale dates before an enforcement action.

#### 5. Monitor recent recall activity

Input:

```json
{"startDate":"2026-01-01","endDate":"2026-12-31","limit":100}
```

This returns a bounded current-period set after local filtering. Preserve the summary warning because the official source is fetched as a full feed. Use `recallDate`, `lastPublishDate`, and `retrievedAt` to understand the difference between publication timing and your collection timing.

#### 6. Handle an expected no-match

Input:

```json
{"search":"unlikely exact phrase","limit":25}
```

An expected no-match succeeds with a zero-count summary. A malformed response, non-OK HTTP response, empty upstream feed, or invalid row shape fails instead of appearing as a reassuring empty result. Your monitor should treat those two outcomes differently.

### Agent workflows and monitoring

For ongoing marketplace or supplier monitoring, run one fixed query per product family or supplier at a defined cadence. Store the `summary` separately from `recall` rows. Alert when `sourceStatus` is not `ok`, when a normally populated query unexpectedly returns zero, or when a new `recallNumber` appears.

A practical review path is:

1. Schedule an actor run daily or weekly with a fixed input and a small enough `limit` to review.
2. Deduplicate returned records on `id` or `recallNumber`.
3. Create a review item for new records, carrying the official URL, products, hazards, remedies, and retrieval timestamp.
4. Ask a human or a product-matching service to compare the official notice against the actual SKU, model, date, and market.
5. Record the decision outside this actor, including the official source and reviewer rationale.

An AI agent can summarize `agentMarkdown`, classify the listed hazards, or prepare a checklist. It must not treat a text match as authorization to remove products, issue notices, or give safety or legal advice without a controlled verification step.

### Limitations and data handling

- The official endpoint is currently retrieved as a full JSON feed. Filtering is local, so broad searches may take longer than a server-filtered API request.
- Search is text matching, not SKU, barcode, manufacturer-entity, or model-number resolution. Matching words can produce false positives or miss differently worded notices.
- The data reflects the public CPSC feed at collection time. It does not replace the full official recall notice, manufacturer communications, retailer records, or a product-specific inspection.
- Nested source arrays can be empty. Empty `images`, `injuries`, or `retailers` do not establish that no imagery, incident, or seller information exists elsewhere.
- Date filtering uses the recall date normalized from the source. `lastPublishDate` remains an output field and can differ from the initial recall date.
- The actor provides public-data research support only. It is not legal, product-safety, insurance, or compliance advice.

### Buyer FAQ

#### Is this actor affiliated with the CPSC?

No. This independent actor reads public CPSC data. It is not affiliated with, endorsed by, sponsored by, or operated by the U.S. Consumer Product Safety Commission.

#### Why does a run download a large response?

The official Recall endpoint currently provides a full JSON feed rather than documented server-side search parameters. The actor filters that official response locally and states this in the summary warning so the behavior is transparent.

#### Does a result prove my SKU is recalled?

No. A result identifies a recall record that may warrant review. Compare model numbers, products, manufacturing dates, locations, remedy terms, and the official notice before any inventory, customer, or compliance action.

#### Can I search an exact recall number?

Yes. Provide `recallNumber` with the exact public value. The verified E2E input `{"recallNumber":"26621","limit":1}` returned one matching record and confirmed its product array was populated.

#### What does a zero-result run mean?

For a valid query, it means no records matched the local filters and the summary has `count: 0`. A source or parser problem fails the run, so it is not silently represented as a no-match.

#### Can I use the image and official URLs in my workflow?

They are normalized from the public response for reference. Follow the relevant source terms, keep the official notice as the controlling reference, and do not imply that CPSC assets or links endorse your product or service.

#### What should I use as a deduplication key?

Use `id` or `recallNumber`. Preserve `retrievedAt` as a separate collection timestamp, because official source content can change after your first review.

#### Can an AI agent act on the output automatically?

An agent can triage, summarize, or create a human-review task. Product removals, safety notices, refunds, and legal conclusions should require verification against the official notice and your own product records.

### Pricing

Live Store pricing is $0.01 per Actor start plus $0.003 per dataset result, displayed as $3.00 per 1,000 results. Apify platform usage is included rather than billed separately. Use `limit` and your Apify run-charge controls to keep recall monitoring within budget.

### Legal and non-affiliation

CPSC Product Recall Intelligence is an independent data-processing tool. CPSC names, data, images, and links belong to their respective owners. Use public sources according to their applicable terms and policies. You are responsible for validating data for your situation and for meeting the legal, product-safety, privacy, retention, and internal-control requirements that apply to your organization.

### Related actors

- **FDIC Bank Intelligence**: enrich public bank-institution research with certificates, status, financial fields, regulators, and official source URLs.
- **NHTSA Vehicle Safety Intelligence**: add vehicle-recall and complaint research when a product, fleet, or marketplace workflow includes automotive goods.

### Support and feedback

For a reproducible source-shape or output issue, open the actor's Issues tab with the input, `sourceUrl`, timestamp, actor run ID, and error text. Do not include confidential inventory, customer, or credential data. For a product request or a successful workflow, use the feedback section or leave a review. Specific examples of the expected recall field and the public source make feedback actionable.

# Actor input Schema

## `search` (type: `string`):

Optional product, title, manufacturer, or hazard text used to filter official CPSC recalls.

## `recallNumber` (type: `string`):

Optional exact CPSC recall number.

## `startDate` (type: `string`):

Optional earliest recall date in ISO YYYY-MM-DD format.

## `endDate` (type: `string`):

Optional latest recall date in ISO YYYY-MM-DD format.

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

Maximum normalized recall records returned in this run.

## Actor input object example

```json
{
  "search": "chandelier",
  "recallNumber": "",
  "startDate": "2026-01-01",
  "endDate": "2026-12-31",
  "limit": 25
}
```

# Actor output Schema

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

Default dataset. The first row is a summary, followed by normalized product recall records.

## `agentBriefing` (type: `string`):

Markdown briefing derived from the summary row.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("skootle/cpsc-product-recall-intelligence").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("skootle/cpsc-product-recall-intelligence").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 '{}' |
apify call skootle/cpsc-product-recall-intelligence --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=skootle/cpsc-product-recall-intelligence",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Product Recall Intelligence",
        "description": "Official CPSC recall records for product compliance, retail risk, insurance, API integrations, schedules, and safety monitoring.",
        "version": "0.0",
        "x-build-id": "Y6XjrpK4AuyXULkbr"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/skootle~cpsc-product-recall-intelligence/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-skootle-cpsc-product-recall-intelligence",
                "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/skootle~cpsc-product-recall-intelligence/runs": {
            "post": {
                "operationId": "runs-sync-skootle-cpsc-product-recall-intelligence",
                "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/skootle~cpsc-product-recall-intelligence/run-sync": {
            "post": {
                "operationId": "run-sync-skootle-cpsc-product-recall-intelligence",
                "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": {
                    "search": {
                        "title": "Product or hazard search",
                        "type": "string",
                        "description": "Optional product, title, manufacturer, or hazard text used to filter official CPSC recalls.",
                        "default": "chandelier"
                    },
                    "recallNumber": {
                        "title": "Exact recall number",
                        "type": "string",
                        "description": "Optional exact CPSC recall number.",
                        "default": ""
                    },
                    "startDate": {
                        "title": "Recall date from",
                        "type": "string",
                        "description": "Optional earliest recall date in ISO YYYY-MM-DD format.",
                        "default": "2026-01-01"
                    },
                    "endDate": {
                        "title": "Recall date through",
                        "type": "string",
                        "description": "Optional latest recall date in ISO YYYY-MM-DD format.",
                        "default": "2026-12-31"
                    },
                    "limit": {
                        "title": "Maximum records",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum normalized recall records returned in this run.",
                        "default": 25
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
