# Bulk DNS Records Lookup - A, MX, TXT, NS, CNAME (`logiover/bulk-dns-records-lookup`) Actor

Look up DNS records for thousands of domains at once — A, AAAA, MX, NS, TXT, CNAME, SOA and CAA — via DNS-over-HTTPS. Ideal for email deliverability (SPF/DMARC), security audits and migrations. No API key, export to CSV or JSON.

- **URL**: https://apify.com/logiover/bulk-dns-records-lookup.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Developer tools, SEO tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 results

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## Bulk DNS Records Lookup 🌐 — A, MX, TXT, NS, CNAME & More

**Look up DNS records for thousands of domains in a single run.** This **bulk DNS lookup** tool queries every domain you give it for the record types you choose — **A, AAAA, MX, NS, TXT, CNAME, SOA, CAA** — over **DNS-over-HTTPS** and returns a clean, one-row-per-record table with values, TTLs and the resolver that answered.

Point it at a list of domains and it resolves them all in parallel. **No API key, no local resolver, no rate-limit headaches.** A few hundred domains across all record types quickly become thousands of rows you can export to CSV, Excel or JSON.

> Looking for a **DNS records lookup tool**, an **MX record checker**, a **TXT record lookup** for **SPF/DMARC**, a **nameserver lookup** or a **free bulk DNS lookup API without a key**? This actor does all of it at scale.

---

### ✨ Key features

- 🌐 **Bulk lookups** — resolve thousands of domains in a single run, in parallel.
- 🧩 **8 record types** — A, AAAA, MX, NS, TXT, CNAME, SOA, CAA — pick any subset or query them all.
- 📄 **One row per record** — every A address, every MX host and every TXT entry gets its own row for easy filtering and export.
- 🔐 **DNS-over-HTTPS** — uses Cloudflare `dns-query` with an automatic Google fallback; no local DNS resolver needed.
- 🧹 **Clean values** — TXT chunks are joined, trailing dots trimmed, MX priorities preserved (e.g. `10 smtp.google.com`).
- ⏱️ **TTL captured** — every record includes its TTL in seconds, exactly as returned by the resolver.
- 🧪 **Robust input parsing** — `https://`, paths, ports and trailing dots are stripped automatically; duplicates removed.
- 🛟 **Graceful on NXDOMAIN / empty** — missing records simply produce no rows; the run never crashes.
- ⚡ **High concurrency** — configurable parallel lookups (default 10, up to 100).
- 🔑 **No API key** — works out of the box with public DNS-over-HTTPS endpoints.

### 💡 Use cases

- **Email deliverability** — pull `MX` and `TXT` across a domain portfolio to verify mail routing and valid **SPF / DKIM / DMARC** policies before a campaign.
- **Security & compliance audits** — inventory `CAA` (allowed certificate authorities), `NS` delegation and mail routing across many domains at once.
- **Infra & DNS migrations** — snapshot every record type before a hosting or DNS-provider cutover, run again after, and diff the datasets to confirm clean propagation.
- **Monitoring** — schedule recurring runs on a cron and detect when records change over time.
- **Due diligence / OSINT** — map infrastructure (`A`, `AAAA`, `CNAME`) and enrich large domain lists with live DNS metadata.

### 📦 What you get

Each row in the dataset is **one DNS record**:

| Field | Description |
|-------|-------------|
| `domain` | The domain that was queried (normalized) |
| `recordType` | The record type (`A`, `AAAA`, `MX`, `NS`, `TXT`, `CNAME`, `SOA`, `CAA`) |
| `value` | The record value — for `MX` it includes the priority (e.g. `10 smtp.google.com`); for `TXT` the chunks are joined |
| `ttl` | Time-to-live in seconds, as returned by the resolver |
| `resolver` | Which resolver answered (`cloudflare` or `google`) |
| `checkedAt` | ISO 8601 timestamp of when the lookup was performed |

#### Record type reference

| Type | What it tells you |
|------|-------------------|
| `A` | IPv4 address(es) the domain points to |
| `AAAA` | IPv6 address(es) |
| `MX` | Mail servers and their priority — the basis of email routing |
| `NS` | Authoritative name servers for the zone |
| `TXT` | Free-text records — **SPF, DKIM, DMARC**, domain-verification tokens |
| `CNAME` | Canonical-name alias for the hostname |
| `SOA` | Start-of-authority — primary NS, admin email, serial, refresh timers |
| `CAA` | Which certificate authorities are allowed to issue certs for the domain |

#### Example output

```json
[
  { "domain": "google.com", "recordType": "A", "value": "142.250.190.78", "ttl": 300, "resolver": "cloudflare", "checkedAt": "2026-06-15T18:00:00.000Z" },
  { "domain": "google.com", "recordType": "MX", "value": "10 smtp.google.com", "ttl": 3600, "resolver": "cloudflare", "checkedAt": "2026-06-15T18:00:00.000Z" },
  { "domain": "google.com", "recordType": "TXT", "value": "v=spf1 include:_spf.google.com ~all", "ttl": 3600, "resolver": "cloudflare", "checkedAt": "2026-06-15T18:00:00.000Z" },
  { "domain": "github.com", "recordType": "NS", "value": "dns1.p08.nsone.net", "ttl": 86400, "resolver": "cloudflare", "checkedAt": "2026-06-15T18:00:00.000Z" },
  { "domain": "cloudflare.com", "recordType": "CAA", "value": "0 issue \"digicert.com\"", "ttl": 1800, "resolver": "google", "checkedAt": "2026-06-15T18:00:00.000Z" }
]
````

### 🚀 How to use it

1. Click **Try for free / Start**.
2. Paste your list of domains into **Domains** — one per line (`example.com`, or full URLs like `https://example.com/path`, both work).
3. (Optional) Pick the **Record Types** you want — leave all 8 selected for a full DNS audit.
4. (Optional) Tune **Max Concurrency** for large lists and keep **Proxy** enabled.
5. Click **Save & Start**, then export the dataset as **JSON, CSV, Excel or via API**, and sort/filter by `recordType`.

### ⚙️ Input

| Field | Type | Description | Default |
|-------|------|-------------|---------|
| `domains` | array (required) | Domains / hostnames to look up. Schemes and paths are stripped automatically — `example.com` and `https://example.com/path` both work. | – |
| `recordTypes` | array | Which record types to query for every domain. One of `A`, `AAAA`, `MX`, `NS`, `TXT`, `CNAME`, `SOA`, `CAA`. | all 8 |
| `maxConcurrency` | integer | Parallel DNS-over-HTTPS lookups. Higher is faster. | `10` (max `100`) |
| `proxyConfiguration` | object | Proxy used for the lookups. Recommended to avoid resolver rate limiting. | Apify Proxy (datacenter) |

#### Example input

```json
{
  "domains": ["google.com", "github.com", "cloudflare.com"],
  "recordTypes": ["A", "AAAA", "MX", "NS", "TXT", "CNAME", "SOA", "CAA"],
  "maxConcurrency": 10,
  "proxyConfiguration": { "useApifyProxy": true }
}
```

### 🔍 How it works

For every domain in your list, the actor sends one **DNS-over-HTTPS** query per requested record type. It uses **Cloudflare** (`https://cloudflare-dns.com/dns-query`) as the primary resolver, with an automatic **Google** (`https://dns.google/resolve`) fallback if Cloudflare doesn't answer — so lookups stay reliable from cloud environments where traditional UDP DNS is often blocked.

Each answer is parsed into individual records: TXT chunks are joined into a single string, MX records keep their priority, trailing dots are trimmed, and TTLs are preserved. **Every record becomes its own row** — so a domain with several A addresses, multiple MX hosts and a handful of TXT entries can easily yield 15–30 rows on its own. Non-existent domains (NXDOMAIN) and empty answers simply produce no rows; the run never crashes.

### 🧰 Tips & best practices

- Provide bare domains (`example.com`) for the cleanest results; subdomains (`mail.example.com`) work too.
- Select only the record types you need to keep runs lean — or select all 8 for a complete DNS audit.
- Increase `maxConcurrency` for very large lists, and keep Apify Proxy enabled to avoid resolver rate limiting at scale.
- Filter by `recordType: "TXT"` to isolate **SPF / DKIM / DMARC** policies; filter by `MX` to verify mail routing.
- Export to CSV/Excel from the dataset tab to share findings with non-technical stakeholders, or schedule the run and diff datasets to monitor DNS changes over time.

### ❓ FAQ

#### How do I look up DNS records for many domains at once?

Paste your full list of domains into the **Domains** field and run the actor once. It resolves every domain in parallel over DNS-over-HTTPS and returns one row per record, so a single run can cover thousands of domains.

#### Can I check MX records in bulk?

Yes — select `MX` (alone or with other types) and the actor returns every mail server and its priority for each domain, e.g. `10 smtp.google.com`. It works as a dedicated bulk **MX record checker** across your whole domain list.

#### How do I find SPF / DMARC TXT records?

Include `TXT` in the record types. SPF, DKIM and DMARC policies all live in TXT records, and this actor pulls them for every domain — making it a fast **SPF / DMARC checker** and **TXT record lookup** at scale.

#### Is this a free DNS lookup API without a key?

There's no API key to manage. The actor queries public **DNS-over-HTTPS** endpoints (Cloudflare, with a Google fallback) — you just provide a list of domains and run, then read results from the dataset or the Apify API.

#### Can I export DNS records to CSV or JSON?

Yes — every lookup is one row, so the dataset drops straight into a spreadsheet. Download it as **CSV, JSON or Excel**, or pull it through the REST API.

#### What happens with a non-existent domain (NXDOMAIN)?

The lookup completes cleanly and simply produces no rows for that domain/type. The run never crashes on missing or empty records.

#### Why DNS-over-HTTPS instead of normal DNS?

DoH works reliably from cloud environments where UDP DNS is often blocked, returns structured JSON, and pairs cleanly with Apify Proxy to avoid resolver rate limits at high volume.

### 🔗 Related actors by the same author

- **[Subdomain Finder](https://apify.com/logiover/subdomain-finder)** — discover subdomains for any domain.
- **[Bulk WHOIS / RDAP Lookup](https://apify.com/logiover/bulk-whois-rdap-lookup)** — registration, registrar and expiry data for many domains.
- **[Bulk URL Status Checker](https://apify.com/logiover/bulk-url-status-checker)** — HTTP status codes and redirects for large URL lists.
- **[Website Contact Scraper](https://apify.com/logiover/website-contact-scraper)** — extract emails, phones and social profiles from websites.

### 📝 Changelog

#### 2026-06-15

- Initial release — bulk DNS lookup (A/AAAA/MX/NS/TXT/CNAME/SOA/CAA) via DNS-over-HTTPS, CSV/JSON export, no API key.

# Actor input Schema

## `domains` (type: `array`):

List of domains (or hostnames) to look up DNS records for. One entry per domain, e.g. example.com. Schemes (https://) and paths are stripped automatically.

## `recordTypes` (type: `array`):

Which DNS record types to query for every domain. More types = more rows.

## `maxConcurrency` (type: `integer`):

How many DNS-over-HTTPS lookups to run in parallel. Higher is faster.

## `proxyConfiguration` (type: `object`):

Proxy used for the DNS-over-HTTPS requests. Recommended to avoid rate limiting.

## Actor input object example

```json
{
  "domains": [
    "google.com",
    "github.com",
    "cloudflare.com"
  ],
  "recordTypes": [
    "A",
    "AAAA",
    "MX",
    "NS",
    "TXT",
    "CNAME",
    "SOA",
    "CAA"
  ],
  "maxConcurrency": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

The dataset containing one row per DNS record (domain, record type, value, TTL) for all looked-up domains.

# 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 = {
    "domains": [
        "google.com",
        "github.com",
        "cloudflare.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/bulk-dns-records-lookup").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 = { "domains": [
        "google.com",
        "github.com",
        "cloudflare.com",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("logiover/bulk-dns-records-lookup").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 '{
  "domains": [
    "google.com",
    "github.com",
    "cloudflare.com"
  ]
}' |
apify call logiover/bulk-dns-records-lookup --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=logiover/bulk-dns-records-lookup",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Bulk DNS Records Lookup - A, MX, TXT, NS, CNAME",
        "description": "Look up DNS records for thousands of domains at once — A, AAAA, MX, NS, TXT, CNAME, SOA and CAA — via DNS-over-HTTPS. Ideal for email deliverability (SPF/DMARC), security audits and migrations. No API key, export to CSV or JSON.",
        "version": "1.0",
        "x-build-id": "QTq2uVECvKEbqnrfg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~bulk-dns-records-lookup/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-bulk-dns-records-lookup",
                "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/logiover~bulk-dns-records-lookup/runs": {
            "post": {
                "operationId": "runs-sync-logiover-bulk-dns-records-lookup",
                "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/logiover~bulk-dns-records-lookup/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-bulk-dns-records-lookup",
                "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": [
                    "domains"
                ],
                "properties": {
                    "domains": {
                        "title": "Domains",
                        "type": "array",
                        "description": "List of domains (or hostnames) to look up DNS records for. One entry per domain, e.g. example.com. Schemes (https://) and paths are stripped automatically.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "recordTypes": {
                        "title": "Record Types",
                        "type": "array",
                        "description": "Which DNS record types to query for every domain. More types = more rows.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "A",
                                "AAAA",
                                "MX",
                                "NS",
                                "TXT",
                                "CNAME",
                                "SOA",
                                "CAA"
                            ]
                        },
                        "default": [
                            "A",
                            "AAAA",
                            "MX",
                            "NS",
                            "TXT",
                            "CNAME",
                            "SOA",
                            "CAA"
                        ]
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "How many DNS-over-HTTPS lookups to run in parallel. Higher is faster.",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy used for the DNS-over-HTTPS requests. Recommended to avoid rate limiting.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
