# ⚠️ CPSC Product Recalls & Safety Tracker (`nexgendata/cpsc-product-recalls`) Actor

CPSC consumer product recalls (saferproducts.gov): recalled products, hazards, remedies, manufacturers, injuries, and dates. For retailers, product-safety/QA, insurers, and class-action researchers.

- **URL**: https://apify.com/nexgendata/cpsc-product-recalls.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.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.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

## ⚠️ CPSC Product Recalls & Safety Tracker

**Pay-per-result US consumer-product recall data straight from the official CPSC / saferproducts.gov feed — $0.10 per recall record. No commercial recall-monitoring subscription, no per-seat compliance-platform contract.**

Every consumer-product recall in the United States — from cribs and space heaters to lithium-battery power banks, kids' apparel with drawstring hazards, contaminated cosmetics, and tip-over-prone dressers — is announced by the **U.S. Consumer Product Safety Commission (CPSC)** and published through saferproducts.gov. This actor reads the official CPSC recalls publication, parses each recall into clean structured JSON, and lets you filter by date range or keyword so you can monitor exactly the categories, brands, and hazards that matter to you.

CPSC recalls are a high-value safety and compliance signal. A single recall can trigger product-liability exposure, retailer pull-from-shelf obligations, insurance claims, regulatory follow-up, and press coverage in the same week. Yet the teams who need that signal earliest are least served by the raw source: the official site is built for a human reading one recall at a time, not for a pipeline that must ingest, filter, dedupe, and route hundreds of records into a database, spreadsheet, alerting workflow, or model.

This actor closes that gap. It turns the official CPSC recalls feed into a queryable, schedulable dataset where every structured detail the CPSC publishes — products, hazards, remedies, manufacturers, injury statements, the consumer-contact block, and the canonical recall URL — is broken out into discrete fields you can act on programmatically. You pay only for the records you pull, with no platform contract and no minimum.

### Why use this

- **It is the official source.** Records come directly from the CPSC's saferproducts.gov recalls publication — the authoritative US government register of consumer-product recalls — not a third party's re-keyed or paraphrased copy.
- **It is fully structured.** Each recall is broken out into discrete arrays for `products`, `productTypes`, `hazards`, `remedies`, `manufacturers`, `injuries`, and `consumerContact`, plus stable identifiers, so you can route, filter, and dedupe without scraping or parsing free text yourself.
- **It is filterable.** Pass a `recallDateStart` / `recallDateEnd` window and an optional `keyword` to pull exactly the slice you need — a date range for a back-load, a brand name for ongoing brand monitoring, or a hazard term like "lithium" or "tip-over."
- **It is pay-per-result.** At $0.10 per recall record there is no subscription, no seat licensing, and no annual minimum. A one-time historical pull and a daily five-record monitor cost the same per record.
- **It is schedulable.** Run it on Apify's scheduler every day or every hour and feed new recalls straight into Slack, a webhook, a warehouse, or your own compliance system.
- **It is portable.** Output is plain JSON/CSV/Excel via the Apify dataset API, so it drops into any stack — Python, JavaScript, a no-code automation, or a BI tool — without a vendor SDK.

### What you get

Each item in the dataset is one CPSC recall, with these real fields:

| Field | Description |
| --- | --- |
| `recallId` | CPSC's internal numeric identifier for the recall — a stable primary key for deduping and joining. |
| `recallNumber` | The published CPSC recall number (e.g. `"26565"`), the human-facing reference used in CPSC press releases. |
| `recallDate` | ISO datetime the recall was issued (e.g. `"2026-06-18T00:00:00"`). |
| `title` | The full official recall headline, including product, hazard, and importer/firm. |
| `description` | The CPSC's product description — what the item is, affected model/serial/UPC ranges, and identifying details. |
| `url` | Canonical cpsc.gov recall page for the record, for citation and human follow-up. |
| `products` | Array of the specific products covered by the recall. |
| `productTypes` | Array of CPSC product-type/category labels (may be empty for some records). |
| `hazards` | Array describing the hazard(s) that prompted the recall (fire, burn, fall, laceration, lead, choking, etc.). |
| `remedies` | Array of the remedy offered to consumers (refund, repair, replacement, stop-use instructions). |
| `manufacturers` | Array of the manufacturing/importing firms named in the recall. |
| `injuries` | Array of injury/incident statements as published by CPSC (reported incidents, injuries, or none reported). |
| `consumerContact` | The official consumer-contact block — how affected owners should reach the firm. |
| `lastPublishDate` | When the recall record was last published/updated by CPSC, so you can detect amendments. |

Because the structured arrays are separated from the free-text `title` and `description`, you can build a hazard taxonomy, filter by manufacturer, flag any recall with a non-empty `injuries` array, or join records across runs on `recallId` — without re-parsing the headline.

### Use cases

- **Product-liability counsel.** Build a defensible, timestamped record of recalls touching a client's products, competitors, or supply chain, with the official `url` for every citation and `injuries` text preserved verbatim.
- **Retail & e-commerce safety teams.** Cross-reference incoming recalls against your active SKU catalog so you can pull affected listings, halt fulfillment, and notify customers before the recall hits the news.
- **Insurers & risk/actuarial teams.** Track recall frequency and hazard mix by product category to inform product-liability underwriting, reserves, and claims triage.
- **Compliance & regulatory affairs.** Maintain an audit-ready feed of recalls in your operating categories, with `lastPublishDate` to catch amendments and `consumerContact` to verify firm-side handling.
- **Consumer-safety researchers & academics.** Assemble multi-year recall datasets — by hazard, product type, or manufacturer — for trend analysis without manually clicking through hundreds of pages.
- **Journalists & investigative reporters.** Monitor by keyword (a brand, a material, a hazard) and get the official record, description, and source URL in seconds for fast, accurate reporting.
- **Brand & marketplace monitoring.** Watch for your own brand, your private-label suppliers, or a competitor appearing in a recall, and route an alert the moment a matching record publishes.
- **No-code automation builders.** Wire the dataset into Make, Zapier, or a webhook to push new recalls into Slack, email, or a Notion/Airtable safety log.

### Sample output

```json
{
  "recallId": 10826,
  "recallNumber": "26565",
  "recallDate": "2026-06-18T00:00:00",
  "title": "Arizer Solo III Portable Vaporizers Recalled Due to Fire and Burn Hazards; Risk of Serious Injury or Death; Imported by 7111495 Canada",
  "description": "This recall involves the Arizer Solo III Intergalactic (Black), a portable electronic vaporizer powered by an internal lithium-ion battery. The unit features a rigid anodized aluminum housing. It includes a front-facing digital display for temperature and device settings, with a stainless steel heating chamber and removable glass components. The model number \"C0001-NB 130-LCUS\" is on a barcode sticker on the packaging. UPC 628078802274 is printed on the product packaging.",
  "url": "https://www.cpsc.gov/Recalls/2026/Arizer-Solo-III-Portable-Vaporizers-Recalled-Due-to-Fire-and-Burn-Hazards-Risk-of-Serious-Injury-or-Death-Imported-by-7111495-Canada",
  "products": [
    "Arizer Solo III portable electronic vaporizers (Intergalactic/Black color only)"
  ],
  "productTypes": [
    ""
  ],
  "hazards": [
    "The internal lithium-ion battery can overheat, posing fire and burn hazards and a risk of serious injury or death."
  ],
  "remedies": [
    "Consumers should immediately stop using the recalled vaporizers and contact the firm for a remedy."
  ],
  "manufacturers": [
    "7111495 Canada"
  ],
  "injuries": [
    "No injuries reported."
  ],
  "consumerContact": "Contact the firm by phone or through its website for instructions on the available remedy.",
  "lastPublishDate": "2026-06-18T00:00:00"
}
````

> Note: CPSC's source text is free-form, so some fields (for example `productTypes`) can be empty and some descriptions include raw model/serial fragments exactly as CPSC published them. The actor preserves the official text faithfully rather than rewriting it.

### Input parameters

| Parameter | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `recallDateStart` | string | No | `2020-01-01` | Earliest recall date to include, as `YYYY-MM-DD`. |
| `recallDateEnd` | string | No | — | Latest recall date to include, as `YYYY-MM-DD`. Leave blank for "up to today." |
| `keyword` | string | No | — | Filter recalls whose title or description contains this term (e.g. a brand, material, or hazard). |
| `maxResults` | integer | No | `2000` | Maximum number of recall records to return in the run. |

All parameters are optional. With no input, the actor returns recalls from the default start date up to the latest published, capped at `maxResults`.

### How to use it

#### Python (apify-client)

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")

run_input = {
    "recallDateStart": "2026-01-01",
    "recallDateEnd": "2026-06-25",
    "keyword": "lithium",
    "maxResults": 500,
}

run = client.actor("YOUR_USERNAME/cpsc-product-recalls").call(run_input=run_input)

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["recallNumber"], "-", item["title"])
```

#### cURL (run-sync-get-dataset-items)

```bash
curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~cpsc-product-recalls/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "recallDateStart": "2026-01-01",
    "recallDateEnd": "2026-06-25",
    "keyword": "lithium",
    "maxResults": 500
  }'
```

The `run-sync-get-dataset-items` endpoint runs the actor and returns the dataset items in the same HTTP response — ideal for quick pulls and webhook-driven automations.

### Pricing

This actor uses **pay-per-result** pricing: **$0.10 per recall record** returned to your dataset. You pay for the records you actually get — nothing else. No subscription, no seats, no monthly minimum.

Worked examples:

| What you pull | Records | Cost |
| --- | --- | --- |
| A single day's new recalls | 5 | $0.50 |
| A keyword-filtered brand watch | 30 | $3.00 |
| A quarter of recalls in your categories | 120 | $12.00 |
| A focused historical back-load | 300 | $30.00 |
| A large multi-year research dataset | 2,000 | $200.00 |

For example, a 300-recall historical pull costs **300 × $0.10 = $30.00**. Use `maxResults` to cap spend precisely, and use a tight `recallDateStart`/`recallDateEnd` window on scheduled runs so you only pay for genuinely new records.

### How this compares

| | This actor | Stericycle / commercial recall-monitoring | UL & enterprise compliance platforms | Manual saferproducts.gov browsing |
| --- | --- | --- | --- | --- |
| Pricing | $0.10 per record, pay-per-use | Annual contract / subscription | Enterprise license, per-seat | Free, but labor-intensive |
| Source | Official CPSC / saferproducts.gov | Aggregated, often multi-source | Aggregated + advisory layer | Official, one page at a time |
| Output | Structured JSON/CSV/Excel | Dashboard / report | Dashboard / portal | Unstructured web pages |
| Automation | API + scheduler + webhooks | Vendor-defined | Vendor-defined | None |
| Time to integrate | Minutes | Procurement cycle | Procurement cycle | Manual every time |
| Minimum commitment | None | Typically annual | Typically annual | None |

Commercial recall-monitoring and enterprise compliance platforms add advisory services, multi-agency coverage, and workflow tooling — but they come with procurement cycles, annual commitments, and per-seat pricing. Manual browsing of saferproducts.gov is free but doesn't scale. This actor sits in between: the **same official CPSC data**, delivered **structured and on demand**, for a **per-record price** that scales from a five-record daily watch to a multi-year back-load.

### FAQ

**How fresh is the data?**
The actor reads the CPSC's live recalls publication at run time, so a scheduled run picks up recalls as soon as they appear in the official feed. Schedule it daily (or hourly) to catch new recalls quickly.

**How far back does the recall history go?**
You control the window with `recallDateStart` / `recallDateEnd`. The default start is `2020-01-01`, but you can set an earlier start to pull older recalls, subject to what CPSC publishes in its recalls feed and your `maxResults` cap.

**Can I filter by hazard or brand?**
Yes. Use the `keyword` parameter to match a term in the recall title or description — a brand name, a material such as "lithium," or a hazard such as "tip-over" or "burn." For more granular filtering, pull a date range and filter the structured `hazards`, `manufacturers`, or `productTypes` arrays in your own code.

**Is injury data included?**
Yes. Each record includes an `injuries` array carrying CPSC's published injury/incident statement (for example reported incidents and injuries, or "no injuries reported"), preserved as CPSC wrote it.

**Is the source text cleaned or rewritten?**
No. The actor faithfully preserves CPSC's official text. Some fields may be empty (for example `productTypes`), and some descriptions include raw model/serial/UPC fragments exactly as published. Use `recallId` to dedupe and the structured arrays for filtering.

**Can I run it on a schedule and get only new recalls?**
Yes. Run it on Apify's scheduler with a rolling date window (e.g. the last 7 days) and dedupe against `recallId` in your destination so you only ingest records you haven't seen.

**What output formats are supported?**
Results land in an Apify dataset, exportable as JSON, CSV, or Excel via the dataset API or the run-sync endpoint shown above.

**Is there a cap on how many recalls I can pull?**
The per-run cap is controlled by `maxResults` (default 2,000). For larger back-loads, split the work into multiple date-windowed runs.

### Schema stability & versioning

The output fields listed in **What you get** form the stable contract for this actor: `recallId`, `recallNumber`, `recallDate`, `title`, `description`, `url`, `products`, `productTypes`, `hazards`, `remedies`, `manufacturers`, `injuries`, `consumerContact`, and `lastPublishDate`. Existing fields will not be renamed or removed without a version bump and changelog note. New fields may be **added** over time as CPSC exposes more structure; additive changes are non-breaking, so build your integration to ignore unknown fields. Because CPSC's underlying text is free-form, treat array fields as variable-length (including possibly empty) and always key your dedupe/joins on `recallId`.

### Compliance & legal

This actor returns **public information published by the U.S. Consumer Product Safety Commission** via saferproducts.gov / cpsc.gov. The data is provided for **informational purposes** to support safety, compliance, research, and reporting workflows. It is not legal advice. CPSC is the authoritative source: for any action with legal, regulatory, or safety consequences, verify against the official recall page (the `url` field) and the CPSC directly. NexGenData is an independent publisher and is not affiliated with, endorsed by, or sponsored by the CPSC or any government agency. Use of this actor is subject to Apify's terms; users are responsible for ensuring their use of recall data complies with applicable laws and the source's terms.

### Related actors

- [FDA Orange Book Drug Patents](https://apify.com/nexgendata/fda-orange-book-drug-patents?fpr=2ayu9b)
- [Openfda Drug Search](https://apify.com/nexgendata/openfda-drug-search?fpr=2ayu9b)
- [FDA Recall Monitor](https://apify.com/nexgendata/fda-recall-monitor?fpr=2ayu9b)
- [Clinical Trials Tracker](https://apify.com/nexgendata/clinical-trials-tracker?fpr=2ayu9b)
- [NPI Healthcare Provider Leads](https://apify.com/nexgendata/npi-healthcare-provider-leads?fpr=2ayu9b)

If recall and safety data is part of your workflow, these NexGenData actors pair well:

- **FDA Recalls Tracker** — structured FDA enforcement and recall data for food, drugs, devices, and cosmetics.
- **NHTSA Recalls Tracker** — official US vehicle and equipment recalls and safety campaigns.
- **Environmental & ESG MCP** — environmental, sustainability, and ESG signals for risk and compliance teams.

Combine CPSC consumer-product recalls with FDA and NHTSA feeds for full-spectrum US recall coverage across consumer goods, regulated products, and vehicles.

# Actor input Schema

## `recallDateStart` (type: `string`):

Earliest recall date (YYYY-MM-DD).

## `recallDateEnd` (type: `string`):

Latest recall date (YYYY-MM-DD).

## `keyword` (type: `string`):

Filter by title/description keyword.

## `maxResults` (type: `integer`):

Max recalls.

## Actor input object example

```json
{
  "recallDateStart": "2020-01-01",
  "maxResults": 2000
}
```

# 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 = {
    "recallDateStart": "2020-01-01"
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/cpsc-product-recalls").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 = { "recallDateStart": "2020-01-01" }

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "⚠️ CPSC Product Recalls & Safety Tracker",
        "description": "CPSC consumer product recalls (saferproducts.gov): recalled products, hazards, remedies, manufacturers, injuries, and dates. For retailers, product-safety/QA, insurers, and class-action researchers.",
        "version": "0.0",
        "x-build-id": "GRLbelGdBokwUVw1F"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~cpsc-product-recalls/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-cpsc-product-recalls",
                "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/nexgendata~cpsc-product-recalls/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-cpsc-product-recalls",
                "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/nexgendata~cpsc-product-recalls/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-cpsc-product-recalls",
                "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": {
                    "recallDateStart": {
                        "title": "Recall date start",
                        "type": "string",
                        "description": "Earliest recall date (YYYY-MM-DD)."
                    },
                    "recallDateEnd": {
                        "title": "Recall date end",
                        "type": "string",
                        "description": "Latest recall date (YYYY-MM-DD)."
                    },
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Filter by title/description keyword."
                    },
                    "maxResults": {
                        "title": "Max results",
                        "type": "integer",
                        "description": "Max recalls.",
                        "default": 2000
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
