# Pharos Target Druggability Scraper (`parseforge/pharos-target-druggability-scraper`) Actor

Look up drug-target druggability from the Pharos IDG knowledge base by gene symbol, or browse the top targets. Each record returns protein name, UniProt ID, target development level, protein family, novelty score, plus ligand and disease counts. Built for drug discovery and target triage.

- **URL**: https://apify.com/parseforge/pharos-target-druggability-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Developer tools, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.69 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🧬 Pharos Target Druggability Scraper

> 🚀 **Pull drug-target druggability data in one run.** Query the Pharos IDG knowledge base by gene symbol, or browse across its 20,000+ human protein targets.

> 🕒 **Last updated:** 2026-06-08 · **📊 Up to 17 fields** per record · 20,412 targets in source · no key required

Turn the Pharos / IDG knowledge base into clean, structured target records you can drop into a target triage spreadsheet, a druggability dashboard, or a drug discovery pipeline. Look up specific genes like ACE2, EGFR, or TP53, or leave the gene list empty to browse the catalog. Each record carries the core druggability signals: target development level, protein family, novelty score, and ligand and disease association counts.

Coverage is the human protein target set that Pharos publishes from the Target Central Resource Database (TCRD), the data backbone of the NIH Common Fund's Illuminating the Druggable Genome (IDG) program. The source holds 20,412 targets at the time of writing, each classified by its Target Development Level (Tclin, Tchem, Tbio, or Tdark).

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Drug discovery and target biology teams | Triage and rank candidate targets |
| Computational chemists and bioinformaticians | Seed a druggability database |
| Pharma and biotech analysts | Compare target development levels across a gene set |
| Academic researchers | Pull novelty and association data for a study |

### 📋 What the Pharos Target Druggability Scraper does

This Actor calls the public Pharos GraphQL API and returns one clean record per target:

- **By gene symbol** — provide a list of symbols (for example `ACE2`, `EGFR`, `TP53`) and get one record per matched target, including the full publication count.
- **Browse mode** — leave the gene list empty and the Actor walks the catalog from the top, returning targets in the order Pharos ranks them.

Optionally enrich each record with up to 25 associated ligand names (`includeLigands`) and up to 25 associated disease names (`includeDiseases`). You control how many records come back, and every record carries a `scrapedAt` timestamp.

### 🎬 Full Demo (_🚧 Coming soon_)

### ⚙️ Input

| Field | Type | Description |
|---|---|---|
| `targets` | array of strings | Gene symbols to look up, one record per match (for example `ACE2`, `EGFR`, `TP53`). Leave empty to browse the top targets instead. |
| `includeLigands` | boolean | Add a list of associated ligand and drug names to each record. Defaults to `false`. |
| `includeDiseases` | boolean | Add a list of associated disease names to each record. Defaults to `false`. |
| `maxItems` | integer | How many records to return. Free plan is capped at 10. |

**Example 1 — look up specific genes with enrichment**
```json
{
    "targets": ["ACE2", "EGFR", "TP53"],
    "includeLigands": true,
    "includeDiseases": true,
    "maxItems": 3
}
````

**Example 2 — browse the top targets**

```json
{
    "targets": [],
    "maxItems": 50
}
```

> ⚠️ **Good to Know:** `publicationCount` is returned when you look up targets by gene symbol. In browse mode the Pharos API does not resolve it, so it comes back as `null` there. Use gene symbol lookups when you need the publication count.

### 📊 Output

Each target record looks like this:

| Field | Description |
|---|---|
| 🧬 `name` | Protein name |
| 🏷 `sym` | Gene symbol |
| 🏷 `preferredSymbol` | Pharos preferred gene symbol |
| 🆔 `uniprot` | UniProt accession |
| 🎯 `tdl` | Target Development Level (Tclin, Tchem, Tbio, Tdark) |
| 👪 `fam` | Protein family (Enzyme, Kinase, TF, etc.) |
| ✨ `novelty` | Pharos novelty score (lower means more studied) |
| 🔢 `tcrdid` | TCRD internal target ID |
| 🔗 `url` | Pharos target page URL |
| 📝 `description` | Protein summary |
| 💊 `ligandCount` | Number of associated ligands |
| 💉 `drugCount` | Number of associated approved drugs |
| 🦠 `diseaseCount` | Number of associated diseases |
| 📚 `publicationCount` | Linked publications (gene symbol lookups only) |
| 🧾 `generifCount` | Number of GeneRIF annotations |
| 💊 `ligands` | Array of ligand names (when `includeLigands` is on) |
| 🦠 `diseases` | Array of disease names (when `includeDiseases` is on) |
| 🕒 `scrapedAt` | Collection timestamp |
| ❌ `error` | Null on success |

**Real sample — ACE2**

```json
{
    "name": "Angiotensin-converting enzyme 2",
    "sym": "ACE2",
    "preferredSymbol": "ACE2",
    "uniprot": "Q9BYF1",
    "tdl": "Tchem",
    "fam": "Enzyme",
    "novelty": 0.00028408,
    "tcrdid": 15313,
    "url": "https://pharos.ncats.io/targets/Q9BYF1",
    "ligandCount": 51,
    "drugCount": 0,
    "diseaseCount": 42,
    "publicationCount": 1037,
    "generifCount": 914,
    "scrapedAt": "2026-06-08T18:04:21.000Z",
    "error": null
}
```

**Real sample — EGFR**

```json
{
    "name": "Epidermal growth factor receptor",
    "sym": "EGFR",
    "preferredSymbol": "EGFR",
    "uniprot": "P00533",
    "tdl": "Tclin",
    "fam": "Kinase",
    "novelty": 0.00007274,
    "tcrdid": 1639,
    "url": "https://pharos.ncats.io/targets/P00533",
    "ligandCount": 2419,
    "drugCount": 26,
    "diseaseCount": 193,
    "publicationCount": 6235,
    "generifCount": 5676,
    "scrapedAt": "2026-06-08T18:04:25.000Z",
    "error": null
}
```

**Real sample — TP53**

```json
{
    "name": "Cellular tumor antigen p53",
    "sym": "TP53",
    "preferredSymbol": "TP53",
    "uniprot": "P04637",
    "tdl": "Tchem",
    "fam": "TF",
    "novelty": 0.00001907,
    "tcrdid": 18320,
    "url": "https://pharos.ncats.io/targets/P04637",
    "ligandCount": 14,
    "drugCount": 0,
    "diseaseCount": 305,
    "publicationCount": 10522,
    "generifCount": 9473,
    "scrapedAt": "2026-06-08T18:04:29.000Z",
    "error": null
}
```

### ✨ Why choose this Actor

- One clean record per target, with the druggability signals that matter for triage up front.
- Two modes in one Actor: precise gene lookups or a catalog browse.
- Optional ligand and disease name enrichment, expanded into plain arrays.
- No account, no key, and no login required.
- Stable field names that map cleanly onto a database schema.

### 📈 How it compares to alternatives

| Approach | Effort | Structured fields | Enrichment | Maintenance |
|---|---|---|---|---|
| This Actor | One run | Yes | Ligands and diseases | None on your side |
| Clicking through the Pharos UI | Hours | Manual copy | Manual | Constant |
| Writing your own GraphQL client | Days | Depends | You build it | You own the upkeep |

### 🚀 How to use

1. Create a free Apify account using [this sign-up link](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the Pharos Target Druggability Scraper.
3. Add gene symbols to `targets`, or leave it empty to browse the catalog.
4. Toggle `includeLigands` and `includeDiseases` if you want the enrichment, and set `maxItems`.
5. Click **Start** and grab your results when the run finishes.

### 💼 Business use cases

#### Drug discovery and target triage

| Goal | How this helps |
|---|---|
| Rank a gene panel by druggability | Compare `tdl`, `ligandCount`, and `drugCount` side by side |
| Spot understudied targets | Sort by `novelty` and `tdl` Tdark |

#### Computational biology

| Goal | How this helps |
|---|---|
| Seed a druggability database | Pull structured target records in bulk |
| Map targets to diseases | Use `diseaseCount` and the `diseases` array |

#### Competitive and portfolio analysis

| Goal | How this helps |
|---|---|
| Track which targets have approved drugs | Read `drugCount` per target |
| Profile a target class | Group by `fam` (Kinase, Enzyme, GPCR, TF) |

#### Research and reporting

| Goal | How this helps |
|---|---|
| Cite literature volume per target | Use `publicationCount` and `generifCount` |
| Build a target one-pager | Combine `description`, `url`, and association counts |

### 🔌 Automating Pharos Target Druggability Scraper

Connect runs to the tools you already use:

- **Make** and **Zapier** to trigger runs and route records into sheets or databases.
- **Slack** to post a summary when a run finishes.
- **Airbyte** to load results into a warehouse.
- **GitHub** Actions to schedule periodic snapshots.
- **Google Drive** to archive each run's output.

### 🌟 Beyond business use cases

- **Research:** assemble a druggability table for a paper or grant.
- **Personal:** explore the proteins behind a disease you care about.
- **Non-profit:** support open target discovery efforts.
- **Experimentation:** prototype a target-scoring app without writing a scraper.

### 🤖 Ask an AI assistant

Paste your results into [ChatGPT](https://chat.openai.com), [Claude](https://claude.ai), [Perplexity](https://www.perplexity.ai), or [Microsoft Copilot](https://copilot.microsoft.com) and ask it to rank targets by druggability, group them by family, or summarize the disease associations.

### ❓ Frequently Asked Questions

**Do I need a Pharos or NIH account?**
No. The Actor reads the public Pharos GraphQL API, which needs no login.

**Do I need an API key?**
No key is required.

**What is a Target Development Level (Tdl)?**
Pharos classifies each target as Tclin (has approved drugs), Tchem (has potent ligands), Tbio (studied biology), or Tdark (little known). It is returned in the `tdl` field.

**What does the novelty score mean?**
It is a Pharos metric where a lower value generally means the target is more studied. The Actor passes through the value the source provides.

**How many targets are in Pharos?**
At the time of writing, the API reports 20,412 targets.

**Can I look up several genes at once?**
Yes. Put each gene symbol in the `targets` list and you get one record per match.

**What happens if a gene symbol is not found?**
The Actor writes an error record for that symbol and continues with the rest.

**Why is publicationCount sometimes null?**
The Pharos API only resolves it in single-target gene lookups, not in browse mode. Look up by gene symbol to get it.

**Can I get ligands and diseases?**
Yes. Turn on `includeLigands` and `includeDiseases` to add up to 25 names each.

**How fresh is the data?**
Each run pulls live from Pharos, so it reflects the knowledge base at run time.

**Can I schedule this?**
Yes. Use Apify Schedules to snapshot the catalog on any cadence.

### 🔌 Integrate with any app

Results are available through the Apify API, so you can pull them into any app, database, or workflow you already run.

### 🔗 Recommended Actors

- [Have I Been Pwned Breaches Catalog Scraper](https://apify.com/parseforge)
- More reference and scientific data Actors in the [ParseForge collection](https://apify.com/parseforge)

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** independent tool, not affiliated with Pharos, NCATS, or the NIH. Only publicly available data is collected.

# Actor input Schema

## `targets` (type: `array`):

A list of gene symbols to look up, for example 'ACE2', 'EGFR', 'TP53'. One record is returned per matched target. Leave empty to browse the top targets instead.

## `includeLigands` (type: `boolean`):

Add a list of associated ligand and drug names to each target record. Adds extra requests, so runs take a little longer.

## `includeDiseases` (type: `boolean`):

Add a list of associated disease names to each target record. Adds extra requests, so runs take a little longer.

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## Actor input object example

```json
{
  "targets": [
    "ACE2",
    "EGFR",
    "TP53"
  ],
  "includeLigands": false,
  "includeDiseases": false,
  "maxItems": 10
}
```

# Actor output Schema

## `results` (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 = {
    "targets": [
        "ACE2",
        "EGFR",
        "TP53"
    ],
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/pharos-target-druggability-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 = {
    "targets": [
        "ACE2",
        "EGFR",
        "TP53",
    ],
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/pharos-target-druggability-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 '{
  "targets": [
    "ACE2",
    "EGFR",
    "TP53"
  ],
  "maxItems": 10
}' |
apify call parseforge/pharos-target-druggability-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/pharos-target-druggability-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Pharos Target Druggability Scraper",
        "description": "Look up drug-target druggability from the Pharos IDG knowledge base by gene symbol, or browse the top targets. Each record returns protein name, UniProt ID, target development level, protein family, novelty score, plus ligand and disease counts. Built for drug discovery and target triage.",
        "version": "0.1",
        "x-build-id": "OXRHNegtCeRl8pbQJ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~pharos-target-druggability-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-pharos-target-druggability-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/parseforge~pharos-target-druggability-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-pharos-target-druggability-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/parseforge~pharos-target-druggability-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-pharos-target-druggability-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": {
                    "targets": {
                        "title": "Gene symbols",
                        "type": "array",
                        "description": "A list of gene symbols to look up, for example 'ACE2', 'EGFR', 'TP53'. One record is returned per matched target. Leave empty to browse the top targets instead.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeLigands": {
                        "title": "Include ligand names",
                        "type": "boolean",
                        "description": "Add a list of associated ligand and drug names to each target record. Adds extra requests, so runs take a little longer.",
                        "default": false
                    },
                    "includeDiseases": {
                        "title": "Include disease names",
                        "type": "boolean",
                        "description": "Add a list of associated disease names to each target record. Adds extra requests, so runs take a little longer.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
