# openFDA Drug NDC Directory Scraper (`automation-lab/openfda-drug-ndc-directory-scraper`) Actor

Export official openFDA Drug NDC Directory product and package metadata by NDC, drug name, labeler, regulatory status, and dates.

- **URL**: https://apify.com/automation-lab/openfda-drug-ndc-directory-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

## openFDA Drug NDC Directory Scraper

Export official openFDA Drug NDC Directory records from `api.fda.gov/drug/ndc.json`.

This Apify Actor helps compliance teams, pharmacy data vendors, healthcare enrichment pipelines, and drug-reference analysts collect structured product and package NDC metadata without building and maintaining openFDA pagination code.

### What does openFDA Drug NDC Directory Scraper do?

It queries the public openFDA Drug NDC Directory API and saves normalized dataset rows.

You can search by drug name, generic name, labeler, product NDC, package NDC, regulatory category, product type, dosage form, and date ranges.

The actor can emit one row per product NDC or one row per package NDC.

### Who is it for?

- 🧪 Pharma compliance teams checking product listings and marketing status.
- 💊 Pharmacy pricing teams enriching package NDC catalogs.
- 🏥 Healthcare data vendors building normalized drug reference tables.
- 📊 Analysts comparing labelers, dosage forms, and product types.
- ⚙️ Developers who need repeatable NDC exports inside ETL jobs.

### Why use this actor?

- Uses the official openFDA public API.
- No login, cookies, or browser automation required.
- Handles pagination, retries, and normalization.
- Produces Apify datasets ready for CSV, JSON, Excel, API, or integrations.
- Supports both product-level and package-level exports.

### What data can it extract?

| Field group | Example fields |
| --- | --- |
| Product IDs | `productNdc`, `productId`, `splId` |
| Package IDs | `packageNdc`, `packageDescription`, `packaging` |
| Drug identity | `brandName`, `genericName`, `activeIngredients`, `dosageForm` |
| Company metadata | `labelerName`, `manufacturerName` |
| Regulatory metadata | `productType`, `marketingCategory`, `applicationNumber`, `finished` |
| Dates | `marketingStartDate`, `marketingEndDate`, `listingExpirationDate` |
| Enrichment | `route`, `pharmClass`, `openfda` |

### How much does it cost to scrape openFDA NDC records?

The actor uses pay-per-event pricing.

- Start event: charged once per run.
- Item event: charged for each saved dataset row.

Final live tiered pricing is calculated from cloud cost measurements before publication. The default private-build price is intentionally low for testing.

### Input options

Use these common fields:

- `query` — free-text drug, NDC, or labeler search.
- `ndcs` — exact product or package NDC values.
- `brandName` — exact brand name filter.
- `genericName` — exact generic name filter.
- `labelerName` — exact labeler/manufacturer name filter.
- `marketingCategory` — FDA marketing category.
- `dosageForm` — tablet, capsule, solution, injection, etc.
- `productType` — human prescription drug, human OTC drug, and similar.
- `finished` — filter finished or unfinished products.
- `marketingStartFrom` / `marketingStartTo` — marketing date window.
- `listingExpirationFrom` / `listingExpirationTo` — listing expiration window.
- `rawSearch` — advanced openFDA Lucene syntax.
- `outputMode` — `products` or `packages`.
- `maxItems` — maximum rows to save.
- `pageSize` — openFDA page size.

### Example: search aspirin products

```json
{
  "query": "aspirin",
  "outputMode": "products",
  "maxItems": 25,
  "pageSize": 100
}
````

### Example: package-level NDC export

```json
{
  "labelerName": "Walgreen Company",
  "outputMode": "packages",
  "maxItems": 50,
  "pageSize": 100
}
```

### Example: prescription drug monitoring workflow

```json
{
  "productType": "HUMAN PRESCRIPTION DRUG",
  "marketingStartFrom": "2024-01-01",
  "outputMode": "products",
  "maxItems": 100,
  "pageSize": 100
}
```

### Output example

```json
{
  "recordType": "products",
  "productNdc": "0002-0800",
  "packageNdc": null,
  "brandName": "Example Drug",
  "genericName": "EXAMPLE INGREDIENT",
  "labelerName": "Example Labeler",
  "activeIngredientNames": ["EXAMPLE INGREDIENT"],
  "dosageForm": "TABLET",
  "productType": "HUMAN PRESCRIPTION DRUG",
  "marketingCategory": "NDA",
  "listingExpirationDate": "20261231",
  "sourceUrl": "https://api.fda.gov/drug/ndc.json?...",
  "scrapedAt": "2026-06-30T00:00:00.000Z"
}
```

### Product rows vs package rows

Choose `products` when you want one row for every product NDC.

Choose `packages` when your workflow needs package NDCs, package descriptions, package marketing dates, or package-level pricing enrichment.

Package rows still include the parent product fields.

### Tips for better results

- Use exact NDC filters when you already have product or package codes.
- Use `labelerName` for manufacturer/labeler exports.
- Use `productType` and date filters for repeat monitoring jobs.
- Keep `pageSize` at 100 unless you are exporting large batches.
- Use `rawSearch` only if you know openFDA search syntax.

### Integrations

- 📥 Export dataset rows to CSV for analysts.
- 🔁 Schedule recurring Apify tasks for catalog refreshes.
- 🧩 Send dataset output to Make, Zapier, or a webhook.
- 🗄️ Pull results with the Apify API into a warehouse.
- ✅ Compare new rows against an internal drug master table.

### API usage with Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/openfda-drug-ndc-directory-scraper').call({
  query: 'aspirin',
  outputMode: 'products',
  maxItems: 100,
});
console.log(run.defaultDatasetId);
```

### API usage with Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/openfda-drug-ndc-directory-scraper').call(run_input={
    'query': 'aspirin',
    'outputMode': 'products',
    'maxItems': 100,
})
print(run['defaultDatasetId'])
```

### API usage with cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~openfda-drug-ndc-directory-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"query":"aspirin","outputMode":"products","maxItems":100}'
```

### MCP usage

Use Apify MCP with the actor-specific tool URL:

```bash
https://mcp.apify.com/?tools=automation-lab/openfda-drug-ndc-directory-scraper
```

Add the actor to Claude Code:

```bash
claude mcp add apify-openfda-ndc https://mcp.apify.com/?tools=automation-lab/openfda-drug-ndc-directory-scraper
```

Claude Desktop JSON config example:

```json
{
  "mcpServers": {
    "apify-openfda-ndc": {
      "url": "https://mcp.apify.com/?tools=automation-lab/openfda-drug-ndc-directory-scraper"
    }
  }
}
```

Example prompts:

- "Export 100 aspirin NDC product records and summarize the labelers."
- "Find package-level NDC rows for Walgreen Company."
- "Collect human prescription drug NDC listings marketed since 2024."

### Legality

The actor reads an official public API and does not bypass access controls, login walls, or private systems.

### Legal and compliance notes

This actor uses the official public openFDA API. Respect openFDA terms, attribution guidance, and any data-use obligations in your organization.

The actor does not provide medical advice. Validate regulatory conclusions with official FDA sources and your compliance team.

### FAQ

#### Is this medical advice?

No. The actor exports public data and does not interpret safety, efficacy, approval, or prescribing decisions.

#### Can I export package NDCs?

Yes. Set `outputMode` to `packages` to save one row per package NDC with parent product metadata.

### Troubleshooting: no rows returned

If no rows are returned, your exact filter may be too narrow.

Try a broader `query`, remove date filters, or run with only `productType` and `maxItems` to confirm availability.

### Troubleshooting: openFDA syntax error

If you use `rawSearch`, openFDA may reject invalid Lucene syntax.

Remove `rawSearch` and use the friendly fields first.

### Related scrapers

Explore related Automation Lab actors for healthcare, compliance, and public-data workflows on Apify:

- https://apify.com/automation-lab/openfda-drug-ndc-directory-scraper
- https://apify.com/automation-lab

### Changelog

- 0.1 — Initial private build for official openFDA Drug NDC Directory product and package exports.

### Support

If a specific filter or workflow is missing, open an Apify issue with your input JSON and expected output shape.

### Data freshness

openFDA aggregates public FDA datasets. Refresh cadence depends on FDA/openFDA upstream data updates.

### Performance

This is an HTTP API actor and normally runs quickly with low memory. Large exports are bounded by `maxItems` and openFDA API availability.

### Reliability

The actor retries temporary 429 and 5xx API responses with exponential backoff.

### Best practices

Start with a small run, inspect the dataset, then increase `maxItems` for production exports.

### Example workflows

- NDC catalog enrichment.
- Labeler portfolio export.
- Package NDC pricing joins.
- Marketing-category monitoring.
- Drug reference QA.

### Field stability

Output field names are designed to remain stable after publication. Optional fields may be `null` when openFDA does not provide the value.

# Actor input Schema

## `query` (type: `string`):

Searches brand name, generic name, labeler name, product NDC, and package NDC fields.

## `ndcs` (type: `array`):

Optional product NDC or package NDC values to match exactly, e.g. 0002-0800 or 0002-0800-01.

## `brandName` (type: `string`):

Exact brand name filter using openFDA search syntax.

## `genericName` (type: `string`):

Exact generic/ingredient name filter.

## `labelerName` (type: `string`):

Exact labeler/manufacturer name filter.

## `marketingCategory` (type: `string`):

Examples: NDA, ANDA, OTC MONOGRAPH DRUG, UNAPPROVED DRUG OTHER.

## `dosageForm` (type: `string`):

Examples: TABLET, CAPSULE, SOLUTION, INJECTION.

## `productType` (type: `string`):

Examples: HUMAN PRESCRIPTION DRUG, HUMAN OTC DRUG.

## `finished` (type: `boolean`):

Set true for finished drugs or false for unfinished/bulk ingredient records.

## `marketingStartFrom` (type: `string`):

Inclusive YYYY-MM-DD lower bound for marketing\_start\_date.

## `marketingStartTo` (type: `string`):

Inclusive YYYY-MM-DD upper bound for marketing\_start\_date.

## `listingExpirationFrom` (type: `string`):

Inclusive YYYY-MM-DD lower bound for listing\_expiration\_date.

## `listingExpirationTo` (type: `string`):

Inclusive YYYY-MM-DD upper bound for listing\_expiration\_date.

## `rawSearch` (type: `string`):

Optional advanced Lucene search clause. It is ANDed with the friendly filters above.

## `outputMode` (type: `string`):

Use products for one row per NDC product, or packages for one row per package NDC.

## `maxItems` (type: `integer`):

Maximum dataset rows to save. Use at least 100 for production exports and cost measurement.

## `pageSize` (type: `integer`):

openFDA results requested per API call. Maximum 1000.

## Actor input object example

```json
{
  "query": "aspirin",
  "ndcs": [],
  "outputMode": "products",
  "maxItems": 20,
  "pageSize": 100
}
```

# Actor output Schema

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

No description

# 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 = {
    "query": "aspirin",
    "ndcs": [],
    "outputMode": "products",
    "maxItems": 20,
    "pageSize": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/openfda-drug-ndc-directory-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 = {
    "query": "aspirin",
    "ndcs": [],
    "outputMode": "products",
    "maxItems": 20,
    "pageSize": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/openfda-drug-ndc-directory-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 '{
  "query": "aspirin",
  "ndcs": [],
  "outputMode": "products",
  "maxItems": 20,
  "pageSize": 100
}' |
apify call automation-lab/openfda-drug-ndc-directory-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=automation-lab/openfda-drug-ndc-directory-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "openFDA Drug NDC Directory Scraper",
        "description": "Export official openFDA Drug NDC Directory product and package metadata by NDC, drug name, labeler, regulatory status, and dates.",
        "version": "0.1",
        "x-build-id": "VaGu9fdN9KwS0baZg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~openfda-drug-ndc-directory-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-openfda-drug-ndc-directory-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/automation-lab~openfda-drug-ndc-directory-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-openfda-drug-ndc-directory-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/automation-lab~openfda-drug-ndc-directory-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-openfda-drug-ndc-directory-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": {
                    "query": {
                        "title": "Free-text drug, NDC, or labeler query",
                        "type": "string",
                        "description": "Searches brand name, generic name, labeler name, product NDC, and package NDC fields."
                    },
                    "ndcs": {
                        "title": "Exact NDC values",
                        "type": "array",
                        "description": "Optional product NDC or package NDC values to match exactly, e.g. 0002-0800 or 0002-0800-01.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "brandName": {
                        "title": "Brand name",
                        "type": "string",
                        "description": "Exact brand name filter using openFDA search syntax."
                    },
                    "genericName": {
                        "title": "Generic name",
                        "type": "string",
                        "description": "Exact generic/ingredient name filter."
                    },
                    "labelerName": {
                        "title": "Labeler name",
                        "type": "string",
                        "description": "Exact labeler/manufacturer name filter."
                    },
                    "marketingCategory": {
                        "title": "Marketing category",
                        "type": "string",
                        "description": "Examples: NDA, ANDA, OTC MONOGRAPH DRUG, UNAPPROVED DRUG OTHER."
                    },
                    "dosageForm": {
                        "title": "Dosage form",
                        "type": "string",
                        "description": "Examples: TABLET, CAPSULE, SOLUTION, INJECTION."
                    },
                    "productType": {
                        "title": "Product type",
                        "type": "string",
                        "description": "Examples: HUMAN PRESCRIPTION DRUG, HUMAN OTC DRUG."
                    },
                    "finished": {
                        "title": "Finished products only",
                        "type": "boolean",
                        "description": "Set true for finished drugs or false for unfinished/bulk ingredient records."
                    },
                    "marketingStartFrom": {
                        "title": "Marketing start from",
                        "type": "string",
                        "description": "Inclusive YYYY-MM-DD lower bound for marketing_start_date."
                    },
                    "marketingStartTo": {
                        "title": "Marketing start to",
                        "type": "string",
                        "description": "Inclusive YYYY-MM-DD upper bound for marketing_start_date."
                    },
                    "listingExpirationFrom": {
                        "title": "Listing expiration from",
                        "type": "string",
                        "description": "Inclusive YYYY-MM-DD lower bound for listing_expiration_date."
                    },
                    "listingExpirationTo": {
                        "title": "Listing expiration to",
                        "type": "string",
                        "description": "Inclusive YYYY-MM-DD upper bound for listing_expiration_date."
                    },
                    "rawSearch": {
                        "title": "Raw openFDA search",
                        "type": "string",
                        "description": "Optional advanced Lucene search clause. It is ANDed with the friendly filters above."
                    },
                    "outputMode": {
                        "title": "Output mode",
                        "enum": [
                            "products",
                            "packages"
                        ],
                        "type": "string",
                        "description": "Use products for one row per NDC product, or packages for one row per package NDC.",
                        "default": "products"
                    },
                    "maxItems": {
                        "title": "Maximum rows",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Maximum dataset rows to save. Use at least 100 for production exports and cost measurement.",
                        "default": 100
                    },
                    "pageSize": {
                        "title": "API page size",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "openFDA results requested per API call. Maximum 1000.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
