# FDA Recall Monitor 🚨 (device, drug, food alerts) (`tagadanar/openfda-recall-monitor`) Actor

Watch US FDA recalls by firm, product, classification (Class I, II or III) or status and get only what is new since your last run, straight to Slack. Official openFDA enforcement API, no key. Pay $0.002 per recall, misses are free.

- **URL**: https://apify.com/tagadanar/openfda-recall-monitor.md
- **Developed by:** [Tagada Data](https://apify.com/tagadanar) (community)
- **Categories:** News, Automation, AI
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.40 / 1,000 recall founds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

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

**Get alerted the moment the FDA recalls a device, drug or food product you track.** Filter by firm, product, classification (Class I, Class II or Class III) or status, schedule it, and it returns only the recalls that are new since your last run, straight to Slack or your workflow. Data comes from the official openFDA enforcement API, no key required.

Built for **compliance and regulatory-affairs teams, product-liability and mass-tort lawyers, quality and supply-chain risk managers, and analysts or short-sellers** who need to know about an FDA action before it hits the news.

### Why this actor

- One watchlist, a real diff: instead of re-reading the whole recall database every day, this keeps a persistent memory of what it has already seen and returns only new recalls plus the ones whose status moved (for example Ongoing to Terminated).
- Change types you can route on: every monitor row is tagged `new` or `status-changed` (with the previous status), so you can alert on a fresh Class I recall specifically.
- Three databases, one query: device, drug and food recalls in a single run, each row tagged with its `category`.
- Official source, no key, no scraping: every field comes from the openFDA enforcement endpoints (`api.fda.gov/{device,drug,food}/enforcement.json`). Public, keyless and open.
- Flat schema, no JSON spelunking: recall number, firm, product, reason, classification, status, dates and location as plain columns.
- Monitor mode with a Slack-compatible webhook digest: schedule it and get pinged only when a recall you care about appears or changes.
- Fair pricing: you pay per recall actually returned. A quiet day on a scheduled watchlist costs almost nothing.

### Use cases

- **Regulatory affairs / compliance**: watch your own firm and your suppliers so a recall on a component you use never surprises you.
- **Product-liability / mass-tort law**: monitor a device or drug class and catch new Class I actions the day they post.
- **Quality and supply-chain risk**: track ingredient or contract-manufacturer names across the food and drug databases.
- **Analysts and short-sellers**: watch a public company and get an alert when the FDA reports or escalates a recall.
- **AI agents**: plug it into Claude, Cursor or any MCP client and ask, *"any new Class I device recalls this week?"*

### Input

```json
{
    "categories": ["drug", "device"],
    "classification": "Class I",
    "status": "Ongoing",
    "sinceDays": 90,
    "maxResults": 100
}
````

`categories` picks which recall databases to search (`device`, `drug`, `food`; default all three). `searchTerms` is optional: firm names or product keywords, each matched against the recalling firm or the product description and combined with OR. `classification` is `Class I`, `Class II`, `Class III` or Any. `status` is `Ongoing`, `Completed`, `Terminated` or Any. `sinceDays` sets the report-date look-back window.

Monitor specific companies for a Slack alert (scheduled run):

```json
{
    "categories": ["device", "drug", "food"],
    "searchTerms": ["Abbott", "Baxter"],
    "sinceDays": 30,
    "monitorMode": true,
    "webhookUrl": "https://hooks.slack.com/services/xxx/yyy/zzz"
}
```

Leave `searchTerms` empty to watch every recall in the selected categories and classification. The query is always scoped by category, classification and date window, so a run always returns something. If a query has zero matches, the run finishes cleanly with an empty dataset rather than failing.

### Output (one record per new or changed recall)

```json
{
    "recallNumber": "Z-2601-2026",
    "category": "device",
    "recallingFirm": "Abiomed, Inc.",
    "productDescription": "Impella ...",
    "reason": "...",
    "classification": "Class I",
    "status": "Ongoing",
    "reportDate": "2026-07-01",
    "initiationDate": "2026-06-12",
    "distributionPattern": "US Nationwide",
    "voluntaryMandated": "Voluntary: Firm initiated",
    "city": "Danvers",
    "state": "MA",
    "country": "United States",
    "changeType": "new",
    "previousStatus": null,
    "retrievedAt": "2026-07-09T00:00:00.000Z"
}
```

| Field | Meaning |
|---|---|
| `recallNumber` | The FDA recall number (unique per recall) |
| `category` | `device`, `drug` or `food` |
| `recallingFirm` | Company that initiated or is subject to the recall |
| `productDescription` | The recalled product, as filed with the FDA |
| `reason` | Reason for the recall |
| `classification` | Severity: `Class I` (most serious), `Class II`, `Class III` |
| `status` | `Ongoing`, `Completed` or `Terminated` |
| `reportDate` | Date the FDA reported the recall (ISO `YYYY-MM-DD`) |
| `initiationDate` | Date the firm initiated the recall (ISO `YYYY-MM-DD`) |
| `distributionPattern` | Where the product was distributed |
| `voluntaryMandated` | Whether the recall was voluntary or FDA-mandated |
| `city` / `state` / `country` | Recalling firm location |
| `changeType` | Monitor mode: `new` or `status-changed`; `null` on one-off runs |
| `previousStatus` | The prior status when `changeType` is `status-changed`; else `null` |
| `retrievedAt` | When this run fetched the recall |

On a one-off run (`monitorMode` off) you get every match with `changeType` set to `null`. In monitor mode the first run seeds the baseline and reports everything as `new`; later runs return only new recalls plus any whose status changed.

### Pricing

Pay per event, no subscription and no minimum. Users on higher Apify plans get automatic discounts.

| Event | Price | When |
|---|---|---|
| Actor start | **$0.00005** | Flat, once per run |
| Recall found | **$0.002** | Per new or changed recall returned with its data |
| Digest sent | **$0.03** | Monitor mode only, per Slack/webhook digest actually posted |

A thousand recalls costs $2. In monitor mode a quiet watchlist costs almost nothing: the persistent seen-set means you are never billed twice for the same unchanged recall, so a scheduled run that finds no changes only pays the tiny start fee. That is the difference from a raw export that bills you for the whole result set on every run.

### FAQ

**How do I get alerted about FDA Class I recalls?** Set `classification` to `Class I`, turn on `monitorMode`, add a Slack (or any) webhook URL, and schedule the actor. You get a digest only when a new Class I recall appears or an existing one changes status, and you are only charged for the recalls returned.

**Can I monitor recalls for a specific company?** Yes. Put the firm name in `searchTerms`, for example `["Abbott"]`. It matches the recalling firm and the product description, so a supplier named on the product also surfaces. Add several names to watch a portfolio.

**Is openFDA data free?** Yes. The openFDA enforcement API is public, keyless and open, so there is no login, no scraping and no third-party aggregator. This actor just adds the diffing, filtering, alerting and a flat schema on top.

**Does it cover device, drug and food recalls?** Yes, all three. `categories` selects any combination of `device`, `drug` and `food`; each output row is tagged with its `category`. Leave all three selected to catch everything.

**How is this different from querying openFDA myself?** The API returns the full matching set on every call. This actor remembers what it already showed you and returns only new recalls plus the ones whose status changed, tagged with the exact change. That is the difference between a query and a monitor.

**Does it work with AI agents?** Yes. Like every Apify actor it is exposed via REST API and **MCP**, so Claude, Cursor and similar tools can call it directly, for instance to answer "list new Class I food recalls from this month".

**Tracking clinical trials too?** See the sibling [ClinicalTrials.gov Monitor](https://apify.com/tagadanar/clinicaltrials-monitor) for new-trial, phase and status alerts on the same pharma and medical-device pipeline.

***

### Something missing?

If you need an extra field, another source, or a different output, open an issue on this Actor and describe it. I read every request and small additions usually ship within days. More monitors and data Actors are on [my profile](https://apify.com/tagadanar).

*Keywords: FDA recall API, FDA recall monitor, device recall alert, drug recall alert, food recall alert, Class I recall alert, openFDA enforcement API, product recall tracking, recall compliance monitoring, supply chain risk alerts, product liability recall data, FDA enforcement report, medical device recall tracker, drug recall notification, food safety recall monitor, recalls for AI agents, MCP.*

# Actor input Schema

## `categories` (type: `array`):

Which FDA recall databases to watch. Devices, drugs and food are separate openFDA enforcement endpoints. Leave all selected to cover everything.

## `searchTerms` (type: `array`):

Optional. Company names or product keywords to match, e.g. <code>Abbott</code>, <code>insulin</code>, <code>peanut butter</code>. Each term matches the recalling firm or the product description. Multiple terms are combined with OR. Leave empty to watch every recall in the selected categories.

## `classification` (type: `string`):

FDA recall severity. Class I is the most serious (reasonable probability of serious harm or death), Class II is temporary or medically reversible, Class III is unlikely to cause harm. Leave as Any for all.

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

Filter by where the recall is in its lifecycle. Leave as Any for all.

## `sinceDays` (type: `integer`):

Only return recalls reported within this many days (by the FDA report date). A scheduled monitor typically uses a window a bit longer than its run interval.

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

Stop after collecting this many matching recalls across all selected categories. Caps cost and runtime on broad queries.

## `monitorMode` (type: `boolean`):

Remember recalls already seen across runs and return only new ones, plus any whose status changed (for example Ongoing to Terminated). Built for a scheduled run: the first run establishes the baseline, later runs report and charge for changes only.

## `webhookUrl` (type: `string`):

When monitor mode finds new or changed recalls, post a text digest here (Slack incoming webhook or any endpoint accepting <code>{"text": "..."}</code> JSON).

## Actor input object example

```json
{
  "categories": [
    "drug"
  ],
  "searchTerms": [],
  "classification": "Class I",
  "status": "",
  "sinceDays": 90,
  "maxResults": 10,
  "monitorMode": false
}
```

# Actor output Schema

## `recalls` (type: `string`):

One item per new or changed recall in the default dataset.

# 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 = {
    "categories": [
        "drug"
    ],
    "classification": "Class I",
    "sinceDays": 90,
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("tagadanar/openfda-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 = {
    "categories": ["drug"],
    "classification": "Class I",
    "sinceDays": 90,
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("tagadanar/openfda-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 '{
  "categories": [
    "drug"
  ],
  "classification": "Class I",
  "sinceDays": 90,
  "maxResults": 10
}' |
apify call tagadanar/openfda-recall-monitor --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FDA Recall Monitor 🚨 (device, drug, food alerts)",
        "description": "Watch US FDA recalls by firm, product, classification (Class I, II or III) or status and get only what is new since your last run, straight to Slack. Official openFDA enforcement API, no key. Pay $0.002 per recall, misses are free.",
        "version": "0.1",
        "x-build-id": "bY3tsp4fIPg2XIvS8"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/tagadanar~openfda-recall-monitor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-tagadanar-openfda-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/tagadanar~openfda-recall-monitor/runs": {
            "post": {
                "operationId": "runs-sync-tagadanar-openfda-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/tagadanar~openfda-recall-monitor/run-sync": {
            "post": {
                "operationId": "run-sync-tagadanar-openfda-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": {
                    "categories": {
                        "title": "Product categories",
                        "type": "array",
                        "description": "Which FDA recall databases to watch. Devices, drugs and food are separate openFDA enforcement endpoints. Leave all selected to cover everything.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "device",
                                "drug",
                                "food"
                            ],
                            "enumTitles": [
                                "Medical devices",
                                "Drugs",
                                "Food"
                            ]
                        },
                        "default": [
                            "device",
                            "drug",
                            "food"
                        ]
                    },
                    "searchTerms": {
                        "title": "Firm or product keywords",
                        "type": "array",
                        "description": "Optional. Company names or product keywords to match, e.g. <code>Abbott</code>, <code>insulin</code>, <code>peanut butter</code>. Each term matches the recalling firm or the product description. Multiple terms are combined with OR. Leave empty to watch every recall in the selected categories.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "classification": {
                        "title": "Classification (severity)",
                        "enum": [
                            "",
                            "Class I",
                            "Class II",
                            "Class III"
                        ],
                        "type": "string",
                        "description": "FDA recall severity. Class I is the most serious (reasonable probability of serious harm or death), Class II is temporary or medically reversible, Class III is unlikely to cause harm. Leave as Any for all.",
                        "default": ""
                    },
                    "status": {
                        "title": "Recall status",
                        "enum": [
                            "",
                            "Ongoing",
                            "Completed",
                            "Terminated"
                        ],
                        "type": "string",
                        "description": "Filter by where the recall is in its lifecycle. Leave as Any for all.",
                        "default": ""
                    },
                    "sinceDays": {
                        "title": "Look back this many days",
                        "minimum": 1,
                        "maximum": 3650,
                        "type": "integer",
                        "description": "Only return recalls reported within this many days (by the FDA report date). A scheduled monitor typically uses a window a bit longer than its run interval.",
                        "default": 90
                    },
                    "maxResults": {
                        "title": "Max recalls per run",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Stop after collecting this many matching recalls across all selected categories. Caps cost and runtime on broad queries.",
                        "default": 200
                    },
                    "monitorMode": {
                        "title": "Monitor mode (alert on new/changed recalls only)",
                        "type": "boolean",
                        "description": "Remember recalls already seen across runs and return only new ones, plus any whose status changed (for example Ongoing to Terminated). Built for a scheduled run: the first run establishes the baseline, later runs report and charge for changes only.",
                        "default": false
                    },
                    "webhookUrl": {
                        "title": "Webhook URL (Slack-compatible)",
                        "type": "string",
                        "description": "When monitor mode finds new or changed recalls, post a text digest here (Slack incoming webhook or any endpoint accepting <code>{\"text\": \"...\"}</code> JSON)."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
