# Health Canada Drug Database Scraper (`automation-lab/health-canada-drug-database-scraper`) Actor

Extract official Health Canada DPD records: DINs, statuses, ingredients, routes, schedules, company names, ATC classes, and product URLs.

- **URL**: https://apify.com/automation-lab/health-canada-drug-database-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

## Health Canada Drug Database Scraper

Extract official Canadian Drug Product Database (DPD) records from Health Canada's public JSON API. The actor returns product rows with DINs, brands, company names, statuses, active ingredients, dosage forms, routes, schedules, therapeutic classes, and official product URLs.

Use it when you need repeatable Canada-specific drug master data without building and maintaining your own DPD API joining pipeline.

### What does Health Canada Drug Database Scraper do?

Health Canada Drug Database Scraper downloads structured records from the public Health Canada Drug Product Database API.

It starts with the official `drugproduct` endpoint and can join related DPD endpoints by `drug_code`.

The output is one normalized dataset row per drug product.

Each row includes identifiers, regulatory status, ingredient data, dosage form data, route data, schedule data, and provenance.

### Who is it for?

🧪 Regulatory affairs teams use it to monitor Canadian marketed, approved, dormant, or cancelled products.

💊 Pharma data teams use it to enrich internal drug master-data tables with DIN and DPD attributes.

🏥 Healthcare analytics teams use it to build formularies, product catalogs, and Canada-specific drug reference datasets.

🔁 Compliance operators use it for recurring checks instead of one-off manual CSV exports.

### Why use this actor?

The official source is public, structured, and maintained by Health Canada.

The actor saves you from writing endpoint loaders, retry logic, field normalization, and `drug_code` joins.

You can run a tiny brand/DIN lookup or a larger recurring monitoring job with the same input schema.

### Data source

The actor uses Health Canada's public API under:

`https://health-products.canada.ca/api/drug/`

It does not require a login, API key, browser automation, or proxy.

### What data can you extract?

| Field | Description |
|---|---|
| `drugCode` | Health Canada DPD drug code |
| `drugIdentificationNumber` | DIN, preserving leading zeros |
| `brandName` | Product brand name |
| `companyName` | Company associated with the product |
| `currentStatus` | Joined product status |
| `activeIngredients` | Ingredient names, strengths, and dosage units |
| `forms` | Pharmaceutical forms |
| `routes` | Routes of administration |
| `schedules` | Prescription / schedule data |
| `therapeuticClasses` | ATC number and class when available |
| `officialProductUrl` | Health Canada product detail URL |

### How much does it cost to scrape the Health Canada Drug Database?

The actor uses pay-per-event pricing.

There is a $0.005 start charge per run and a tiered per-item charge for each drug product saved.

Current BRONZE per-item price is $0.00002929 per DPD product row, with lower prices on higher Apify tiers.

Use filters and a reasonable `maxItems` value for low-cost targeted runs.

### Input options

- `language`: choose English or French source data.
- `maxItems`: cap the number of drug products saved.
- `includeRelatedData`: join related DPD endpoints into each product row.
- `drugCodes`: extract exact DPD drug codes.
- `dins`: extract exact DINs.
- `brandNames`: match brand-name substrings.
- `companyNames`: match company-name substrings.
- `statuses`: match statuses such as `Marketed`.
- `activeIngredientNames`: match active ingredient substrings.

### Example input: marketed Advil products

```json
{
  "language": "en",
  "maxItems": 50,
  "brandNames": ["ADVIL"],
  "statuses": ["Marketed"],
  "includeRelatedData": true
}
````

### Example input: active ingredient monitoring

```json
{
  "language": "en",
  "maxItems": 200,
  "activeIngredientNames": ["IBUPROFEN"],
  "includeRelatedData": true
}
```

### Example output

```json
{
  "drugCode": 12345,
  "drugIdentificationNumber": "00000000",
  "brandName": "EXAMPLE BRAND",
  "companyName": "EXAMPLE COMPANY",
  "currentStatus": "Marketed",
  "activeIngredients": [
    { "name": "IBUPROFEN", "strength": "200", "strengthUnit": "MG", "dosageValue": null, "dosageUnit": null }
  ],
  "forms": ["Tablet"],
  "routes": ["Oral"],
  "schedules": ["PRESCRIPTION"],
  "officialProductUrl": "https://health-products.canada.ca/dpd-bdpp/info?lang=en&code=12345",
  "language": "en"
}
```

### How to run it

1. Open the actor on Apify.
2. Choose your language and filters.
3. Keep `includeRelatedData` enabled when you need enriched product rows.
4. Set `maxItems` to your desired limit.
5. Run the actor and export the dataset as JSON, CSV, Excel, or via API.

### Tips for better results

Use DIN filters for exact product lookups.

Use brand-name filters for product families.

Use status filters for monitoring only marketed or only cancelled products.

Use active ingredient filters for recurring ingredient-level surveillance.

Disable related data only when you need a faster raw product list.

### Integrations

Send the dataset to Google Sheets for regulatory review queues.

Load JSON output into BigQuery, Snowflake, or Postgres for drug master-data enrichment.

Use Apify webhooks to trigger Slack, email, or downstream ETL jobs after each monitoring run.

Connect this actor with internal formularies or product-catalog workflows.

### 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/health-canada-drug-database-scraper').call({
  language: 'en',
  maxItems: 100,
  statuses: ['Marketed'],
  includeRelatedData: true,
});

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

### API usage with Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/health-canada-drug-database-scraper').call(run_input={
    'language': 'en',
    'maxItems': 100,
    'statuses': ['Marketed'],
    'includeRelatedData': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items[0])
```

### API usage with cURL

```bash
curl "https://api.apify.com/v2/acts/automation-lab~health-canada-drug-database-scraper/runs?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"language":"en","maxItems":100,"statuses":["Marketed"],"includeRelatedData":true}'
```

### MCP for Claude and other clients

Use Apify MCP to run the actor from Claude Desktop, Claude Code, or other MCP clients.

MCP URL:

`https://mcp.apify.com/?tools=automation-lab/health-canada-drug-database-scraper`

Claude Code setup:

```bash
claude mcp add apify-health-canada-drugs "https://mcp.apify.com/?tools=automation-lab/health-canada-drug-database-scraper"
```

Claude Desktop JSON configuration:

```json
{
  "mcpServers": {
    "apify-health-canada-drugs": {
      "url": "https://mcp.apify.com/?tools=automation-lab/health-canada-drug-database-scraper"
    }
  }
}
```

Example prompts:

- "Run the Health Canada Drug Database scraper for marketed ibuprofen products and summarize the output."
- "Extract DIN records for this brand and compare the current statuses."
- "Create a weekly monitoring workflow for dormant Canadian drug products."

### Data freshness

The actor fetches data live from the Health Canada API during each run.

Freshness depends on Health Canada's upstream DPD update cadence.

The output includes `lastUpdateDate` from the source and `scrapedAt` from the actor run.

### Limitations

The actor returns data available in the public DPD API.

It does not infer medical advice, clinical equivalence, pricing, patents, recalls, or availability outside the DPD fields.

Very broad runs can return many products, so use `maxItems` deliberately.

### Legality

This actor uses a public government data API and does not bypass login walls or collect personal data.

You are responsible for using the data according to Health Canada's terms and your local compliance requirements.

The dataset should not be treated as medical advice.

### Troubleshooting

If you get fewer records than expected, check whether your filters are too narrow.

If a DIN search returns nothing, preserve leading zeros and pass DINs as strings.

If related arrays are empty, confirm `includeRelatedData` is set to `true`.

### FAQ

#### Can I scrape all DPD products?

Yes. Set a high `maxItems` and leave filters empty. For cost control, start with a smaller test run first.

#### Does it support French?

Yes. Set `language` to `fr` to request French API responses and product URLs.

#### Does it need a proxy?

No. The actor uses the official public JSON API over normal HTTP requests.

#### Can I monitor only marketed products?

Yes. Set `statuses` to `["Marketed"]`.

### Related scrapers

You may also need other automation-lab healthcare or regulatory actors when available:

- `https://apify.com/automation-lab/openfda-scraper`
- `https://apify.com/automation-lab/clinical-trials-fda-scraper`
- `https://apify.com/automation-lab/fda-device-recalls`

### Support

If you need a field from another Health Canada endpoint, open an Apify issue with the endpoint name and an example product.

### Changelog

Initial version extracts Health Canada DPD products and joins related public API endpoints by `drug_code`.

# Actor input Schema

## `language` (type: `string`):

Language for Health Canada API responses and official product URLs.

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

Maximum number of matching drug product rows to save to the dataset.

## `includeRelatedData` (type: `boolean`):

Include active ingredients, forms, routes, schedules, packaging, standards, therapeutic classes, and veterinary species joined by drug\_code.

## `drugCodes` (type: `array`):

Optional exact Health Canada drug\_code values to extract.

## `dins` (type: `array`):

Optional exact DIN values, including leading zeros, for targeted extraction.

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

Optional case-insensitive brand-name substrings, for example Advil or Tylenol.

## `companyNames` (type: `array`):

Optional case-insensitive company-name substrings.

## `statuses` (type: `array`):

Optional exact status names such as Marketed, Dormant, Cancelled Post Market, or Approved.

## `activeIngredientNames` (type: `array`):

Optional case-insensitive active ingredient substrings joined from the DPD activeingredient endpoint.

## Actor input object example

```json
{
  "language": "en",
  "maxItems": 20,
  "includeRelatedData": true,
  "drugCodes": [],
  "dins": [],
  "brandNames": [
    "ADVIL"
  ],
  "companyNames": [],
  "statuses": [
    "Marketed"
  ],
  "activeIngredientNames": []
}
```

# 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 = {
    "language": "en",
    "maxItems": 20,
    "includeRelatedData": true,
    "drugCodes": [],
    "dins": [],
    "brandNames": [
        "ADVIL"
    ],
    "companyNames": [],
    "statuses": [
        "Marketed"
    ],
    "activeIngredientNames": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/health-canada-drug-database-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 = {
    "language": "en",
    "maxItems": 20,
    "includeRelatedData": True,
    "drugCodes": [],
    "dins": [],
    "brandNames": ["ADVIL"],
    "companyNames": [],
    "statuses": ["Marketed"],
    "activeIngredientNames": [],
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/health-canada-drug-database-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 '{
  "language": "en",
  "maxItems": 20,
  "includeRelatedData": true,
  "drugCodes": [],
  "dins": [],
  "brandNames": [
    "ADVIL"
  ],
  "companyNames": [],
  "statuses": [
    "Marketed"
  ],
  "activeIngredientNames": []
}' |
apify call automation-lab/health-canada-drug-database-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Health Canada Drug Database Scraper",
        "description": "Extract official Health Canada DPD records: DINs, statuses, ingredients, routes, schedules, company names, ATC classes, and product URLs.",
        "version": "0.1",
        "x-build-id": "5KffaQFDicDxNxmOi"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~health-canada-drug-database-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-health-canada-drug-database-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~health-canada-drug-database-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-health-canada-drug-database-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~health-canada-drug-database-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-health-canada-drug-database-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": {
                    "language": {
                        "title": "API language",
                        "enum": [
                            "en",
                            "fr"
                        ],
                        "type": "string",
                        "description": "Language for Health Canada API responses and official product URLs.",
                        "default": "en"
                    },
                    "maxItems": {
                        "title": "Maximum drug products",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of matching drug product rows to save to the dataset.",
                        "default": 20
                    },
                    "includeRelatedData": {
                        "title": "Join related DPD endpoints",
                        "type": "boolean",
                        "description": "Include active ingredients, forms, routes, schedules, packaging, standards, therapeutic classes, and veterinary species joined by drug_code.",
                        "default": true
                    },
                    "drugCodes": {
                        "title": "Drug codes",
                        "type": "array",
                        "description": "Optional exact Health Canada drug_code values to extract.",
                        "items": {
                            "type": "integer"
                        }
                    },
                    "dins": {
                        "title": "Drug Identification Numbers (DINs)",
                        "type": "array",
                        "description": "Optional exact DIN values, including leading zeros, for targeted extraction.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "brandNames": {
                        "title": "Brand name contains",
                        "type": "array",
                        "description": "Optional case-insensitive brand-name substrings, for example Advil or Tylenol.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "companyNames": {
                        "title": "Company name contains",
                        "type": "array",
                        "description": "Optional case-insensitive company-name substrings.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "statuses": {
                        "title": "Product statuses",
                        "type": "array",
                        "description": "Optional exact status names such as Marketed, Dormant, Cancelled Post Market, or Approved.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "activeIngredientNames": {
                        "title": "Active ingredient contains",
                        "type": "array",
                        "description": "Optional case-insensitive active ingredient substrings joined from the DPD activeingredient endpoint.",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
