# FDA Recall Monitor — Drug, Device & Food Alerts (`bikram07/fda-recall-monitor`) Actor

Monitor FDA drug, device, and food recalls from the official openFDA API. Filter by keyword, firm, recall class (I/II/III), status, or date range. Alert mode outputs only new recalls since your last run, so you can schedule daily or weekly compliance and safety alerts.

- **URL**: https://apify.com/bikram07/fda-recall-monitor.md
- **Developed by:** [Bikram](https://apify.com/bikram07) (community)
- **Categories:** Automation, Developer tools, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## FDA Recall Monitor — Drug, Device & Food Recall Alerts

Monitor FDA drug, device, and food recalls from the **official openFDA API** and get clean, structured recall records you can analyze, alert on, or pipe into a compliance database. Filter by product keyword, recalling firm, recall class (I/II/III), status, and date range. Turn on **alert mode** to output only recalls that are new since your last run, and schedule it daily or weekly to build a hands-off FDA recall monitoring pipeline.

### What it does

The U.S. FDA publishes its enforcement actions (recalls) for drugs, medical devices, and food through the public [openFDA enforcement API](https://open.fda.gov/apis/drug/enforcement/). This Actor queries those official endpoints, normalizes every record into a consistent schema, and writes the matching recalls to your dataset — ready for export to JSON, CSV, or Excel, or for use by an AI agent over MCP.

It is built for repeatable monitoring, not a one-off lookup: pick your filters once, enable alert mode, schedule it, and each run surfaces only the recalls you haven't seen before.

### How it works

1. You set your filters: product types (`drug`, `device`, `food`), keywords, firm, classification, status, and/or date range.
2. The Actor calls the matching official openFDA enforcement endpoint(s) for each product type you selected.
3. It paginates through the results (newest recall-initiation date first) up to your `maxRecords` limit.
4. Each raw FDA record is normalized into a clean, flat output object.
5. In **alert mode**, recalls already output on a previous run (for the same filter set) are skipped, so you only ever see new recalls.
6. Matching recalls are written to your dataset. If nothing new is found, the run writes nothing.

### Input

All fields are optional. With no input it returns the most recent drug recalls.

| Field | Type | Description |
|---|---|---|
| `productTypes` | array | Which FDA categories to include: `drug`, `device`, `food`. Defaults to `["drug"]`. |
| `keywords` | array | Only include recalls whose product description or reason for recall contains at least one of these terms. Example: `insulin`, `contamination`. |
| `firm` | string | Filter by recalling company name (partial match). Example: `Pfizer`. |
| `classification` | array | FDA recall severity: `Class I` (most severe), `Class II`, `Class III`. |
| `status` | string | Recall status: `Ongoing`, `Completed`, or `Terminated`. |
| `dateFrom` | string | Start of the recall-initiation date range. Format: `YYYYMMDD`. |
| `dateTo` | string | End of the recall-initiation date range. Format: `YYYYMMDD`. Defaults to today. |
| `maxRecords` | integer | Maximum total records to output across all product types. Default `200`. |
| `alertMode` | boolean | When `true`, output only recalls not seen on a previous run for the same filters. Default `false`. |

**Example — all Class I drug recalls in 2026:**
```json
{
    "productTypes": ["drug"],
    "classification": ["Class I"],
    "dateFrom": "20260101",
    "maxRecords": 500
}
````

**Example — monitor insulin recalls with weekly alerts:**

```json
{
    "productTypes": ["drug", "device"],
    "keywords": ["insulin"],
    "alertMode": true,
    "maxRecords": 100
}
```

**Example — all recalls from a specific firm:**

```json
{
    "productTypes": ["drug", "device", "food"],
    "firm": "Abbott",
    "maxRecords": 200
}
```

### Output fields

Each recall becomes one dataset item with the following fields (drug-specific fields come from the openFDA drug database and may be empty for device/food recalls):

| Field | Description |
|---|---|
| `recallNumber` | FDA recall number (e.g. `D-0353-2026`). |
| `eventId` | FDA enforcement event ID. |
| `productType` | `drug`, `device`, or `food`. |
| `status` | `Ongoing`, `Completed`, or `Terminated`. |
| `classification` | Recall class: `Class I`, `Class II`, or `Class III`. |
| `voluntaryMandated` | Whether the recall was firm-initiated or FDA-mandated. |
| `recallingFirm` | Company conducting the recall. |
| `city` / `state` / `country` / `postalCode` | Firm location. |
| `address` | Firm street address (when provided). |
| `productDescription` | Description of the recalled product. |
| `productQuantity` | Quantity in distribution. |
| `codeInfo` | Lot numbers, expiry dates, and other identifying codes. |
| `reasonForRecall` | Why the product was recalled. |
| `distributionPattern` | Geographic distribution (e.g. `Nationwide`). |
| `initialFirmNotification` | How the firm first notified customers. |
| `recallInitiationDate` | Date the recall began (`YYYY-MM-DD`). |
| `centerClassificationDate` | Date FDA classified the recall. |
| `terminationDate` | Date the recall was terminated (if any). |
| `reportDate` | Date the recall was reported. |
| `brandNames` / `genericNames` / `substanceNames` | Drug naming fields (from openFDA). |
| `manufacturerNames` / `applicationNumbers` / `ndc` | Drug manufacturer, FDA application number, and NDC package codes (from openFDA). |
| `scrapedAt` | ISO timestamp of when the record was written. |

**Sample item:**

```json
{
    "recallNumber": "D-0353-2026",
    "eventId": "90875",
    "productType": "drug",
    "status": "Ongoing",
    "classification": "Class I",
    "voluntaryMandated": "Voluntary: Firm initiated",
    "recallingFirm": "Civica, Inc.",
    "city": "Lehi",
    "state": "UT",
    "country": "US",
    "productDescription": "Sodium Chloride Injection, USP, 0.9%, 100mL",
    "productQuantity": "72,000 units",
    "reasonForRecall": "Particulate matter identified as glass",
    "distributionPattern": "Nationwide",
    "recallInitiationDate": "2026-01-16",
    "reportDate": "2026-01-22",
    "brandNames": ["Sodium Chloride Injection"],
    "genericNames": ["sodium chloride"],
    "ndc": ["0409-7984-11"],
    "scrapedAt": "2026-06-14T04:30:00.000Z"
}
```

### Use cases

- **Pharma & medtech compliance teams** — monitor recalls for your own products, competitors, or API/component suppliers and feed them into your quality system.
- **Hospital & clinic procurement** — get alerted when a recalled drug or device matches items on your formulary or inventory.
- **Insurance & underwriting** — track Class I recalls for product-liability risk assessment.
- **Legal & due-diligence teams** — research a firm's recall history before a deal or case.
- **Healthcare & supply-chain software** — embed a live recall feed into a pharmacy, EHR, or device-management product.

### Setting up recall alerts

1. Set `alertMode: true` plus your filters (product type, keywords, classification).
2. Create an [Apify Schedule](https://docs.apify.com/platform/schedules) — daily catches new recalls within ~24 hours; weekly is common for compliance reviews.
3. Add a [webhook](https://docs.apify.com/platform/integrations/webhooks) to push new recalls to email, Slack, Teams, or your own system.
4. Each scheduled run outputs only recalls that appeared since the previous run for that filter set.

### Classification guide

| Class | Severity | Example |
|---|---|---|
| Class I | Most severe — reasonable probability of serious adverse health consequences or death | Contaminated injectable, wrong medication in package |
| Class II | May cause temporary or reversible adverse health effects | Labeling error, mislabeled dosage |
| Class III | Unlikely to cause adverse health effects | Minor packaging defect |

### Pricing

**$1 per 1,000 recall records** — pay-per-event, billed at **$0.001 per recall record** written to your dataset. There is no subscription and no monthly minimum; you pay only for the records a run actually outputs.

| Event | Price | Charged when |
|---|---|---|
| `fda-recall` | $0.001 | One recall record is written to the dataset |

In alert mode, recalls you've already seen are skipped before any charge, so a run that finds no new recalls costs nothing.

### Use from Claude, Cursor & AI agents (MCP)

```json
{
    "mcpServers": {
        "apify": {
            "url": "https://mcp.apify.com/sse?actors=bikram07/fda-recall-monitor",
            "headers": {
                "Authorization": "Bearer YOUR_APIFY_TOKEN"
            }
        }
    }
}
```

Ask your agent: *"Were there any Class I drug recalls in the last 30 days involving contamination?"*

Or call the API directly:

```bash
curl -X POST "https://api.apify.com/v2/acts/bikram07~fda-recall-monitor/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"productTypes": ["drug"], "classification": ["Class I"], "dateFrom": "20260101"}'
```

### FAQ

**Is this a subscription?**
No. Pricing is pay-per-event at $0.001 per recall record ($1 per 1,000). You're billed only for the records a run outputs — there's no monthly fee and no minimum.

**How does the pricing / billing work?**
Each recall written to your dataset triggers one `fda-recall` event at $0.001. A run that returns 500 recalls costs $0.50. In alert mode, already-seen recalls are filtered out before charging, so a run with no new recalls costs nothing. Charges run through Apify's standard usage billing, so refunds and disputes are handled by Apify support per their terms.

**Does it use official FDA APIs?**
Yes. It pulls directly from the official openFDA enforcement endpoints (`api.fda.gov`) for drug, device, and food recalls. No scraping of unofficial pages, and no API key is required.

**How current is the data?**
openFDA's enforcement data is refreshed regularly (FDA publishes weekly, often updating within days of a recall). Scheduling a daily run catches new recalls within about 24 hours of them appearing in openFDA.

**Can I search drug, device, and food at once?**
Yes — set `productTypes: ["drug", "device", "food"]`. The Actor queries each category and combines all matching records into a single dataset, capped by `maxRecords`.

**How far back does the data go?**
openFDA enforcement data goes back to 2004. Use `dateFrom` / `dateTo` (`YYYYMMDD`) to pull any historical window.

### What it does NOT do / limitations

- Covers **drug, medical device, and food/cosmetic** recalls only. Veterinary products and biologics are not in the openFDA enforcement endpoints and are not returned.
- It reports recalls as published by openFDA — it does not add proprietary risk scores, predictions, or "AI severity" ratings. Output is the official FDA data, normalized.
- Data freshness and completeness depend on openFDA; this Actor does not have recalls that the FDA hasn't yet published.
- Drug-specific fields (NDC, brand/generic names, application numbers) come from the openFDA drug database and are typically empty for device and food recalls.
- openFDA enforces a public rate limit (1,000 requests/day per IP, 40/min); very large historical pulls are paced to stay within it.

***

Uses the [openFDA API](https://open.fda.gov/apis/drug/enforcement/). Not affiliated with or endorsed by the U.S. Food and Drug Administration.

**Related searches:** FDA recall monitor · FDA recall API · drug recall alerts · medical device recall tracker · food recall monitoring · openFDA API · Class I recall tracker · FDA enforcement database · recall compliance monitoring

# Actor input Schema

## `productTypes` (type: `array`):

Which FDA product categories to include: <b>drug</b>, <b>device</b>, <b>food</b>. Defaults to drug only.

## `keywords` (type: `array`):

Only include recalls where the product description or reason contains at least one of these terms. Example: <b>insulin</b>, <b>epinephrine</b>, <b>undeclared allergen</b>. Leave empty for all recalls.

## `firm` (type: `string`):

Filter recalls by the name of the recalling company. Partial matches work. Example: <b>Pfizer</b>

## `classification` (type: `array`):

Filter by FDA recall severity. Values: <b>Class I</b> (most severe, health hazard), <b>Class II</b> (may cause adverse effects), <b>Class III</b> (unlikely to cause harm). Leave empty for all.

## `status` (type: `string`):

Filter by recall status. Values: <b>Ongoing</b>, <b>Completed</b>, <b>Terminated</b>. Leave blank for all.

## `dateFrom` (type: `string`):

Start date for recall initiation date filter. Format: <b>YYYYMMDD</b>. Example: <b>20260101</b>

## `dateTo` (type: `string`):

End date for recall initiation date filter. Format: <b>YYYYMMDD</b>. Leave blank for today.

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

Maximum total recall records to output across all product types.

## `alertMode` (type: `boolean`):

When enabled, the Actor remembers which recalls it has already output for this filter combination and only outputs <b>new recalls since the last run</b>. Schedule weekly or daily for continuous monitoring.

## Actor input object example

```json
{
  "productTypes": [
    "drug"
  ],
  "maxRecords": 200,
  "alertMode": false
}
```

# 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("bikram07/fda-recall-monitor").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("bikram07/fda-recall-monitor").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 bikram07/fda-recall-monitor --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FDA Recall Monitor — Drug, Device & Food Alerts",
        "description": "Monitor FDA drug, device, and food recalls from the official openFDA API. Filter by keyword, firm, recall class (I/II/III), status, or date range. Alert mode outputs only new recalls since your last run, so you can schedule daily or weekly compliance and safety alerts.",
        "version": "0.1",
        "x-build-id": "j1hMsQoLEX3Ya3csp"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/bikram07~fda-recall-monitor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-bikram07-fda-recall-monitor",
                "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/bikram07~fda-recall-monitor/runs": {
            "post": {
                "operationId": "runs-sync-bikram07-fda-recall-monitor",
                "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/bikram07~fda-recall-monitor/run-sync": {
            "post": {
                "operationId": "run-sync-bikram07-fda-recall-monitor",
                "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": {
                    "productTypes": {
                        "title": "Product types to monitor",
                        "type": "array",
                        "description": "Which FDA product categories to include: <b>drug</b>, <b>device</b>, <b>food</b>. Defaults to drug only.",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "drug"
                        ]
                    },
                    "keywords": {
                        "title": "Keywords (optional)",
                        "type": "array",
                        "description": "Only include recalls where the product description or reason contains at least one of these terms. Example: <b>insulin</b>, <b>epinephrine</b>, <b>undeclared allergen</b>. Leave empty for all recalls.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "firm": {
                        "title": "Recalling firm name (optional)",
                        "type": "string",
                        "description": "Filter recalls by the name of the recalling company. Partial matches work. Example: <b>Pfizer</b>"
                    },
                    "classification": {
                        "title": "Classifications (optional)",
                        "type": "array",
                        "description": "Filter by FDA recall severity. Values: <b>Class I</b> (most severe, health hazard), <b>Class II</b> (may cause adverse effects), <b>Class III</b> (unlikely to cause harm). Leave empty for all.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "status": {
                        "title": "Status (optional)",
                        "type": "string",
                        "description": "Filter by recall status. Values: <b>Ongoing</b>, <b>Completed</b>, <b>Terminated</b>. Leave blank for all."
                    },
                    "dateFrom": {
                        "title": "Date from (optional)",
                        "pattern": "^\\d{8}$",
                        "type": "string",
                        "description": "Start date for recall initiation date filter. Format: <b>YYYYMMDD</b>. Example: <b>20260101</b>"
                    },
                    "dateTo": {
                        "title": "Date to (optional)",
                        "pattern": "^\\d{8}$",
                        "type": "string",
                        "description": "End date for recall initiation date filter. Format: <b>YYYYMMDD</b>. Leave blank for today."
                    },
                    "maxRecords": {
                        "title": "Max recall records",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum total recall records to output across all product types.",
                        "default": 200
                    },
                    "alertMode": {
                        "title": "Alert mode (only new recalls)",
                        "type": "boolean",
                        "description": "When enabled, the Actor remembers which recalls it has already output for this filter combination and only outputs <b>new recalls since the last run</b>. Schedule weekly or daily for continuous monitoring.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
