# FDA Warning Letters Scraper (`solidcode/fda-warning-letters-scraper`) Actor

\[💰 $15 / 1K] Scrape the official FDA Warning Letters database. Get company, posted and issue dates, issuing office, subject, response and closeout status, letter URL, and full letter text. Filter by keyword, company, office, subject, or date range.

- **URL**: https://apify.com/solidcode/fda-warning-letters-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $15.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.
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 Warning Letters Scraper

Pull the full archive of published FDA Warning Letters — recipient company, posted and issue dates, issuing office, subject, response-letter and closeout status, letter URL, and the complete letter text — as clean, structured records you can search and filter. Built for regulatory-affairs specialists, pharma quality and compliance teams, legal researchers, and market-intelligence analysts who need FDA enforcement signals without combing FDA.gov letter by letter.

### Why This Scraper?

- **~3,600 archived warning letters** — the complete published FDA enforcement archive, not a truncated newest-only excerpt feed like other tools offer.
- **16 structured fields per letter** — company, posted date, letter issue date, issuing office, subject, response and closeout status with dates, letter URL, excerpt, and a provenance timestamp on every row.
- **Full letter body on demand** — turn on one toggle to capture each letter's complete text plus its MARCS-CMS reference number and delivery method (VIA UPS, email, and so on), far beyond the one-line summary.
- **Filter by issuing office** — target CDER (drugs), CFSAN and the Human and Animal Food program, CDRH (devices), CBER (biologics), CTP (tobacco), or any district office by name.
- **Response-letter and closeout tracking** — boolean flags plus dates on every row let you separate open enforcement actions from resolved ones without parsing any text.
- **Posted-date range filtering** — pull only letters posted between any two dates (YYYY-MM-DD) to isolate a quarter, a month, or a specific enforcement wave.
- **Multi-keyword search, merged and de-duplicated** — run several terms in a single job across company, subject, and office; results merge and de-duplicate by each letter's own unique URL, so no letter is counted twice.
- **Company and subject "contains" filters** — narrow to a named manufacturer or a violation theme such as CGMP, adulterated, misbranded, or unapproved new drug.
- **Official public-record source** — every field comes straight from FDA.gov, the authoritative US government enforcement database, so the data is public, citable, and audit-ready.

### Use Cases

**Regulatory Intelligence**
- Track new enforcement actions across CDER, CFSAN, CDRH, CBER, and CTP as letters are posted
- Build an internal early-warning feed for adulterated, misbranded, and CGMP violations in your product category
- Benchmark your quality program against the deficiencies FDA is actively citing this year

**Pharma & Competitive Monitoring**
- Watch a named competitor or contract manufacturer for new letters with the company-name filter
- Map which violation types and subjects draw FDA scrutiny in your therapeutic area
- Flag supply-chain risk when a supplier or CMO receives a data-integrity or CGMP letter

**Legal & Compliance**
- Assemble a defensible record of enforcement precedent with full letter text and MARCS-CMS reference numbers
- Separate open matters from resolved ones using the response-letter and closeout flags
- Support due-diligence reviews with the official government source cited on every record

**Market & Business Intelligence**
- Quantify enforcement trends by office, subject, and posted date for reports and dashboards
- Feed a compliance-risk model with structured, de-duplicated enforcement records
- Track tobacco (CTP), dietary supplement, and food-safety enforcement volume over time

**Lead & Signal Generation**
- Identify companies under active FDA pressure that may need remediation, QA, or regulatory consulting
- Prioritize outreach toward letters with no closeout letter yet — the unresolved actions

### Getting Started

#### Newest Letters (simplest)

Leave every filter blank to pull the most recent warning letters across all FDA offices:

```json
{
    "maxResults": 100
}
````

#### Filtered by Office and Date

Drug-related CGMP letters from CDER posted since the start of 2025:

```json
{
    "searchTerms": ["CGMP"],
    "issuingOffice": "CDER",
    "dateFrom": "2025-01-01",
    "maxResults": 250
}
```

#### Full Detail Pull (advanced)

Multiple keywords, tightened to a company and subject, within a date window, with the complete letter text:

```json
{
    "searchTerms": ["adulterated", "misbranded"],
    "companyName": "Pharma",
    "subject": "unapproved",
    "issuingOffice": "Center for Drug",
    "dateFrom": "2024-01-01",
    "dateTo": "2025-12-31",
    "includeLetterBody": true,
    "maxResults": 500
}
```

### Input Reference

#### What to Search

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchTerms` | array | `[]` | One or more keywords searched across company name, subject, and issuing office (for example `"recall"`, `"adulterated"`, `"CGMP"`, or a company name). Each term is searched separately and the results are merged and de-duplicated. Leave blank to collect all letters, newest first. |

#### Filters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `companyName` | string | `""` | Keep only letters whose recipient company or individual name contains this text (case-insensitive), e.g. `"Pharma"`. |
| `issuingOffice` | string | `""` | Keep only letters from an FDA office whose name contains this text (case-insensitive), e.g. `"CDER"`, `"Center for Drug"`, `"Human and Animal Food"`. |
| `subject` | string | `""` | Keep only letters whose subject or violation topic contains this text (case-insensitive), e.g. `"unapproved"`, `"misbranded"`, `"tobacco"`, `"CGMP"`. |
| `dateFrom` | string | `""` | Only letters posted on or after this date. Format `YYYY-MM-DD` (e.g. `2024-01-01`). |
| `dateTo` | string | `""` | Only letters posted on or before this date. Format `YYYY-MM-DD` (e.g. `2025-12-31`). |

#### Output Detail & Limits

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeLetterBody` | boolean | `false` | Also open each letter's page to capture the full letter text, reference number, and delivery method. Leave off for faster, cheaper listing-level runs. |
| `maxResults` | integer | `100` | How many letters to collect in total across all searches. Set to `0` to collect as many as possible, bounded to the full published set. |

### Output

Each warning letter becomes one flat record. Example:

```json
{
    "companyName": "Example Pharmaceuticals, Inc.",
    "postedDate": "2026-06-24",
    "letterIssueDate": "2026-06-18",
    "issuingOffice": "Center for Drug Evaluation and Research (CDER)",
    "subject": "CGMP/Finished Pharmaceuticals/Adulterated",
    "responseLetterPosted": false,
    "responseLetterDate": null,
    "closeoutLetterPosted": false,
    "closeoutLetterDate": null,
    "letterUrl": "https://www.fda.gov/inspections-compliance-enforcement-and-criminal-investigations/warning-letters/example-pharmaceuticals-inc-725157-06182026",
    "excerpt": "...your firm's methods, facilities, or controls for manufacturing...",
    "letterBody": "WARNING LETTER\n\nDear Mr. Doe:\n\nThe U.S. Food and Drug Administration inspected your drug manufacturing facility...",
    "referenceNumber": "MARCS-CMS 725157",
    "deliveryMethod": "VIA UPS",
    "matchedSearchTerm": "CGMP",
    "scrapedAt": "2026-07-11T14:32:00Z"
}
```

#### Core Letter Fields

| Field | Type | Description |
|-------|------|-------------|
| `companyName` | string | Recipient company or individual named in the letter. |
| `postedDate` | string | Date the letter was posted to FDA.gov (`YYYY-MM-DD`). |
| `letterIssueDate` | string | null | Date the letter was issued. |
| `issuingOffice` | string | FDA center or office that issued the letter. |
| `subject` | string | Subject or violation topic. |
| `letterUrl` | string | Canonical FDA.gov letter page URL (unique per letter). |
| `excerpt` | string | null | Short summary shown on the listing when a search term is active. |

#### Response & Closeout Status

| Field | Type | Description |
|-------|------|-------------|
| `responseLetterPosted` | boolean | Whether a response letter has been posted. |
| `responseLetterDate` | string | null | Response letter date, if posted. |
| `closeoutLetterPosted` | boolean | Whether the letter has been closed out. |
| `closeoutLetterDate` | string | null | Closeout letter date, if posted. |

#### Full-Text Detail (when `includeLetterBody` is on)

| Field | Type | Description |
|-------|------|-------------|
| `letterBody` | string | null | Full text of the warning letter. |
| `referenceNumber` | string | null | FDA reference / MARCS-CMS number. |
| `deliveryMethod` | string | null | How the letter was delivered, e.g. VIA UPS or email. |

#### Provenance

| Field | Type | Description |
|-------|------|-------------|
| `matchedSearchTerm` | string | null | Which input search term produced this record. |
| `scrapedAt` | string | ISO 8601 timestamp when the record was collected. |

### Tips for Best Results

- Leave `includeLetterBody` off for fast, low-cost bulk pulls — the listing alone gives you 13 fields per letter. Switch it on only when you need the full letter text, since it opens every letter page individually.
- Set `maxResults` to `0` to sweep the entire published archive (~3,600 letters), but pair it with a `dateFrom` so the run stops as soon as it reaches your start date instead of walking the whole history.
- Filter by issuing office using either the acronym or the full name — `"CDER"` and `"Center for Drug Evaluation and Research"` both work, and `"Human and Animal Food"` catches the food and CFSAN letters.
- Combine several `searchTerms` in one run to cover synonyms like `"adulterated"`, `"misbranded"`, and `"unapproved"` — results are merged and de-duplicated by each letter's unique URL, so nothing is double-counted.
- Use the response-letter and closeout flags to triage: a letter with no closeout letter usually means the matter is still open.
- Dates filter on the posted date (when FDA published the letter), not the internal issue date — always use `YYYY-MM-DD` for `dateFrom` and `dateTo`.
- To follow one company with many letters, add a `companyName` filter instead of relying on a keyword — it tightens matches to the recipient name rather than anything mentioned inside the letter body.

### Pricing

**From $15 per 1,000 results** — a flat pay-per-result rate on a public government dataset, undercutting comparable FDA enforcement extractors. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $1.80 | $1.70 | $1.60 | $1.50 |
| 1,000 | $18.00 | $17.00 | $16.00 | $15.00 |
| 10,000 | $180.00 | $170.00 | $160.00 | $150.00 |
| 100,000 | $1,800.00 | $1,700.00 | $1,600.00 | $1,500.00 |

A "result" is one warning-letter record pushed to your dataset. Apify platform usage fees are additional.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications when new letters are found
- **Webhooks** — Trigger your own systems on run completion
- **Apify API** — Full programmatic access to runs and datasets

### Legal & Ethical Use

FDA Warning Letters are public-record documents published by the U.S. Food and Drug Administration on FDA.gov, and this actor collects only that publicly available information. Use the data responsibly and in line with FDA.gov's terms of use and applicable laws. You are responsible for how you store, process, and act on the results — particularly any letters naming individuals. This tool is intended for regulatory intelligence, research, compliance, and analytics, not for harassment or misrepresentation of enforcement status.

# Actor input Schema

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

One or more keywords to search across company name, subject, and issuing office (e.g. "recall", "adulterated", "CGMP", or a company name). Each term is searched separately and the results are merged and de-duplicated. Leave blank to collect all warning letters, newest first.

## `companyName` (type: `string`):

Keep only letters whose recipient company or individual name contains this text (case-insensitive). For example, enter "Pharma" to keep only companies with "Pharma" in the name. Leave blank to keep every company.

## `issuingOffice` (type: `string`):

Keep only letters issued by an FDA office whose name contains this text (case-insensitive). For example, "CDER" or "Center for Drug" for drug letters, "CDRH" for devices, "Human and Animal Food" for food. Leave blank to include every office.

## `subject` (type: `string`):

Keep only letters whose subject or violation topic contains this text (case-insensitive), e.g. "unapproved", "misbranded", "tobacco", "CGMP". Leave blank to include every subject.

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

Only include letters posted on or after this date. Use the format YYYY-MM-DD (e.g. 2024-01-01). Leave blank for no start date.

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

Only include letters posted on or before this date. Use the format YYYY-MM-DD (e.g. 2025-12-31). Leave blank for no end date.

## `includeLetterBody` (type: `boolean`):

Also open each letter's page to capture the full letter text and extra details (reference number, delivery method). Turn this off for faster, cheaper runs that return only the listing-level summary for each letter.

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

How many letters to collect in total across all searches. Default 100 — increase for bigger runs, or set to 0 to collect as many as possible (bounded to the full published set of warning letters).

## Actor input object example

```json
{
  "searchTerms": [],
  "includeLetterBody": false,
  "maxResults": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of warning letters with the most useful columns at a glance.

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

Table focused on response-letter and closeout-letter tracking.

# 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 = {
    "searchTerms": [],
    "companyName": "",
    "issuingOffice": "",
    "subject": "",
    "dateFrom": "",
    "dateTo": "",
    "includeLetterBody": false,
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/fda-warning-letters-scraper").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 = {
    "searchTerms": [],
    "companyName": "",
    "issuingOffice": "",
    "subject": "",
    "dateFrom": "",
    "dateTo": "",
    "includeLetterBody": False,
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/fda-warning-letters-scraper").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 '{
  "searchTerms": [],
  "companyName": "",
  "issuingOffice": "",
  "subject": "",
  "dateFrom": "",
  "dateTo": "",
  "includeLetterBody": false,
  "maxResults": 100
}' |
apify call solidcode/fda-warning-letters-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FDA Warning Letters Scraper",
        "description": "[💰 $15 / 1K] Scrape the official FDA Warning Letters database. Get company, posted and issue dates, issuing office, subject, response and closeout status, letter URL, and full letter text. Filter by keyword, company, office, subject, or date range.",
        "version": "1.0",
        "x-build-id": "5qJhamvyoVFHwobby"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~fda-warning-letters-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-fda-warning-letters-scraper",
                "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/solidcode~fda-warning-letters-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-fda-warning-letters-scraper",
                "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/solidcode~fda-warning-letters-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-fda-warning-letters-scraper",
                "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": {
                    "searchTerms": {
                        "title": "Search terms",
                        "type": "array",
                        "description": "One or more keywords to search across company name, subject, and issuing office (e.g. \"recall\", \"adulterated\", \"CGMP\", or a company name). Each term is searched separately and the results are merged and de-duplicated. Leave blank to collect all warning letters, newest first.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "companyName": {
                        "title": "Company name contains",
                        "type": "string",
                        "description": "Keep only letters whose recipient company or individual name contains this text (case-insensitive). For example, enter \"Pharma\" to keep only companies with \"Pharma\" in the name. Leave blank to keep every company."
                    },
                    "issuingOffice": {
                        "title": "Issuing office contains",
                        "type": "string",
                        "description": "Keep only letters issued by an FDA office whose name contains this text (case-insensitive). For example, \"CDER\" or \"Center for Drug\" for drug letters, \"CDRH\" for devices, \"Human and Animal Food\" for food. Leave blank to include every office."
                    },
                    "subject": {
                        "title": "Subject contains",
                        "type": "string",
                        "description": "Keep only letters whose subject or violation topic contains this text (case-insensitive), e.g. \"unapproved\", \"misbranded\", \"tobacco\", \"CGMP\". Leave blank to include every subject."
                    },
                    "dateFrom": {
                        "title": "Posted on or after",
                        "type": "string",
                        "description": "Only include letters posted on or after this date. Use the format YYYY-MM-DD (e.g. 2024-01-01). Leave blank for no start date."
                    },
                    "dateTo": {
                        "title": "Posted on or before",
                        "type": "string",
                        "description": "Only include letters posted on or before this date. Use the format YYYY-MM-DD (e.g. 2025-12-31). Leave blank for no end date."
                    },
                    "includeLetterBody": {
                        "title": "Include full letter text",
                        "type": "boolean",
                        "description": "Also open each letter's page to capture the full letter text and extra details (reference number, delivery method). Turn this off for faster, cheaper runs that return only the listing-level summary for each letter.",
                        "default": false
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "How many letters to collect in total across all searches. Default 100 — increase for bigger runs, or set to 0 to collect as many as possible (bounded to the full published set of warning letters).",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
