# CelesTrak TLE & Orbital Elements Scraper (`jungle_synthesizer/celestrak-tle-orbital-elements-scraper`) Actor

Pull live TLE / orbital elements from CelesTrak's GP catalog for any group (Starlink, GPS, weather, active, debris…) in one run. Adds raw TLE lines plus server-computed period, apogee and perigee, and optional object-type, RCS size, country and launch-date enrichment.

- **URL**: https://apify.com/jungle\_synthesizer/celestrak-tle-orbital-elements-scraper.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

## CelesTrak TLE & Orbital Elements Scraper

Scrape live TLE and orbital elements from the [CelesTrak GP catalog](https://celestrak.org/NORAD/elements/). Returns the full OMM element set, raw two-line elements, and server-computed orbital period, apogee, and perigee for any group — Starlink, GPS, weather, active payloads, debris fields — across roughly 30,000 tracked objects.

---

### CelesTrak Scraper Features

- Scrapes any CelesTrak GP group by name. Starlink, GPS, weather, NOAA, GEO, debris clouds — whatever's in the catalog.
- Pulls multiple groups in a single run. Ask for `starlink`, `gps-ops`, and `weather` at once instead of three separate jobs.
- Returns the raw `tle_line1` / `tle_line2` strings, so you can feed your own SGP4 propagator without reformatting.
- Computes orbital period, apogee, and perigee server-side from mean motion and eccentricity — no SGP4 client library required.
- Enriches each object with type, RCS size class, owner country, and launch date via a CelesTrak SATCAT join (69,000+ catalogued objects).
- Pure JSON API. No browser, no proxies, no auth.
- Paces requests under 1 req/sec, the way CelesTrak asks.

---

### Who Uses CelesTrak Orbital Data?

- **Satellite-tracking app developers** — Feed live elements into a ground-track or pass-prediction UI.
- **Collision-avoidance and SDA teams** — Pull payloads plus debris fields in one run and screen conjunctions against derived apogee/perigee.
- **Amateur radio and antenna operators** — Track NOAA, weather, and amateur satellites without hand-copying TLEs off a webpage.
- **Researchers and analysts** — Build a catalog snapshot with launch dates and owner countries already joined, which is the part nobody enjoys doing by hand.
- **3D visualization builders** — Drive a globe or orbit viewer with clean, consistent JSON instead of parsing fixed-width TLE text.

---

### How the CelesTrak Scraper Works

1. Pick one or more CelesTrak groups (e.g. `["starlink", "weather"]`).
2. For each group, the actor fetches the GP elements as JSON and, optionally, the matching `FORMAT=tle` feed — then merges the raw lines onto each object by NORAD id.
3. If SATCAT enrichment is on, it downloads the catalog once per run and joins object type, RCS size, owner country, and launch date.
4. Every object gets its orbital period, apogee, and perigee computed from mean motion and eccentricity before it's saved. You get a flat record per object.

---

### Input

```json
{
  "groups": ["weather", "gps-ops"],
  "maxItems": 50,
  "includeTleLines": true,
  "enrichWithSatcat": true
}
````

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `groups` | array | `["weather"]` | One or more CelesTrak GP group names. Common values: `active`, `starlink`, `gps-ops`, `weather`, `noaa`, `goes`, `science`, `geo`, `stations`, `last-30-days`, `cosmos-2251-debris`, `iridium-33-debris`. |
| `maxItems` | integer | `15` | Maximum total objects returned across all groups. Raise it to pull a full group. |
| `includeTleLines` | boolean | `true` | Fetch the companion `FORMAT=tle` feed and attach raw `tle_line1` / `tle_line2`. |
| `enrichWithSatcat` | boolean | `true` | Join CelesTrak's SATCAT (one ~6.6 MB download per run) for `object_type`, `rcs_size`, `country_code`, and `launch_date`. Turn it off for faster, leaner runs. |

To pull a complete group, raise `maxItems` (e.g. `7000` for Starlink) — the catalog is open and free.

***

### CelesTrak Scraper Output Fields

```json
{
  "object_name": "DMSP 5D-3 F16 (USA 172)",
  "object_id": "2003-048A",
  "norad_cat_id": 28054,
  "object_type": "PAYLOAD",
  "rcs_size": "LARGE",
  "epoch": "2026-05-30T23:18:53.817408",
  "mean_motion": 14.14481119,
  "eccentricity": 0.00068508,
  "inclination": 98.9896,
  "ra_of_asc_node": 174.6853,
  "arg_of_pericenter": 186.7151,
  "mean_anomaly": 213.2235,
  "ephemeris_type": 0,
  "classification_type": "U",
  "element_set_no": 999,
  "rev_at_epoch": 16705,
  "bstar": 0.000050965825,
  "mean_motion_dot": 5.2e-7,
  "mean_motion_ddot": 0,
  "tle_line1": "1 28054U 03048A   26150.97145622  .00000052  00000+0  50966-4 0  9990",
  "tle_line2": "2 28054  98.9896 174.6853 0006850 186.7151 213.2235 14.14481119167053",
  "group": "weather",
  "launch_date": "2003-10-18",
  "country_code": "US",
  "period_min": 101.804,
  "apogee_km": 849.026,
  "perigee_km": 839.13
}
```

| Field | Type | Description |
|-------|------|-------------|
| `object_name` | string | Satellite / object name. |
| `object_id` | string | International (COSPAR) designator. |
| `norad_cat_id` | integer | NORAD catalog number. |
| `object_type` | string | PAYLOAD / ROCKET BODY / DEBRIS / UNKNOWN / TBA. From SATCAT; null when enrichment is off. |
| `rcs_size` | string | Radar cross-section class — SMALL / MEDIUM / LARGE. From SATCAT; null when unavailable. |
| `epoch` | string | TLE epoch, ISO 8601 UTC. |
| `mean_motion` | number | Revolutions per day. |
| `eccentricity` | number | Orbital eccentricity (0 = circular). |
| `inclination` | number | Inclination, degrees. |
| `ra_of_asc_node` | number | Right ascension of the ascending node, degrees. |
| `arg_of_pericenter` | number | Argument of pericenter, degrees. |
| `mean_anomaly` | number | Mean anomaly at epoch, degrees. |
| `ephemeris_type` | integer | Ephemeris type (0 for distributed TLEs). |
| `classification_type` | string | U unclassified, C classified, S secret. |
| `element_set_no` | integer | Element set number. |
| `rev_at_epoch` | integer | Revolution number at epoch. |
| `bstar` | number | B\* drag term (1/earth radii). |
| `mean_motion_dot` | number | First derivative of mean motion. |
| `mean_motion_ddot` | number | Second derivative of mean motion. |
| `tle_line1` | string | Raw TLE line 1. Null when `includeTleLines` is off. |
| `tle_line2` | string | Raw TLE line 2. Null when `includeTleLines` is off. |
| `group` | string | CelesTrak group the object came from. |
| `launch_date` | string | Launch date YYYY-MM-DD. From SATCAT; null when enrichment is off. |
| `country_code` | string | Owner / country code, e.g. US, PRC, CIS. From SATCAT. |
| `period_min` | number | Derived orbital period in minutes (1440 / mean\_motion). |
| `apogee_km` | number | Derived apogee altitude above Earth's surface, km. |
| `perigee_km` | number | Derived perigee altitude above Earth's surface, km. |

***

### FAQ

#### How do I scrape TLE data from CelesTrak?

CelesTrak TLE & Orbital Elements Scraper does it for you. Give it a list of group names, and it returns the elements as clean JSON — no need to parse fixed-width two-line text or hit the GP API yourself.

#### What data can I get from CelesTrak?

The scraper returns the full OMM element set (mean motion, eccentricity, inclination, RAAN, and the rest), the raw TLE lines, and — when SATCAT enrichment is on — object type, RCS size, owner country, and launch date. It also computes orbital period, apogee, and perigee for every object.

#### Do I need an SGP4 library to get apogee and perigee?

No. The scraper computes period, apogee, and perigee server-side from mean motion and eccentricity, so those numbers are already in the output. If you want full propagation, the raw TLE lines are there to feed your own SGP4.

#### Can I scrape multiple groups in one run?

Yes. Pass several group names in `groups` and the actor pulls them all in a single run, tagging each record with its source group. One job instead of one per group.

#### How much does it cost to run?

CelesTrak TLE & Orbital Elements Scraper bills pay-per-event: a small per-run start fee plus a per-object charge. CelesTrak is free and open, so the only cost is the actor's runtime.

#### Does it need proxies?

No. It hits the public CelesTrak API directly at a polite sub-1-req/sec pace and caches the SATCAT download once per run.

***

### Need More Features?

Need a different group, an extra computed field, or a historical TLE archive? [File an issue](https://console.apify.com/actors/issues) or get in touch.

### Why Use the CelesTrak Scraper?

- **Derived orbital params included** — period, apogee, and perigee are computed for you, no client-side SGP4.
- **One run, many groups** — pull payloads, GPS, weather, and debris together, each record tagged with its group, instead of stitching separate jobs together afterward.
- **Enriched and clean** — object type, RCS size, owner, and launch date joined from SATCAT, returned as flat JSON with consistent field names.

# Actor input Schema

## `sp_intended_usage` (type: `string`):

Please describe how you plan to use the data extracted by this crawler.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

Provide your email address so we can get in touch with you.

## `groups` (type: `array`):

One or more CelesTrak GP group names to scrape in a single run. Common values: active, starlink, gps-ops, weather, noaa, goes, science, geo, stations, last-30-days, cosmos-2251-debris, iridium-33-debris, 1999-025 (Fengyun-1C debris). See https://celestrak.org/NORAD/elements/ for the full list.

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

Maximum total number of objects to return across all groups (safety cap). Raise it to pull a full group.

## `includeTleLines` (type: `boolean`):

Also fetch the FORMAT=tle companion and attach raw tle\_line1 / tle\_line2 to each object.

## `enrichWithSatcat` (type: `boolean`):

Join CelesTrak's SATCAT (one ~6.6 MB download per run) to fill object\_type, rcs\_size, country\_code and launch\_date. Disable for faster, leaner runs.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "groups": [
    "weather"
  ],
  "maxItems": 15,
  "includeTleLines": true,
  "enrichWithSatcat": true
}
```

# Actor output Schema

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

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "groups": [
        "weather"
    ],
    "maxItems": 15
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/celestrak-tle-orbital-elements-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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "groups": ["weather"],
    "maxItems": 15,
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/celestrak-tle-orbital-elements-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 '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "groups": [
    "weather"
  ],
  "maxItems": 15
}' |
apify call jungle_synthesizer/celestrak-tle-orbital-elements-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jungle_synthesizer/celestrak-tle-orbital-elements-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "CelesTrak TLE & Orbital Elements Scraper",
        "description": "Pull live TLE / orbital elements from CelesTrak's GP catalog for any group (Starlink, GPS, weather, active, debris…) in one run. Adds raw TLE lines plus server-computed period, apogee and perigee, and optional object-type, RCS size, country and launch-date enrichment.",
        "version": "0.1",
        "x-build-id": "Ce3kfK0zu4hkZmeLk"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~celestrak-tle-orbital-elements-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-celestrak-tle-orbital-elements-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/jungle_synthesizer~celestrak-tle-orbital-elements-scraper/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-celestrak-tle-orbital-elements-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/jungle_synthesizer~celestrak-tle-orbital-elements-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-celestrak-tle-orbital-elements-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": [
                    "sp_intended_usage",
                    "sp_improvement_suggestions",
                    "groups"
                ],
                "properties": {
                    "sp_intended_usage": {
                        "title": "What is the intended usage of this data?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Please describe how you plan to use the data extracted by this crawler."
                    },
                    "sp_improvement_suggestions": {
                        "title": "How can we improve this crawler for you?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide any feedback or suggestions for improvements."
                    },
                    "sp_contact": {
                        "title": "Contact Email",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide your email address so we can get in touch with you."
                    },
                    "groups": {
                        "title": "CelesTrak Groups",
                        "type": "array",
                        "description": "One or more CelesTrak GP group names to scrape in a single run. Common values: active, starlink, gps-ops, weather, noaa, goes, science, geo, stations, last-30-days, cosmos-2251-debris, iridium-33-debris, 1999-025 (Fengyun-1C debris). See https://celestrak.org/NORAD/elements/ for the full list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "type": "integer",
                        "description": "Maximum total number of objects to return across all groups (safety cap). Raise it to pull a full group.",
                        "default": 15
                    },
                    "includeTleLines": {
                        "title": "Include Raw TLE Lines",
                        "type": "boolean",
                        "description": "Also fetch the FORMAT=tle companion and attach raw tle_line1 / tle_line2 to each object.",
                        "default": true
                    },
                    "enrichWithSatcat": {
                        "title": "Enrich With SATCAT",
                        "type": "boolean",
                        "description": "Join CelesTrak's SATCAT (one ~6.6 MB download per run) to fill object_type, rcs_size, country_code and launch_date. Disable for faster, leaner runs.",
                        "default": 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
