# FDA Food Recall Intelligence (`skootle/fda-food-recall-intelligence`) Actor

Official openFDA food enforcement data for recall monitoring, supplier risk, API integrations, schedules, and compliance workflows.

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

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

<!-- skootle:growth-loop-hook -->
## FDA Food Recall Intelligence

![FDA Food Recall Intelligence hero](https://raw.githubusercontent.com/kesjam/skootle-actors-assets/main/heroes/fda-food-recall-intelligence.png)

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

### What does FDA Food Recall Intelligence return?

The Actor queries the official openFDA food enforcement endpoint and turns each enforcement report into a predictable dataset row. It is designed for teams that need recall numbers, classifications, statuses, product descriptions, recall reasons, recalling firms, report dates, distribution patterns, quantities, code information, locations, and provenance without building their own openFDA client.

The first row is a `summary`, which reports the applied search, recall number, optional date range, returned count, source status, `classCounts`, `topFirms`, `ongoingCount`, `nationalDistributionCount`, and a warning that the official endpoint is queried through openFDA. Each following `recall` row contains a stable `id`, recall number, classification, status, product description, recall reason, firm, report dates, distribution pattern, quantity, code information, and firm location, source URL, retrieval timestamp, completeness score, and `agentMarkdown`.

The live E2E and Cloud checks queried ongoing Class I food recalls with `limit: 3`. Every run returned one `summary` row and three useful `recall` rows. Verified record keys include `schemaVersion`, `recordType`, `id`, `sourceUrl`, `retrievedAt`, `fieldCompletenessScore`, `recallNumber`, `classification`, `status`, `productDescription`, `reasonForRecall`, `recallingFirm`, `reportDate`, `distributionPattern`, `productQuantity`, `codeInfo`, location fields, and `agentMarkdown`.

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

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

The Actor builds a bounded openFDA server-side query from the selected product or reason phrase, firm, classification, status, state, report-date range, and limit. It paginates only when the requested limit exceeds one API page. The summary preserves the applied filters, record count, class counts, top recalling firms, ongoing count, and nationwide-distribution signal.

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

### Input reference

| Field | Type | Default | What it controls |
| --- | --- | --- | --- |
| `search` | string, up to 160 characters | `""` | Server-side openFDA phrase match across product descriptions and recall reasons. |
| `recallingFirm` | string, up to 120 characters | `""` | Optional recalling-firm phrase. |
| `classification` | enum | `ALL` | Filter to Class I, II, or III. |
| `status` | enum | `Ongoing` | Filter to ongoing, completed, or terminated recalls. |
| `state` | two-letter string | `""` | Filter by recalling-firm state. | |
| `startDate` | `YYYY-MM-DD` | omitted | Include recalls on or after this official recall date. |
| `endDate` | `YYYY-MM-DD` | omitted | Include recalls on or before this official recall date. |
| `limit` | integer, 1 to 250 | `25` | Maximum number of matching recall records returned. |

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

```json
{
  "search": "allergen",
  "classification": "Class I",
  "status": "Ongoing",
  "startDate": "2026-01-01",
  "endDate": "2026-12-31",
  "limit": 25
}
````

For a narrow current-risk screen, combine status, classification, firm, state, or dates with a low limit. `recallNumber` is an output field and stable external reference, not an input field in this version.

### Output reference

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

```json
{
  "schemaVersion": "1.0",
  "recordType": "recall",
  "id": "fda-food-recall-F-1170-2024",
  "sourceUrl": "https://api.fda.gov/food/enforcement.json?...",
  "retrievedAt": "2026-07-20T18:50:00.000Z",
  "fieldCompletenessScore": 92,
  "recallNumber": "F-1170-2024",
  "classification": "Class I",
  "status": "Ongoing",
  "productDescription": "Example food product",
  "reasonForRecall": "Possible contamination",
  "recallingFirm": "Example Foods",
  "reportDate": "2026-07-01T00:00:00.000Z",
  "distributionPattern": "Nationwide",
  "productQuantity": "100 cases",
  "codeInfo": "Lot A",
  "state": "GA",
  "country": "United States"
}
```

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

```json
{
  "recordType": "summary",
  "query": "allergen",
  "recallingFirm": null,
  "classification": "Class I",
  "status": "Ongoing",
  "startDate": "2026-01-01",
  "endDate": "2026-12-31",
  "count": 3,
  "sourceStatus": "ok",
  "classCounts": {"Class I": 3, "Class II": 0, "Class III": 0},
  "topFirms": [{"firm": "Example Foods", "count": 1}],
  "ongoingCount": 3,
  "nationalDistributionCount": 1,
  "warnings": ["Verify current recall instructions with FDA and the recalling firm."]
}
```

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

### Tutorial: monitor a product category safely

1. Choose one meaningful product-description or recall-reason phrase for `search`, or use `recallingFirm` for a firm-focused screen.
2. Add a date range when your workflow is concerned with a period. Keep the range valid and begin with a low `limit` while reviewing relevance.
3. Run the actor and inspect the first summary row. Confirm `sourceStatus: "ok"`, note the returned `count`, and retain the openFDA warning in your audit record.
4. For each `recall`, send `recallNumber`, `classification`, `status`, `productDescription`, `reasonForRecall`, `recallingFirm`, `reportDate`, `distributionPattern`, and `sourceUrl` to a review queue.
5. Verify the current FDA enforcement report and recalling-firm instructions before a supplier, inventory, or customer action.
6. Save `id` or the output `recallNumber` as the deduplication key, and retain `retrievedAt` as the observation timestamp.

The Actor writes `AGENT_BRIEFING.md` to the key-value store with the applied filters, returned count, Class I count, ongoing count, and source status.

### Worked examples from the verified output contract

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

Input:

```json
{"status":"Ongoing","classification":"Class I","limit":3}
```

The live E2E and Cloud tests used this input and returned three useful `recall` rows plus the run summary. Each row carries the FDA recall number, classification, status, product description, recall reason, firm, dates, distribution, provenance, and a stable ID of the form `fda-food-recall-<recall number>`.

#### 2. Watch a product category

Input:

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

The Actor sends the phrase to openFDA across `product_description` and `reason_for_recall`, then applies report-date boundaries on the server. Use `summary.classCounts`, `summary.ongoingCount`, and each record’s reason and distribution fields to prioritize review.

#### 3. Screen a supplier name

Input:

```json
{"recallingFirm":"Example Foods","status":"ALL","limit":50}
```

Use `recallingFirm` for firm-focused queries. Store `recallingFirm`, `productDescription`, `classification`, `status`, `reportDate`, `reasonForRecall`, and `sourceUrl` with the supplier record. A phrase match is a research lead, not proof that every affiliate or product line is affected.

#### 4. Build a marketplace compliance queue

Input:

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

For each returned record, use `recallNumber` as the external reference and include `productDescription`, `reasonForRecall`, `classification`, `status`, `recallingFirm`, `distributionPattern`, `codeInfo`, and the source URL. Add a manual comparison step for SKU, lot, code, date, and distribution before an enforcement action.

#### 5. Monitor recent recall activity

Input:

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

This returns a bounded current-period set after openFDA server-side filtering. Use `reportDate`, `recallInitiationDate`, `centerClassificationDate`, and `retrievedAt` to distinguish FDA reporting, recall initiation, classification, and collection timing.

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

Input:

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

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

### Agent workflows and monitoring

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

A practical review path is:

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

An AI agent can summarize `agentMarkdown`, rank classifications and recall reasons, or prepare a review checklist. It must not treat a text match as authorization to remove products, issue notices, or give safety or legal advice without a controlled verification step.

### Limitations and data handling

- The official endpoint is currently retrieved as a bounded openFDA JSON response. Filtering is local, so broad searches may take longer than a server-filtered API request.
- Search is text matching, not SKU, barcode, manufacturer-entity, or model-number resolution. Matching words can produce false positives or miss differently worded notices.
- The data reflects the public FDA feed at collection time. It does not replace the full official recall notice, manufacturer communications, retailer records, or a product-specific inspection.
- Some fields may be absent or incomplete in an enforcement report. A null quantity, code, address, or distribution field does not establish that the information is unavailable elsewhere.
- Date filtering uses `report_date`. The output keeps recall initiation and classification dates separately because they describe different operational events.
- The actor provides public-data research support only. It is not legal, food-safety, insurance, or compliance advice.

### Buyer FAQ

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

No. This independent actor reads public FDA data. It is not affiliated with, endorsed by, sponsored by, or operated by the U.S. Food and Drug Administration.

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

The official openFDA endpoint supports the bounded server-side search used here. The Actor exposes the applied filters in the summary and fails on malformed or unexpectedly empty successful responses.

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

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

#### Can I filter by an exact recall number?

Not as an input in this version. `recallNumber` is preserved on every output row and can be used to deduplicate or join downstream. Use product, reason, firm, class, status, state, or date filters for collection.

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

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

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

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

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

Use `id` or the output `recallNumber`. Preserve `retrievedAt` separately because FDA source content can change after the first observation.

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

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

### Pricing

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

### Legal and non-affiliation

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

### Related actors

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

### Support and feedback

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

### Public proof artifact

The release evidence includes a rendered 1600 by 600 hero, a 1024 icon, three consecutive Apify Cloud runs, dataset IDs, row counts, record types, run costs, and a live Store screenshot. This evidence is retained with the factory receipt so buyers and operators can distinguish tested behavior from listing claims.

### Why choose this Actor?

Generic recall feeds expose raw enforcement rows. FDA Food Recall Intelligence adds a stable schema, numeric completeness scores, ISO dates, normalized status and classification fields, per-record `agentMarkdown`, a run-level `summary`, top-firm counts, class counts, national-distribution signals, honest no-match behavior, and explicit source provenance. It fails on malformed or unexpectedly empty upstream payloads rather than presenting source failure as a reassuring zero.

# Actor input Schema

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

Optional product description or recall-reason phrase.

## `recallingFirm` (type: `string`):

Optional exact firm phrase.

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

Filter results to FDA Class I, Class II, Class III, or all classifications.

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

Filter results to ongoing, completed, terminated, or all recall statuses.

## `state` (type: `string`):

Optional two-letter US state code.

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

Optional earliest FDA report date.

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

Optional latest FDA report date.

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

Maximum normalized recall records.

## Actor input object example

```json
{
  "search": "",
  "recallingFirm": "",
  "classification": "ALL",
  "status": "Ongoing",
  "state": "",
  "limit": 25
}
```

# Actor output Schema

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

First row is a summary, followed by normalized recall records.

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

Markdown briefing derived from the summary row.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("skootle/fda-food-recall-intelligence").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("skootle/fda-food-recall-intelligence").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call skootle/fda-food-recall-intelligence --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FDA Food Recall Intelligence",
        "description": "Official openFDA food enforcement data for recall monitoring, supplier risk, API integrations, schedules, and compliance workflows.",
        "version": "0.1",
        "x-build-id": "vdAL26gFeKe5vQGMI"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/skootle~fda-food-recall-intelligence/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-skootle-fda-food-recall-intelligence",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/skootle~fda-food-recall-intelligence/runs": {
            "post": {
                "operationId": "runs-sync-skootle-fda-food-recall-intelligence",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/skootle~fda-food-recall-intelligence/run-sync": {
            "post": {
                "operationId": "run-sync-skootle-fda-food-recall-intelligence",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "search": {
                        "title": "Product or recall reason",
                        "type": "string",
                        "description": "Optional product description or recall-reason phrase.",
                        "default": ""
                    },
                    "recallingFirm": {
                        "title": "Recalling firm",
                        "type": "string",
                        "description": "Optional exact firm phrase.",
                        "default": ""
                    },
                    "classification": {
                        "title": "FDA classification",
                        "enum": [
                            "ALL",
                            "Class I",
                            "Class II",
                            "Class III"
                        ],
                        "type": "string",
                        "description": "Filter results to FDA Class I, Class II, Class III, or all classifications.",
                        "default": "ALL"
                    },
                    "status": {
                        "title": "Recall status",
                        "enum": [
                            "ALL",
                            "Ongoing",
                            "Completed",
                            "Terminated"
                        ],
                        "type": "string",
                        "description": "Filter results to ongoing, completed, terminated, or all recall statuses.",
                        "default": "Ongoing"
                    },
                    "state": {
                        "title": "Firm state",
                        "type": "string",
                        "description": "Optional two-letter US state code.",
                        "default": ""
                    },
                    "startDate": {
                        "title": "Report date from",
                        "type": "string",
                        "description": "Optional earliest FDA report date."
                    },
                    "endDate": {
                        "title": "Report date through",
                        "type": "string",
                        "description": "Optional latest FDA report date."
                    },
                    "limit": {
                        "title": "Maximum records",
                        "minimum": 1,
                        "maximum": 250,
                        "type": "integer",
                        "description": "Maximum normalized recall records.",
                        "default": 25
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
