# FDA Drug Labels Scraper (`automation-lab/fda-drug-labels-scraper`) Actor

Extract FDA SPL drug label records from openFDA with normalized warnings, indications, dosage, interactions, identifiers, and manufacturers.

- **URL**: https://apify.com/automation-lab/fda-drug-labels-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

from $0.03 / 1,000 fda label records

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 Drug Labels Scraper

Extract public FDA Structured Product Labeling (SPL) drug label records from the openFDA Drug Label API. This actor turns FDA JSON into clean dataset rows with label identifiers, brand and generic names, manufacturers, routes, active ingredients, warnings, indications, dosage, adverse reactions, drug interactions, and other sections that regulatory and healthcare teams need for repeatable analysis.

Use it when you need a no-browser, no-login FDA label extractor that can run by brand name, generic name, substance, manufacturer, SPL set ID, or a raw openFDA query.

### What does FDA Drug Labels Scraper do?

FDA Drug Labels Scraper queries `https://api.fda.gov/drug/label.json` and saves one dataset item per FDA drug label record.

It normalizes common SPL label sections so you do not need to parse the raw openFDA response yourself.

It can search broadly across available labels or narrowly retrieve specific SPL set IDs.

It includes raw openFDA identifiers when requested, which helps with downstream joins to NDC, RxNorm, or internal product catalogs.

### Who is it for?

- Pharma regulatory affairs teams monitoring label language.
- Pharmacovigilance analysts collecting warnings, contraindications, and adverse reactions.
- Healthcare data vendors enriching product databases with official label text.
- Compliance teams comparing label updates across manufacturers.
- SEO and medical content teams building safety, dosage, and interaction pages.
- Developers who need an API-friendly FDA drug label extractor in Apify workflows.

### Why use this actor?

openFDA is public, but the raw Drug Label API returns nested JSON that varies by product.

This actor gives you a stable output shape with common sections mapped into predictable fields.

It also handles pagination, input validation, optional API keys, and Apify dataset export formats.

Because the actor uses the public JSON API directly, it is fast, cheap, and does not require proxies or browser automation.

### Data source

The actor uses the official openFDA Drug Label endpoint.

Source endpoint:

`https://api.fda.gov/drug/label.json`

The data reflects records available through openFDA. Availability, completeness, and field names are controlled by openFDA and FDA source systems.

### Data you can extract

| Field | Description |
| --- | --- |
| `setId` | FDA SPL set identifier. |
| `splId` | Label document ID. |
| `effectiveTime` | Label effective date when provided. |
| `brandNames` | Brand names from `openfda.brand_name`. |
| `genericNames` | Generic/nonproprietary names. |
| `substanceNames` | Active substances from openFDA. |
| `manufacturerNames` | Manufacturer or labeler names. |
| `routes` | Administration routes such as ORAL or TOPICAL. |
| `activeIngredient` | Active ingredient label section. |
| `purpose` | Purpose section for OTC labels when available. |
| `indicationsAndUsage` | Indications and usage section. |
| `boxedWarning` | Boxed warning section. |
| `warnings` | Warnings section. |
| `dosageAndAdministration` | Dosage and administration section. |
| `contraindications` | Contraindications section. |
| `adverseReactions` | Adverse reactions section. |
| `drugInteractions` | Drug interactions section. |
| `sourceUrl` | Reproducible openFDA source query. |

### How much does it cost to scrape FDA drug labels?

This actor uses pay-per-event pricing.

- Start event: `$0.005` per run.
- FDA label record event (BRONZE): `$0.000041814` per saved label record, with lower per-record prices on higher Apify tiers.

The default input is intentionally modest for a cheap first run. Increase `maxItems` for production exports.

The platform pricing record is the billing source of truth.

### Input options

#### Raw openFDA search query

Use `searchQuery` for advanced openFDA syntax.

Example:

```json
{
  "searchQuery": "_exists_:openfda.brand_name",
  "maxItems": 100
}
````

#### Brand names

Use `brandNames` to match marketed brand names.

Example:

```json
{
  "brandNames": ["Advil", "Tylenol"],
  "maxItems": 50
}
```

#### Generic names

Use `genericNames` for nonproprietary names such as `ibuprofen` or `atorvastatin`.

#### Substance names

Use `substanceNames` when you need labels tied to a specific active substance.

#### Manufacturers

Use `manufacturers` to filter labels by labeler or manufacturer name.

#### SPL set IDs

Use `splSetIds` when you already know the exact FDA SPL set identifiers.

#### Route

Use `route` to filter by route, such as `ORAL`, `TOPICAL`, or `INTRAVENOUS`.

#### Optional openFDA API key

The actor works without a key for normal low-volume runs.

If you have higher throughput needs, add your openFDA API key in the secret `apiKey` input field.

### Example input: broad label export

```json
{
  "searchQuery": "_exists_:openfda.brand_name",
  "maxItems": 100,
  "includeRaw": true
}
```

### Example input: Advil labels

```json
{
  "brandNames": ["Advil"],
  "maxItems": 25,
  "includeRaw": true
}
```

### Example input: manufacturer monitoring

```json
{
  "manufacturers": ["Pfizer"],
  "route": "ORAL",
  "maxItems": 100
}
```

### Example output

```json
{
  "setId": "example-set-id",
  "splId": "example-document-id",
  "effectiveTime": "20240101",
  "brandNames": ["ADVIL"],
  "genericNames": ["IBUPROFEN"],
  "manufacturerNames": ["Example Labeler"],
  "routes": ["ORAL"],
  "activeIngredient": ["IBUPROFEN 200 mg"],
  "warnings": ["Stomach bleeding warning..."],
  "dosageAndAdministration": ["Adults and children 12 years and over..."],
  "sourceUrl": "https://api.fda.gov/drug/label.json?search=set_id:%22...%22",
  "scrapedAt": "2026-07-02T00:00:00.000Z"
}
```

### Tips for best results

Use exact brand, generic, or manufacturer names when you need focused exports.

Use raw openFDA syntax for complex regulatory monitoring queries.

Keep `maxItems` small while testing query syntax, then scale once the returned records look right.

Use `includeRaw` when you plan to join records to other FDA or drug reference datasets.

### Integrations

You can export the dataset to JSON, CSV, Excel, XML, or RSS from Apify.

Common workflows include:

- Send new label records to a data warehouse.
- Compare warnings and indications between manufacturers.
- Feed label sections into a pharmacovigilance review queue.
- Enrich product catalogs with official FDA text.
- Monitor label changes on a schedule with Apify tasks.

### API usage: Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/fda-drug-labels-scraper').call({
  searchQuery: '_exists_:openfda.brand_name',
  maxItems: 100,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);
```

### API usage: Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/fda-drug-labels-scraper').call(run_input={
    'brandNames': ['Advil'],
    'maxItems': 25,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items[0])
```

### API usage: cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~fda-drug-labels-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"searchQuery":"_exists_:openfda.brand_name","maxItems":100}'
```

### MCP integration

Use this actor from Claude Desktop, Claude Code, or any MCP-compatible client through Apify MCP.

MCP tool URL:

`https://mcp.apify.com/?tools=automation-lab/fda-drug-labels-scraper`

Claude Code setup:

```bash
claude mcp add apify https://mcp.apify.com/?tools=automation-lab/fda-drug-labels-scraper
```

Claude Desktop JSON config:

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

Example prompts:

- "Run the FDA Drug Labels Scraper for Advil and summarize boxed warnings."
- "Export 100 FDA drug label records with brand names and dosage sections."
- "Find labels from a specific manufacturer and list active ingredients."

### Scheduling and monitoring

Create an Apify task with your preferred query and schedule it daily, weekly, or monthly.

For label monitoring, store previous datasets and compare `setId`, `effectiveTime`, and section text.

For broad data refreshes, use `_exists_:openfda.brand_name` with a higher `maxItems` value.

### Limitations

The actor returns what openFDA returns. Some labels do not include every section.

Raw openFDA query syntax errors may produce API errors. Test advanced queries with small `maxItems` first.

The public API can rate-limit high-volume unauthenticated traffic. Use an openFDA API key for heavier workloads.

### Legality and compliance

This actor uses a public FDA API and does not bypass login, paywalls, or technical protections.

You are responsible for how you use, store, and interpret drug label data.

Do not treat extracted text as medical advice. Always verify critical regulatory or clinical decisions against official FDA sources.

### Related scrapers

Related Automation Lab actors may help with adjacent healthcare and regulatory workflows:

- `https://apify.com/automation-lab/fda-drug-shortages-scraper`
- `https://apify.com/automation-lab/openfda-ndc-directory-scraper`
- `https://apify.com/automation-lab/health-canada-drug-database-scraper`

### FAQ

#### Does this actor require an FDA API key?

No. It works with the public openFDA API without a key for normal runs. Add `apiKey` only if you need higher rate limits.

#### Can I scrape by SPL set ID?

Yes. Add one or more values to `splSetIds` to retrieve specific label families.

#### Why are some fields empty?

FDA label records vary. Not every SPL label contains boxed warnings, adverse reactions, pediatric use, or every other section.

#### Can I get raw openFDA identifiers?

Yes. Keep `includeRaw` enabled to include the raw `openfda` object.

#### What should I do if a raw query fails?

Start with one structured filter or a simple `_exists_` query, then add clauses gradually. openFDA query syntax is strict.

### Troubleshooting

If you get zero records, check spelling, capitalization, and whether your filter is too narrow.

If you get a rate-limit error, reduce run frequency or add an openFDA API key.

If your downstream export has long text fields, use JSON or Excel rather than narrow CSV viewers.

### Changelog

- `0.1.0` Initial private build for FDA Drug Label API extraction.

# Actor input Schema

## `searchQuery` (type: `string`):

Optional raw openFDA search syntax. Leave empty to combine the structured filters below. Example: *exists*:openfda.brand\_name

## `brandNames` (type: `array`):

FDA brand names to match, such as Advil, Tylenol, or Lipitor.

## `genericNames` (type: `array`):

Generic/nonproprietary drug names to match, such as ibuprofen or acetaminophen.

## `substanceNames` (type: `array`):

Active substance names in openFDA, such as IBUPROFEN.

## `manufacturers` (type: `array`):

Labeler or manufacturer names to match in openFDA manufacturer\_name.

## `splSetIds` (type: `array`):

Exact FDA SPL set\_id values to retrieve specific labels.

## `route` (type: `string`):

Optional route filter, for example ORAL, TOPICAL, INTRAVENOUS.

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

Maximum FDA label records to save to the dataset.

## `includeRaw` (type: `boolean`):

Include the raw openfda identifier object alongside normalized fields.

## `apiKey` (type: `string`):

Optional openFDA API key for higher rate limits. The public API also works without a key for normal runs.

## Actor input object example

```json
{
  "searchQuery": "_exists_:openfda.brand_name",
  "brandNames": [
    "Advil"
  ],
  "maxItems": 20,
  "includeRaw": true
}
```

# 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 = {
    "searchQuery": "_exists_:openfda.brand_name",
    "brandNames": [
        "Advil"
    ],
    "maxItems": 20,
    "includeRaw": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/fda-drug-labels-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 = {
    "searchQuery": "_exists_:openfda.brand_name",
    "brandNames": ["Advil"],
    "maxItems": 20,
    "includeRaw": True,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/fda-drug-labels-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 '{
  "searchQuery": "_exists_:openfda.brand_name",
  "brandNames": [
    "Advil"
  ],
  "maxItems": 20,
  "includeRaw": true
}' |
apify call automation-lab/fda-drug-labels-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FDA Drug Labels Scraper",
        "description": "Extract FDA SPL drug label records from openFDA with normalized warnings, indications, dosage, interactions, identifiers, and manufacturers.",
        "version": "0.1",
        "x-build-id": "iPI7d8V4QdK0oor2r"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~fda-drug-labels-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-fda-drug-labels-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~fda-drug-labels-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-fda-drug-labels-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~fda-drug-labels-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-fda-drug-labels-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": {
                    "searchQuery": {
                        "title": "Raw openFDA search query",
                        "type": "string",
                        "description": "Optional raw openFDA search syntax. Leave empty to combine the structured filters below. Example: _exists_:openfda.brand_name"
                    },
                    "brandNames": {
                        "title": "Brand names",
                        "type": "array",
                        "description": "FDA brand names to match, such as Advil, Tylenol, or Lipitor.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "genericNames": {
                        "title": "Generic names",
                        "type": "array",
                        "description": "Generic/nonproprietary drug names to match, such as ibuprofen or acetaminophen.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "substanceNames": {
                        "title": "Substance names",
                        "type": "array",
                        "description": "Active substance names in openFDA, such as IBUPROFEN.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "manufacturers": {
                        "title": "Manufacturer names",
                        "type": "array",
                        "description": "Labeler or manufacturer names to match in openFDA manufacturer_name.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "splSetIds": {
                        "title": "SPL set IDs",
                        "type": "array",
                        "description": "Exact FDA SPL set_id values to retrieve specific labels.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "route": {
                        "title": "Route",
                        "type": "string",
                        "description": "Optional route filter, for example ORAL, TOPICAL, INTRAVENOUS."
                    },
                    "maxItems": {
                        "title": "Maximum label records",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum FDA label records to save to the dataset.",
                        "default": 20
                    },
                    "includeRaw": {
                        "title": "Include raw openFDA identifiers",
                        "type": "boolean",
                        "description": "Include the raw openfda identifier object alongside normalized fields.",
                        "default": true
                    },
                    "apiKey": {
                        "title": "openFDA API key (optional)",
                        "type": "string",
                        "description": "Optional openFDA API key for higher rate limits. The public API also works without a key for normal runs."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
