# Airtable MCP Server (`regdata/airtable-mcp-server`) Actor

Model Context Protocol (MCP) server for Airtable with 15 tools. Enables AI assistants like Claude, ChatGPT, and other LLMs to read, write, search, and manage your Airtable bases. Supports both Standby (persistent server) and Batch (one-time) modes.

- **URL**: https://apify.com/regdata/airtable-mcp-server.md
- **Developed by:** [regdata](https://apify.com/regdata) (community)
- **Categories:** AI, Automation, MCP servers
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 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

## Airtable MCP Server

Connect AI assistants to your Airtable bases using the Model Context Protocol (MCP). This actor enables Claude, ChatGPT, and other AI tools to read, write, search, and manage your Airtable data through 15 powerful operations.

### Why Use This Actor?

- **AI-Ready**: Works with Claude Desktop, ChatGPT, and any MCP-compatible AI assistant
- **Complete Coverage**: All 15 Airtable operations - from simple reads to schema management
- **Two Modes**: Run as a persistent MCP server (Standby) or execute one-time operations (Batch)
- **No Code Required**: Just provide your Airtable API key and start interacting
- **Secure**: Your API key is never stored - used only during execution

### Available Operations (15 MCP Tools)

#### Data Operations
| Tool | Description |
|------|-------------|
| `list_records` | Retrieve records with optional filtering using Airtable formulas |
| `search_records` | Full-text search across all fields in a table |
| `get_record` | Fetch a single record by its ID |
| `create_record` | Add new records to any table |
| `update_records` | Modify existing records (single or batch) |
| `delete_records` | Remove records (single or batch) |

#### Schema Management
| Tool | Description |
|------|-------------|
| `list_bases` | List all Airtable bases you have access to |
| `list_tables` | Get all tables within a specific base |
| `describe_table` | Get detailed table schema including all fields |
| `create_table` | Create new tables with custom fields |
| `update_table` | Modify table name and description |
| `create_field` | Add new fields to existing tables |
| `update_field` | Modify field properties |

#### Collaboration
| Tool | Description |
|------|-------------|
| `create_comment` | Add comments to records |
| `list_comments` | Retrieve all comments on a record |

### Quick Start

#### 1. Get Your Airtable API Key

1. Go to [Airtable Token Creation](https://airtable.com/create/tokens)
2. Create a Personal Access Token with these scopes:
   - `schema.bases:read` - List bases and tables
   - `data.records:read` - Read records
   - `data.records:write` - Create/update/delete records
   - `schema.bases:write` - Create tables and fields (optional)

#### 2. Run in Batch Mode

Execute a single operation and get results:

```json
{
    "airtableApiKey": "patXXXXXXXX.XXXXXXXX",
    "mode": "batch",
    "batchOperation": "list_bases"
}
````

#### 3. Run in Standby Mode (MCP Server)

For AI assistant integration, run with `mode: "standby"` and enable Actor Standby in settings.

### Usage Examples

#### List All Your Bases

```json
{
    "airtableApiKey": "patXXXXXXXX.XXXXXXXX",
    "mode": "batch",
    "batchOperation": "list_bases"
}
```

#### Get Records with Filter

```json
{
    "airtableApiKey": "patXXXXXXXX.XXXXXXXX",
    "mode": "batch",
    "batchOperation": "list_records",
    "baseId": "appXXXXXXXXXXXX",
    "tableId": "Tasks",
    "filterFormula": "{Status}='Active'",
    "maxRecords": 50
}
```

#### Search Across All Fields

```json
{
    "airtableApiKey": "patXXXXXXXX.XXXXXXXX",
    "mode": "batch",
    "batchOperation": "search_records",
    "baseId": "appXXXXXXXXXXXX",
    "tableId": "Contacts",
    "searchTerm": "john@example.com"
}
```

#### Create a New Record

```json
{
    "airtableApiKey": "patXXXXXXXX.XXXXXXXX",
    "mode": "batch",
    "batchOperation": "create_record",
    "baseId": "appXXXXXXXXXXXX",
    "tableId": "Tasks",
    "recordData": {
        "Name": "New Task",
        "Status": "Todo",
        "Priority": "High",
        "Due Date": "2026-01-15"
    }
}
```

#### Create a New Table

```json
{
    "airtableApiKey": "patXXXXXXXX.XXXXXXXX",
    "mode": "batch",
    "batchOperation": "create_table",
    "baseId": "appXXXXXXXXXXXX",
    "tableName": "Projects",
    "tableDescription": "Track all company projects",
    "fields": [
        {"name": "Name", "type": "singleLineText"},
        {"name": "Status", "type": "singleSelect", "options": {"choices": [{"name": "Planning"}, {"name": "Active"}, {"name": "Completed"}]}},
        {"name": "Due Date", "type": "date"}
    ]
}
```

### Integrating with Claude Desktop

To use this actor as an MCP server with Claude Desktop:

1. **Enable Standby Mode** in Actor Settings
2. **Add to Claude Desktop config** (`claude_desktop_config.json`):

```json
{
    "mcpServers": {
        "airtable": {
            "url": "https://airtable-mcp-server.apify.actor/mcp?token=YOUR_APIFY_TOKEN",
            "headers": {
                "Authorization": "Bearer YOUR_AIRTABLE_TOKEN"
            }
        }
    }
}
```

3. **Restart Claude Desktop** - Airtable tools will be available

### Input Reference

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `airtableApiKey` | string | Yes | Your Airtable Personal Access Token |
| `mode` | string | No | `standby` (default) or `batch` |
| `batchOperation` | string | No | Operation to perform (see tools above) |
| `baseId` | string | No | Base ID (e.g., `appXXXXXXXXXX`) |
| `tableId` | string | No | Table ID or name |
| `recordId` | string | No | Single record ID |
| `recordIds` | array | No | Multiple record IDs for batch operations |
| `recordData` | object | No | Field values for create/update |
| `filterFormula` | string | No | Airtable formula for filtering |
| `searchTerm` | string | No | Text for full-text search |
| `maxRecords` | integer | No | Maximum records to return (default: 100) |
| `tableName` | string | No | Name for new/updated table |
| `tableDescription` | string | No | Description for table |
| `fieldName` | string | No | Name for new field |
| `fieldType` | string | No | Type for new field |
| `fieldOptions` | object | No | Options for field (e.g., select choices) |
| `comment` | string | No | Comment text |

### Output

Results are stored in the default dataset with the following structure:

```json
{
    "operation": "list_records",
    "id": "recXXXXXXXXXX",
    "createdTime": "2026-01-02T10:00:00.000Z",
    "fields": {
        "Name": "Example Record",
        "Status": "Active"
    }
}
```

### Use Cases

- **AI-Powered Data Entry**: Let Claude or ChatGPT add records to your Airtable
- **Natural Language Queries**: Ask AI to find specific records using plain English
- **Automated Reporting**: Generate reports from Airtable data via AI
- **Schema Management**: Create and modify tables through conversational AI
- **Workflow Automation**: Integrate Airtable operations into Apify workflows

### Pricing

This actor uses Apify platform resources. Typical costs:

- **Batch operations**: ~$0.001 per run
- **Standby mode**: Billed per compute unit while active

### Attribution

This actor wraps [airtable-mcp-server](https://github.com/domdomegg/airtable-mcp-server) by Adam Jones (domdomegg), licensed under MIT.

### Support

- [Airtable API Documentation](https://airtable.com/developers/web/api/introduction)
- [MCP Protocol Specification](https://modelcontextprotocol.io/)
- [Report Issues](https://github.com/nolpak14/airtable-mcp-actor/issues)

### License

MIT License - see [LICENSE](https://github.com/nolpak14/airtable-mcp-actor/blob/main/LICENSE) for details.

# Actor input Schema

## `airtableApiKey` (type: `string`):

Your Airtable Personal Access Token. Get it from https://airtable.com/create/tokens. Required scopes: schema.bases:read, data.records:read, data.records:write (for write operations)

## `mode` (type: `string`):

How to run the MCP server. Standby mode runs as a persistent MCP HTTP server. Batch mode executes a single operation.

## `batchOperation` (type: `string`):

Operation to perform in batch mode. All 15 MCP tools are supported.

## `baseId` (type: `string`):

Airtable Base ID (e.g., appXXXXXXXXXX). Required for most operations except list\_bases.

## `tableId` (type: `string`):

Table ID or name (e.g., tblXXXXXXXXXX or 'Tasks'). Required for record operations.

## `recordId` (type: `string`):

Record ID (e.g., recXXXXXXXXXX). Required for get\_record, update\_records (single), delete\_records (single), create\_comment, list\_comments.

## `recordIds` (type: `array`):

Array of record IDs for bulk operations (update\_records, delete\_records).

## `recordData` (type: `object`):

Field values for create\_record or update\_records. Example: {"Name": "John", "Email": "john@example.com"}

## `filterFormula` (type: `string`):

Airtable formula for filtering records in list\_records. Example: {Status}='Active'

## `searchTerm` (type: `string`):

Text to search for in search\_records operation.

## `maxRecords` (type: `integer`):

Maximum number of records to retrieve (list\_records, search\_records).

## `fields` (type: `array`):

For list\_records: array of field names to return. For create\_table: array of field definitions. For update\_field: object with fieldId and properties.

## `tableName` (type: `string`):

Name for create\_table or update\_table operations.

## `tableDescription` (type: `string`):

Description for create\_table or update\_table operations.

## `fieldName` (type: `string`):

Name for create\_field operation.

## `fieldType` (type: `string`):

Type for create\_field operation (e.g., singleLineText, multilineText, number, checkbox, singleSelect, multipleSelects, date, email, url, etc.)

## `fieldOptions` (type: `object`):

Options for create\_field (e.g., {"choices": \[{"name": "Option 1"}, {"name": "Option 2"}]} for select fields).

## `comment` (type: `string`):

Comment text for create\_comment operation.

## Actor input object example

```json
{
  "mode": "standby",
  "batchOperation": "list_bases",
  "maxRecords": 100
}
```

# 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 = {
    "airtableApiKey": "",
    "baseId": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("regdata/airtable-mcp-server").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 = {
    "airtableApiKey": "",
    "baseId": "",
}

# Run the Actor and wait for it to finish
run = client.actor("regdata/airtable-mcp-server").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 '{
  "airtableApiKey": "",
  "baseId": ""
}' |
apify call regdata/airtable-mcp-server --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Airtable MCP Server",
        "description": "Model Context Protocol (MCP) server for Airtable with 15 tools. Enables AI assistants like Claude, ChatGPT, and other LLMs to read, write, search, and manage your Airtable bases. Supports both Standby (persistent server) and Batch (one-time) modes.",
        "version": "1.0",
        "x-build-id": "SiXbfSGIZbCzmVYvR"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/regdata~airtable-mcp-server/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-regdata-airtable-mcp-server",
                "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/regdata~airtable-mcp-server/runs": {
            "post": {
                "operationId": "runs-sync-regdata-airtable-mcp-server",
                "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/regdata~airtable-mcp-server/run-sync": {
            "post": {
                "operationId": "run-sync-regdata-airtable-mcp-server",
                "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": [
                    "airtableApiKey"
                ],
                "properties": {
                    "airtableApiKey": {
                        "title": "Airtable Personal Access Token",
                        "type": "string",
                        "description": "Your Airtable Personal Access Token. Get it from https://airtable.com/create/tokens. Required scopes: schema.bases:read, data.records:read, data.records:write (for write operations)"
                    },
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "standby",
                            "batch"
                        ],
                        "type": "string",
                        "description": "How to run the MCP server. Standby mode runs as a persistent MCP HTTP server. Batch mode executes a single operation.",
                        "default": "standby"
                    },
                    "batchOperation": {
                        "title": "Batch Operation",
                        "enum": [
                            "list_bases",
                            "list_tables",
                            "describe_table",
                            "list_records",
                            "search_records",
                            "get_record",
                            "create_record",
                            "update_records",
                            "delete_records",
                            "create_table",
                            "update_table",
                            "create_field",
                            "update_field",
                            "create_comment",
                            "list_comments"
                        ],
                        "type": "string",
                        "description": "Operation to perform in batch mode. All 15 MCP tools are supported.",
                        "default": "list_bases"
                    },
                    "baseId": {
                        "title": "Base ID",
                        "type": "string",
                        "description": "Airtable Base ID (e.g., appXXXXXXXXXX). Required for most operations except list_bases."
                    },
                    "tableId": {
                        "title": "Table ID",
                        "type": "string",
                        "description": "Table ID or name (e.g., tblXXXXXXXXXX or 'Tasks'). Required for record operations."
                    },
                    "recordId": {
                        "title": "Record ID",
                        "type": "string",
                        "description": "Record ID (e.g., recXXXXXXXXXX). Required for get_record, update_records (single), delete_records (single), create_comment, list_comments."
                    },
                    "recordIds": {
                        "title": "Record IDs (Multiple)",
                        "type": "array",
                        "description": "Array of record IDs for bulk operations (update_records, delete_records).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "recordData": {
                        "title": "Record Data",
                        "type": "object",
                        "description": "Field values for create_record or update_records. Example: {\"Name\": \"John\", \"Email\": \"john@example.com\"}"
                    },
                    "filterFormula": {
                        "title": "Filter Formula",
                        "type": "string",
                        "description": "Airtable formula for filtering records in list_records. Example: {Status}='Active'"
                    },
                    "searchTerm": {
                        "title": "Search Term",
                        "type": "string",
                        "description": "Text to search for in search_records operation."
                    },
                    "maxRecords": {
                        "title": "Max Records",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of records to retrieve (list_records, search_records).",
                        "default": 100
                    },
                    "fields": {
                        "title": "Fields",
                        "type": "array",
                        "description": "For list_records: array of field names to return. For create_table: array of field definitions. For update_field: object with fieldId and properties."
                    },
                    "tableName": {
                        "title": "Table Name",
                        "type": "string",
                        "description": "Name for create_table or update_table operations."
                    },
                    "tableDescription": {
                        "title": "Table Description",
                        "type": "string",
                        "description": "Description for create_table or update_table operations."
                    },
                    "fieldName": {
                        "title": "Field Name",
                        "type": "string",
                        "description": "Name for create_field operation."
                    },
                    "fieldType": {
                        "title": "Field Type",
                        "enum": [
                            "singleLineText",
                            "multilineText",
                            "richText",
                            "number",
                            "percent",
                            "currency",
                            "checkbox",
                            "singleSelect",
                            "multipleSelects",
                            "date",
                            "dateTime",
                            "email",
                            "url",
                            "phoneNumber",
                            "multipleRecordLinks",
                            "multipleAttachments",
                            "rating",
                            "duration",
                            "barcode"
                        ],
                        "type": "string",
                        "description": "Type for create_field operation (e.g., singleLineText, multilineText, number, checkbox, singleSelect, multipleSelects, date, email, url, etc.)"
                    },
                    "fieldOptions": {
                        "title": "Field Options",
                        "type": "object",
                        "description": "Options for create_field (e.g., {\"choices\": [{\"name\": \"Option 1\"}, {\"name\": \"Option 2\"}]} for select fields)."
                    },
                    "comment": {
                        "title": "Comment Text",
                        "type": "string",
                        "description": "Comment text for create_comment operation."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
