# PubMed Search Scraper (`fetch_cat/pubmed-search-scraper`) Actor

Search PubMed and export public article metadata, abstracts, authors, journals, DOI, MeSH terms, and keywords.

- **URL**: https://apify.com/fetch\_cat/pubmed-search-scraper.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.03 / 1,000 pubmed articles

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

## PubMed Search Scraper

Search PubMed and export structured article metadata for literature monitoring, biomedical research, competitive intelligence, and medical AI workflows.

### What does PubMed Search Scraper do?

PubMed Search Scraper turns a PubMed query into a clean dataset of public biomedical literature records.

It can collect article titles, PMIDs, abstracts, authors, journals, publication dates, DOI values, article types, MeSH terms, keywords, language, source query, and PubMed URLs.

Use it when you need repeatable literature search exports without manually copying results from PubMed.

### Who is it for?

🧬 Biomedical researchers can monitor new publications for a disease, drug class, method, or intervention.

🏥 Healthcare analysts can build evidence datasets for market intelligence and clinical landscape reports.

💊 Pharma and biotech teams can track competitor research, biomarkers, indications, trial publications, and review articles.

📚 Librarians and research-support teams can automate recurring literature search exports for departments or patrons.

🤖 Medical AI teams can collect public article metadata for retrieval, evaluation, and knowledge-base workflows.

### Why use this PubMed scraper?

✅ Public PubMed data, ready as JSON, CSV, Excel, or API output.

✅ Search by keyword, author, journal, date range, and article type.

✅ Optional abstract and subject-term enrichment.

✅ Stable PubMed article URLs and PMID identifiers.

✅ Built for recurring searches and monitoring jobs.

### What data can you extract?

| Field | Description |
| --- | --- |
| `pmid` | PubMed identifier |
| `articleTitle` | Article title |
| `abstract` | Abstract text when available |
| `authors` | Author names |
| `journal` | Journal or source name |
| `publicationDate` | Publication date from PubMed |
| `doi` | DOI when PubMed provides one |
| `articleTypes` | Publication types such as Review or Clinical Trial |
| `meshTerms` | MeSH descriptor terms |
| `keywords` | Author or index keywords |
| `language` | Article language code |
| `url` | Public PubMed article URL |
| `sourceQuery` | The query you submitted |
| `scrapedAt` | Timestamp of extraction |

### How much does it cost to scrape PubMed search results?

This actor uses pay-per-event pricing.

You pay a small run-start fee plus a per-article charge for each PubMed article saved to the dataset.

The default prefilled run is intentionally small so you can test output quality at low cost.

For larger recurring literature monitoring jobs, use `maxItems` to control volume.

### How to scrape PubMed articles

1. Open the actor on Apify.
2. Enter a PubMed query such as `cancer immunotherapy`.
3. Choose how many articles to collect.
4. Optionally add author, journal, publication date, or article type filters.
5. Keep `includeAbstracts` enabled if you need abstracts, MeSH terms, and keywords.
6. Run the actor.
7. Download the dataset as JSON, CSV, Excel, XML, or HTML table.

### Input options

#### `query`

Required. The PubMed search query.

Examples:

- `cancer immunotherapy`
- `machine learning radiology`
- `long covid treatment`
- `asthma children randomized trial`

#### `maxItems`

Maximum number of PubMed articles to save.

Use a small value for testing and a larger value for production monitoring.

#### `sort`

Choose relevance, publication date, most recent, first author, or journal ordering.

#### `dateRange`

Choose any time, last 1 year, last 5 years, last 10 years, or custom.

#### `minDate` and `maxDate`

Optional custom publication date bounds.

Accepted formats are `YYYY`, `YYYY/MM`, or `YYYY/MM/DD`.

#### `journal`

Optional journal filter.

Example: `Nature Medicine`.

#### `author`

Optional author filter.

Example: `Smith J`.

#### `articleType`

Optional publication type filter.

Examples: `Review`, `Clinical Trial`, `Meta-Analysis`, `Randomized Controlled Trial`, `Case Reports`.

#### `includeAbstracts`

When enabled, the actor includes abstracts, article types, MeSH terms, keywords, and language when available.

Turn it off for faster metadata-only exports.

### Example input

```json
{
  "query": "cancer immunotherapy",
  "maxItems": 25,
  "sort": "relevance",
  "dateRange": "5_years",
  "includeAbstracts": true
}
````

### Example output

```json
{
  "pmid": "42387269",
  "articleTitle": "Example PubMed article title",
  "abstract": "Abstract text when available.",
  "authors": ["Doe J", "Smith A"],
  "journal": "Journal Name",
  "publicationDate": "2026 Jul",
  "doi": "10.1000/example",
  "articleTypes": ["Journal Article"],
  "meshTerms": ["Neoplasms"],
  "keywords": ["immunotherapy"],
  "language": "eng",
  "url": "https://pubmed.ncbi.nlm.nih.gov/42387269/",
  "sourceQuery": "cancer immunotherapy",
  "scrapedAt": "2026-07-02T00:00:00.000Z"
}
```

### Tips for better PubMed searches

🔎 Start broad, then add filters after checking result volume.

📅 Use a date range for recurring monitoring jobs.

🧑‍🔬 Use the author filter when tracking a specific researcher.

📖 Use the journal filter for targeted journal surveillance.

🏷️ Use article type filters to focus on reviews, trials, meta-analyses, or case reports.

### Common use cases

- Weekly literature monitoring for disease areas.
- Competitive intelligence for pharma pipelines.
- Review article discovery for evidence summaries.
- Clinical trial publication tracking.
- Journal-specific monitoring.
- Author publication tracking.
- Dataset creation for medical NLP and retrieval workflows.
- DOI and PMID enrichment for internal bibliographies.

### Integrations

Use PubMed Search Scraper with Apify datasets, webhooks, API clients, scheduled tasks, and downstream automation tools.

Typical workflows include:

- Schedule a weekly PubMed query and send new results to a database.
- Export CSV files for analysts and librarians.
- Feed article metadata into a vector database or RAG pipeline.
- Trigger a webhook when new literature-monitoring results are ready.
- Combine PubMed metadata with your internal tagging or review workflow.

### API usage

#### Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/pubmed-search-scraper').call({
  query: 'cancer immunotherapy',
  maxItems: 25,
  includeAbstracts: true,
});

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

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('fetch_cat/pubmed-search-scraper').call(run_input={
    'query': 'cancer immunotherapy',
    'maxItems': 25,
    'includeAbstracts': True,
})

items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~pubmed-search-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"query":"cancer immunotherapy","maxItems":25,"includeAbstracts":true}'
```

### MCP integration

You can use this actor from Claude and other MCP-compatible tools through the Apify MCP server.

MCP server URL format:

```text
https://mcp.apify.com/?tools=fetch_cat/pubmed-search-scraper
```

Add it in Claude Code:

```bash
claude mcp add apify-pubmed "https://mcp.apify.com/?tools=fetch_cat/pubmed-search-scraper"
```

Claude Desktop JSON configuration:

```json
{
  "mcpServers": {
    "apify-pubmed": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.apify.com/?tools=fetch_cat/pubmed-search-scraper"]
    }
  }
}
```

Example prompts:

- "Search PubMed for the latest reviews about long COVID treatment and summarize the journals represented."
- "Collect 50 PubMed records for machine learning radiology from the last five years."
- "Find clinical trial publications about GLP-1 obesity treatment and return DOI values."

### Scheduling

Create an Apify schedule to run the same PubMed query daily, weekly, or monthly.

This is useful for literature alerts, competitor monitoring, or ongoing evidence reviews.

### Data freshness

PubMed is updated continuously by the source.

Each run searches the current public PubMed index and records a `scrapedAt` timestamp.

### Limits and reliability

The actor uses public PubMed records and conservative request pacing.

Very broad queries can have hundreds of thousands of matches, so set `maxItems` to the volume you actually need.

If an abstract, DOI, MeSH term, or keyword is missing, it usually means PubMed does not provide that field for the article.

### FAQ and troubleshooting

#### Why did I get fewer results than `maxItems`?

Your query and filters may have fewer matching PubMed records than requested.

Try removing restrictive filters or broadening the query.

#### Why is the abstract empty for some articles?

Not every PubMed record has an abstract available.

Some records are citations, editorials, corrections, or older articles without abstract text.

#### Why is DOI empty?

PubMed does not provide DOI values for every record.

Use the PMID and PubMed URL as stable identifiers when DOI is unavailable.

### Legality and responsible use

This actor extracts publicly available PubMed metadata.

You are responsible for using the data in compliance with PubMed, NCBI, Apify, and applicable laws and policies.

Do not use scraped data for unlawful, misleading, or privacy-invasive purposes.

### Related actors and scrapers

Explore related research and monitoring actors from the same publisher:

- [ArXiv Paper Search Scraper](https://apify.com/fetch_cat/arxiv-paper-search-scraper) for academic preprint monitoring.
- [Google Patents Search Scraper](https://apify.com/fetch_cat/google-patents-search-scraper) for patent landscape research.
- [GitHub Repository Search Scraper](https://apify.com/fetch_cat/github-repository-search-scraper) for software and open-source discovery.

### Changelog

#### 0.1

Initial version with PubMed search, metadata extraction, optional abstract enrichment, filters, and structured dataset output.

### Support

If a run does not behave as expected, open an issue with your input, run ID, and a short description of what you expected to receive.

### Notes

PubMed terminology can be specialized.

For best results, test your query in PubMed first, then use the same query in this actor with a suitable `maxItems` value.

# Actor input Schema

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

PubMed search query. You can use keywords, phrases, MeSH terms, PMID-like terms, or Boolean operators supported by PubMed.

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

Maximum number of PubMed articles to save to the dataset.

## `sort` (type: `string`):

Order used by PubMed search.

## `includeAbstracts` (type: `boolean`):

Fetch abstract text, article types, MeSH terms, keywords, and language for each article. Turn off for faster metadata-only runs.

## `dateRange` (type: `string`):

Optional preset date filter. Choose Custom when using minimum or maximum dates below.

## `minDate` (type: `string`):

Optional minimum publication date for custom range. Accepted formats: YYYY, YYYY/MM, or YYYY/MM/DD.

## `maxDate` (type: `string`):

Optional maximum publication date for custom range. Accepted formats: YYYY, YYYY/MM, or YYYY/MM/DD.

## `journal` (type: `string`):

Optional journal name filter, for example The Lancet or Nature Medicine.

## `author` (type: `string`):

Optional author name filter, for example Smith J.

## `articleType` (type: `string`):

Optional article type, for example Review, Clinical Trial, Meta-Analysis, Randomized Controlled Trial, or Case Reports.

## Actor input object example

```json
{
  "query": "cancer immunotherapy",
  "maxItems": 10,
  "sort": "relevance",
  "includeAbstracts": true,
  "dateRange": "any"
}
```

# Actor output Schema

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

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "query": "cancer immunotherapy",
    "maxItems": 10,
    "sort": "relevance",
    "includeAbstracts": true,
    "dateRange": "any"
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/pubmed-search-scraper").call(input);

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "query": "cancer immunotherapy",
    "maxItems": 10,
    "sort": "relevance",
    "includeAbstracts": True,
    "dateRange": "any",
}

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/pubmed-search-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "query": "cancer immunotherapy",
  "maxItems": 10,
  "sort": "relevance",
  "includeAbstracts": true,
  "dateRange": "any"
}' |
apify call fetch_cat/pubmed-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "PubMed Search Scraper",
        "description": "Search PubMed and export public article metadata, abstracts, authors, journals, DOI, MeSH terms, and keywords.",
        "version": "0.1",
        "x-build-id": "Kzf2zhJfRZJG51fzq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fetch_cat~pubmed-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fetch_cat-pubmed-search-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/fetch_cat~pubmed-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-fetch_cat-pubmed-search-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/fetch_cat~pubmed-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-fetch_cat-pubmed-search-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",
                "required": [
                    "query"
                ],
                "properties": {
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "PubMed search query. You can use keywords, phrases, MeSH terms, PMID-like terms, or Boolean operators supported by PubMed."
                    },
                    "maxItems": {
                        "title": "Maximum articles",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of PubMed articles to save to the dataset.",
                        "default": 10
                    },
                    "sort": {
                        "title": "Sort order",
                        "enum": [
                            "relevance",
                            "pub_date",
                            "most_recent",
                            "first_author",
                            "journal"
                        ],
                        "type": "string",
                        "description": "Order used by PubMed search.",
                        "default": "relevance"
                    },
                    "includeAbstracts": {
                        "title": "Include abstracts and subject terms",
                        "type": "boolean",
                        "description": "Fetch abstract text, article types, MeSH terms, keywords, and language for each article. Turn off for faster metadata-only runs.",
                        "default": true
                    },
                    "dateRange": {
                        "title": "Publication date range",
                        "enum": [
                            "any",
                            "1_year",
                            "5_years",
                            "10_years",
                            "custom"
                        ],
                        "type": "string",
                        "description": "Optional preset date filter. Choose Custom when using minimum or maximum dates below.",
                        "default": "any"
                    },
                    "minDate": {
                        "title": "Minimum publication date",
                        "type": "string",
                        "description": "Optional minimum publication date for custom range. Accepted formats: YYYY, YYYY/MM, or YYYY/MM/DD."
                    },
                    "maxDate": {
                        "title": "Maximum publication date",
                        "type": "string",
                        "description": "Optional maximum publication date for custom range. Accepted formats: YYYY, YYYY/MM, or YYYY/MM/DD."
                    },
                    "journal": {
                        "title": "Journal filter",
                        "type": "string",
                        "description": "Optional journal name filter, for example The Lancet or Nature Medicine."
                    },
                    "author": {
                        "title": "Author filter",
                        "type": "string",
                        "description": "Optional author name filter, for example Smith J."
                    },
                    "articleType": {
                        "title": "Article type filter",
                        "type": "string",
                        "description": "Optional article type, for example Review, Clinical Trial, Meta-Analysis, Randomized Controlled Trial, or Case Reports."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
