# IBKR Shortable Stocks Scraper (`stdevi/ibkr-shortable-stocks-scraper`) Actor

Scrape short borrow rates, fees, and shares-available data from Interactive Brokers across global stock exchanges including US, UK, Germany, Japan, and Hong Kong. For short sellers, quant traders, and AI agents. Export as JSON or CSV, run via API, schedule, or integrate with other tools.

- **URL**: https://apify.com/stdevi/ibkr-shortable-stocks-scraper.md
- **Developed by:** [Stanislav Deviatykh](https://apify.com/stdevi) (community)
- **Categories:** Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.20 / 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.

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

## 📈 IBKR Shortable Stocks Scraper

Get short borrow rates, fee rates, and shares available across **18 global stock exchanges** from Interactive Brokers' Securities Lending & Borrowing (SLB) system. Fresh data, clean JSON, ready for trading systems, quant research, and AI agents.

---

#### What does IBKR Shortable Stocks Scraper do?

Short selling a stock requires borrowing shares — and the cost of borrowing varies wildly. A boring blue-chip might cost 0.25% per year to short; a hard-to-borrow meme stock can cost 50%+. Knowing the actual borrow rate and shares available **before placing a trade** is the difference between a profitable short and a bleeding position.

This Actor pulls data directly from Interactive Brokers' public Securities Lending & Borrowing feed — the same data shown to logged-in IBKR clients — and delivers it as clean, structured JSON. Coverage spans 18 stock exchanges globally, far beyond the US-only focus of most free alternatives.

**No IBKR account required. No TWS installation. Just JSON, on demand.**

---

#### What data does the Actor extract?

| Field | Description |
| --- | --- |
| 🔤 `symbol` | Ticker (or IBKR internal code for delisted/unlisted securities) |
| 💱 `currency` | Trading currency (USD, EUR, JPY, etc.) |
| 🏢 `name` | Full company name |
| 🆔 `contractId` | IBKR's internal contract ID — joins with TWS API |
| 🌐 `isin` | International Securities Identification Number |
| 💸 `rebateRate` | Interest earned on short proceeds (% annualized) |
| 💰 `feeRate` | Cost to borrow shares (% annualized) — **the money column** |
| 📊 `available` | Shares available to short |
| 📐 `availableIsLowerBound` | `true` when IBKR reports "more than" rather than an exact figure |
| 🔖 `figi` | Bloomberg-compatible global identifier |
| 🌍 `country` | Source country code |
| ⏰ `fetchedAt` | When this Actor ran (ISO 8601, UTC) |
| 🕐 `fileTimestamp` | When IBKR generated the source snapshot (ISO 8601, UTC) |

---

#### Markets covered

**Americas** — 🇺🇸 United States · 🇨🇦 Canada · 🇲🇽 Mexico

**Europe** — 🇬🇧 United Kingdom · 🇩🇪 Germany · 🇫🇷 France · 🇳🇱 Netherlands · 🇨🇭 Switzerland · 🇮🇹 Italy · 🇸🇪 Sweden · 🇪🇸 Spain · 🇧🇪 Belgium · 🇦🇹 Austria

**Asia-Pacific** — 🇯🇵 Japan · 🇭🇰 Hong Kong · 🇦🇺 Australia · 🇮🇳 India · 🇸🇬 Singapore

**18 markets** in a single Actor. Most alternatives focus on the US only.

---

#### Who is this Actor for?

- **Short sellers** verifying that a stock is borrowable and the fee won't eat the trade
- **Quant traders and hedge funds** programmatically screening short candidates and feeding borrow data into systematic strategies
- **Risk managers** monitoring sudden fee spikes that signal short-squeeze risk
- **Backtesters** making short strategies realistic by including real historical borrow costs
- **AI trading agents** calling this Actor as a tool via Apify's MCP server for natural-language queries
- **Locate researchers** building daily snapshots of borrow availability across global markets

---

#### Input

The Actor accepts a JSON input with the following fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `countries` | array of strings | yes | Country codes to fetch. See list below. |
| `symbols` | array of strings | optional | If provided, returns only rows matching these tickers |
| `minAvailable` | integer | optional | Filter out stocks with fewer shares available than this |
| `maxFeeRate` | number | optional | Filter out stocks with borrow fees above this percentage |

**Available country codes:** `usa`, `can`, `mx`, `gb`, `de`, `fr`, `nl`, `ch`, `it`, `se`, `es`, `be`, `at`, `aus`, `jp`, `hk`, `in`, `sg`

##### Example input — daily US scrape

```json
{
  "countries": ["usa"]
}
````

##### Example input — hard-to-borrow stocks in US and UK

```json
{
  "countries": ["usa", "gb"],
  "maxFeeRate": 50,
  "minAvailable": 10000
}
```

##### Example input — specific symbols only

```json
{
  "countries": ["usa"],
  "symbols": ["AA", "GME", "AMC"]
}
```

***

#### Output

Results are pushed to a dataset, with one row per stock per country snapshot. Exportable as JSON, CSV, Excel, XML, or HTML.

##### Example output — easy to borrow (cheap, plentiful)

```json
{
  "symbol": "AA",
  "currency": "USD",
  "name": "ALCOA CORP",
  "contractId": "251962528",
  "isin": null,
  "rebateRate": 3.38,
  "feeRate": 0.25,
  "available": 4500000,
  "availableIsLowerBound": false,
  "figi": "BBG00B3T3HD3",
  "country": "usa",
  "fetchedAt": "2026-05-14T11:35:52.585Z",
  "fileTimestamp": "2026-05-14T11:31:25.000Z"
}
```

##### Example output — hard to borrow (expensive, scarce)

```json
{
  "symbol": "3WM",
  "currency": "EUR",
  "name": "WESTERN MAGNESIUM CORP",
  "contractId": "603515870",
  "isin": null,
  "rebateRate": -14.8569,
  "feeRate": 16.7859,
  "available": 300,
  "availableIsLowerBound": false,
  "figi": "BBG000KYNJF9",
  "country": "usa",
  "fetchedAt": "2026-05-14T11:35:52.585Z",
  "fileTimestamp": "2026-05-14T11:31:25.000Z"
}
```

Notice the **negative rebate** and **16.79% annual fee** — that's IBKR signaling "this is dangerous to short, and we'll charge you accordingly."

***

#### Why this Actor?

|  | This Actor | Free web alternatives | Official IBKR TWS API |
| --- | --- | --- | --- |
| Programmatic access | Yes (JSON over HTTP) | No (HTML only) | Yes (with software) |
| No IBKR account required | Yes | Yes | No |
| No software install required | Yes | Yes | No (TWS / IB Gateway) |
| Multi-country coverage | 18 markets | US-focused | Yes |
| Clean structured JSON | Yes | No | Partial (TWS format) |
| Bloomberg FIGI included | Yes | No | No |
| Historical snapshots | Yes (schedule daily) | No | No |
| AI agent–ready (MCP) | Yes | No | No |
| Built-in filters | Yes | No | DIY |

***

#### Use cases

**Pre-trade locate research.** Run with a `symbols` filter pre-market to check borrow availability and fee for shorting candidates. Skip names with insufficient supply.

**Hard-to-borrow alerts.** Schedule daily with `maxFeeRate: 5` to spot stocks where IBKR's fee just spiked. Sudden jumps are often early signals of short-squeeze risk.

**Multi-market arbitrage.** Compare borrow costs for the same security across US, UK, and Hong Kong listings. ADR vs. local-listing borrow differentials are real opportunities.

**Strategy backtesting.** Match historical position openings with same-day borrow rates for realistic short-strategy P\&L. A 20% APR borrow fee can turn a winning strategy into a losing one — backtests that ignore this are lying to you.

**AI agent tool.** Hook into LLM-powered trading agents via Apify MCP server. Agent calls: "show me US stocks with fee rate over 30% and at least 100k shares available."

**Securities lending research.** Track aggregate IBKR borrow inventory over time as a proxy for institutional short-selling appetite.

***

#### FAQ

##### Where does the data come from?

Directly from Interactive Brokers' public Securities Lending & Borrowing (SLB) file feed. This is the same dataset IBKR exposes to logged-in clients via Client Portal and TWS. The Actor pulls files that IBKR explicitly publishes for download.

##### How fresh is the data?

IBKR updates the source files multiple times per business day. Each row includes a `fileTimestamp` showing exactly when IBKR generated that snapshot — typically less than 30 minutes old during market hours.

##### Why are some symbols not real tickers?

For delisted, illiquid, or unlisted securities, IBKR uses internal contract codes (e.g. `2575343D`). These are valid in IBKR's system but won't match ticker symbols on Bloomberg or Yahoo Finance. Use `contractId` for IBKR API joins, or `figi` / `isin` for cross-platform identification.

##### What does `null` mean in rebate/fee fields?

IBKR occasionally publishes a row with no pricing data (their internal "NA" marker). This Actor converts those to JSON `null`, so consumers can handle missing values cleanly rather than parsing string sentinels.

##### What does `availableIsLowerBound: true` mean?

IBKR sometimes reports shares available as "more than X" rather than an exact figure — for example, `>10,000,000` for securities with abundant supply. In those cases, `available` holds the lower bound and `availableIsLowerBound` is `true`. Treat the real figure as "at least this much." For the `minAvailable` filter, the lower bound is used as the value, so a stock reported as `>10M` will pass `minAvailable: 1M`.

##### What timezone are the timestamps in?

Both `fetchedAt` and `fileTimestamp` are in UTC (ISO 8601 with the `Z` suffix). IBKR's source files use US Eastern time internally; the Actor converts to UTC with proper DST handling so the result is unambiguous year-round.

##### Is the data real-time?

It's "indicative" — IBKR's published rates, refreshed throughout the day, not millisecond live quotes. Actual borrow rates at trade execution can differ slightly. This is the same data IBKR's own UI displays to clients, with the same caveat. For screening, research, and backtesting it's the right data; for execution-time decisions, double-check via your live IBKR connection.

##### What about other brokers' borrow data?

IBKR is one of very few brokers that publishes borrow rates publicly. Schwab, Fidelity, Robinhood, and most others keep this data internal. For their data you'd need an account with them.

##### Is it legal to scrape this?

IBKR makes these files publicly available without authentication, explicitly designed for download. The Actor pulls only published files and never accesses anything behind login. As with any data use, factor in IBKR's [terms of service](https://www.interactivebrokers.com/en/general/notices.php) for your specific application.

##### Can I use this Actor with AI agents?

Yes. Apify exposes all Actors via the Model Context Protocol (MCP) server. AI agents — including Claude, GPT-based tools, and custom LangChain/LlamaIndex agents — can call this Actor as a tool with structured inputs and receive structured JSON results. See Apify's MCP documentation for setup.

##### How is it priced?

Pay-per-event. You pay only for what you scrape — no subscriptions, no monthly commitments. See the **Pricing** tab on this Actor's page for current rates.

##### Can I integrate this with Make, Zapier, n8n, etc.?

Yes — Apify supports integrations with [Make, Zapier, n8n, Slack, Google Sheets, GitHub, Airbyte, and more](https://docs.apify.com/integrations). Webhooks are available for event-driven workflows.

##### What if a country file is unavailable?

If IBKR temporarily removes a country file or its format changes, the Actor logs a warning and continues with the other requested countries. It won't fail the entire run because of one missing file.

***

#### Feedback

Found a bug or have a suggestion for improving data quality, performance, or output format? Open an issue on the Actor's **Issues** tab.

# Actor input Schema

## `countries` (type: `array`):

Stock exchanges to fetch from IBKR's Securities Lending & Borrowing feed. Defaults to United States if left empty.

## `symbols` (type: `array`):

If provided, only rows matching these tickers (or IBKR internal codes) are returned. Case-insensitive. Leave empty to return all stocks.

## `minAvailable` (type: `integer`):

Filter out stocks with fewer shares available than this. For securities reported with a lower bound (e.g. ">10,000,000"), the lower bound is used as the value.

## `maxFeeRate` (type: `number`):

Filter out stocks with borrow fees above this percentage. E.g. 5 keeps only stocks costing 5% APR or less to borrow.

## `forceRefresh` (type: `boolean`):

Skip the cache and re-download every requested country, even if the published MD5 matches the cached version. Useful for debugging or when you want to audit IBKR's published file directly.

## Actor input object example

```json
{
  "countries": [
    "usa"
  ],
  "forceRefresh": false
}
```

# Actor output Schema

## `dataset` (type: `string`):

All shortable stock rows fetched on this run, one row per stock per country snapshot.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("stdevi/ibkr-shortable-stocks-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("stdevi/ibkr-shortable-stocks-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 '{}' |
apify call stdevi/ibkr-shortable-stocks-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "IBKR Shortable Stocks Scraper",
        "description": "Scrape short borrow rates, fees, and shares-available data from Interactive Brokers across global stock exchanges including US, UK, Germany, Japan, and Hong Kong. For short sellers, quant traders, and AI agents. Export as JSON or CSV, run via API, schedule, or integrate with other tools.",
        "version": "0.0",
        "x-build-id": "B0SaOh9hVjMZikgV6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stdevi~ibkr-shortable-stocks-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stdevi-ibkr-shortable-stocks-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/stdevi~ibkr-shortable-stocks-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stdevi-ibkr-shortable-stocks-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/stdevi~ibkr-shortable-stocks-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stdevi-ibkr-shortable-stocks-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": [
                    "countries"
                ],
                "properties": {
                    "countries": {
                        "title": "Countries",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Stock exchanges to fetch from IBKR's Securities Lending & Borrowing feed. Defaults to United States if left empty.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "usa",
                                "can",
                                "mx",
                                "gb",
                                "de",
                                "fr",
                                "nl",
                                "ch",
                                "it",
                                "se",
                                "es",
                                "be",
                                "at",
                                "aus",
                                "jp",
                                "hk",
                                "in",
                                "sg"
                            ],
                            "enumTitles": [
                                "United States",
                                "Canada",
                                "Mexico",
                                "United Kingdom",
                                "Germany",
                                "France",
                                "Netherlands",
                                "Switzerland",
                                "Italy",
                                "Sweden",
                                "Spain",
                                "Belgium",
                                "Austria",
                                "Australia",
                                "Japan",
                                "Hong Kong",
                                "India",
                                "Singapore"
                            ]
                        },
                        "default": [
                            "usa"
                        ]
                    },
                    "symbols": {
                        "title": "Symbols",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "If provided, only rows matching these tickers (or IBKR internal codes) are returned. Case-insensitive. Leave empty to return all stocks.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "minAvailable": {
                        "title": "Minimum shares available",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Filter out stocks with fewer shares available than this. For securities reported with a lower bound (e.g. \">10,000,000\"), the lower bound is used as the value."
                    },
                    "maxFeeRate": {
                        "title": "Maximum fee rate",
                        "minimum": 0,
                        "type": "number",
                        "description": "Filter out stocks with borrow fees above this percentage. E.g. 5 keeps only stocks costing 5% APR or less to borrow."
                    },
                    "forceRefresh": {
                        "title": "Force refresh",
                        "type": "boolean",
                        "description": "Skip the cache and re-download every requested country, even if the published MD5 matches the cached version. Useful for debugging or when you want to audit IBKR's published file directly.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
