# Flight Delay & Cancellation Tracker (`scrapemint/flight-delay-tracker`) Actor

Track flight delays, cancellations, and diversions from FlightAware. Input flight number, airport, or route. Returns scheduled vs actual times, delay minutes, status, aircraft, and cancel reason. Built for EU 261 firms, travel insurance, and ops alerts. Pay per item.

- **URL**: https://apify.com/scrapemint/flight-delay-tracker.md
- **Developed by:** [Kennedy Mutisya](https://apify.com/scrapemint) (community)
- **Categories:** Travel, Other, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## Flight Delay & Cancellation Tracker for EU 261 Claims and Travel Ops

Monitor flight delays, cancellations, and diversions on FlightAware. Every row carries scheduled vs actual departure and arrival, delay minutes, status, aircraft type, gates, and cancel reason. Inputs: flight number (IATA or ICAO) or origin to destination route. Built for EU 261 compensation firms, travel insurance teams, and travel operations alerts. Pay per flight row.

**Ranks for:** flight delay tracker, flight cancellation tracker, EU 261 compensation API, flight status scraper, travel insurance disruption feed, FlightAware API alternative, airline on time performance monitor, flight diversion alert.

---

### How it works

```mermaid
flowchart LR
    A[Flight number<br/>or route] --> B[FlightAware live page]
    B --> C[Parse trackpoll JSON<br/>or finder rows]
    C --> D[Filter by delay,<br/>status, cancellations]
    D --> E[JSON delay rows]
````

For flight number inputs, the actor parses the page's embedded `trackpollBootstrap` JSON, the same data feed FlightAware's own UI reads. Times come straight from ASDI and ADS-B, not the airline's PR friendly dashboard. For route inputs, the actor parses the FlightAware Flight Finder result rows.

IATA flight codes (UA1, BA112, AF22) are auto translated to FlightAware's ICAO format (UAL1, BAW112, AFR22) so you can paste what your booking confirmation shows.

***

### Who uses this

| Role | Use case |
|---|---|
| **EU 261 compensation firm** | Auto detect 3 hour plus delays and cancellations to surface eligible claims. |
| **Travel insurance** | Trigger payouts on covered flight disruptions without manual intake. |
| **Corporate travel ops** | Alert booked travelers when their flights slip. Feed Slack and PagerDuty. |
| **OTA refund team** | Reconcile customer disruption claims against the carrier record. |
| **Aviation analyst** | Track on time performance for an airline or route over time. |

***

### Quick start

**Watch one flight number (IATA works, auto translated to ICAO):**

```json
{
  "flightNumbers": ["UA1"],
  "maxItemsPerSource": 25
}
```

**EU 261 eligible delays on a watch list (3 hours plus):**

```json
{
  "flightNumbers": ["BA112", "AF22", "LH400"],
  "minDelayMinutes": 180
}
```

**Cancellations only across a watch list:**

```json
{
  "flightNumbers": ["UA1", "DL100", "AA100"],
  "cancelledOnly": true
}
```

**Scheduled flights on a route:**

```json
{
  "routes": [{ "origin": "JFK", "destination": "LAX", "date": "2026-05-15" }]
}
```

***

### Sample output

A flight number lookup pulls the full trackpoll record for every flight in the activity log, including past completed flights and upcoming scheduled flights:

```json
{
  "ident": "UAL1",
  "origin": "SFO",
  "originIcao": "KSFO",
  "originName": "San Francisco Int'l",
  "originLocation": "San Francisco, CA",
  "originGate": "G7",
  "originTerminal": "I",
  "destination": "SIN",
  "destinationIcao": "WSSS",
  "destinationName": "Singapore Changi",
  "destinationLocation": "Singapore",
  "destinationTerminal": "2",
  "route": "SFO-SIN",
  "scheduledDate": "2026-05-01",
  "scheduledDeparture": "2026-05-01T05:50:00.000Z",
  "actualDeparture": "2026-05-01T06:11:00.000Z",
  "scheduledArrival": "2026-05-01T22:25:00.000Z",
  "actualArrival": "2026-05-01T22:36:00.000Z",
  "departureDelayMin": 21,
  "arrivalDelayMin": 11,
  "status": "delayed",
  "cancelReason": null,
  "aircraft": "B789",
  "aircraftName": "Boeing 787-9 Dreamliner (twin-jet)",
  "duration": "16h 25m",
  "distanceMiles": 7342,
  "permaLink": "https://flightaware.com/live/flight/UAL1/history/20260501/0550Z/KSFO/WSSS",
  "sourceType": "flight",
  "source": "UAL1",
  "scrapedAt": "2026-05-01T17:55:00.000Z"
}
```

***

### Status field

The `status` field is normalized so pipelines do not parse human strings:

| Value | Meaning |
|---|---|
| `scheduled` | Flight is scheduled, has not departed. |
| `on-time` | Flight is on time or arrived on time. |
| `delayed` | Departure or arrival is delayed by 15 minutes or more. |
| `cancelled` | Flight was cancelled. |
| `diverted` | Flight diverted to a different airport. |
| `landed` | Flight has landed. |
| `en-route` | Flight is currently airborne. |
| `unknown` | Status could not be parsed. |

`departureDelayMin` is positive when the flight is late, negative when it left early, null when no actual time is published yet.

***

### EU 261 cheat sheet

| Delay at arrival | Compensation per passenger |
|---|---|
| 3 to 4 hours, short haul (under 1500 km) | EUR 250 |
| 3 to 4 hours, medium haul (1500 to 3500 km) | EUR 400 |
| 4 hours or more, long haul (over 3500 km) | EUR 600 |
| Cancellation under 14 days, no rebooking | EUR 250 to 600 |

Set `minDelayMinutes: 180` to capture every claim eligible delay row in one feed. Combine with `distanceMiles` on the output to bucket by haul length.

***

### Schedule it

Run hourly to catch every disruption on a flight watch list. The `dedupe` flag keeps a per actor key value store so the same `ident + scheduledDeparture` is not pushed twice across runs.

```mermaid
flowchart LR
    A[Cron every 60 min] --> B[Run actor]
    B --> C{New rows?}
    C -- Yes --> D[Webhook to your CRM]
    C -- No --> E[Sleep]
```

Pair with the Apify webhook integration to push new disruption rows into Salesforce, Hubspot, or a custom claims system the moment they land.

***

### Pricing

The first 20 flight rows per run are free. After that, $0.005 per row pushed. No charge for the FlightAware page fetches themselves, so a flight number watch list only costs for the actual flights returned.

***

### FAQ

#### Where does the data come from?

FlightAware live flight pages, scraped per request through Apify residential proxy. The actor reads the same `trackpollBootstrap` JSON the FlightAware UI consumes, which is sourced from ASDI, MLAT, and ADS-B feeds.

#### Why FlightAware and not the airline?

FlightAware aggregates ASDI, MLAT, and ADS-B feeds, so the actual departure and arrival times match what the FAA and ground sensors saw, not the carrier's PR friendly dashboard. Airline status pages routinely lag the real ground truth by 10 to 20 minutes.

#### Can I use IATA flight codes like UA1 or BA112?

Yes. The actor auto translates the common IATA airline prefixes (UA, AA, DL, BA, AF, LH, KL, SQ, EK, QR, etc.) to FlightAware's ICAO format (UAL, AAL, DAL, BAW, AFR, DLH, KLM, SIA, UAE, QTR). If your carrier is not on the auto translate list, paste the ICAO code directly (e.g., `UAL1`).

#### Can I track a flight before it departs?

Yes. Flight number pages show scheduled flights for the next several days. The actor returns `status: "scheduled"` rows so you can subscribe to a flight before it slips.

#### Are airport boards supported?

No. FlightAware moved its airport arrivals and departures pages behind a sign-in wall with Cloudflare Turnstile, so airport boards are not scrapeable without an account. Use the flight number input instead. Airport scope can be reconstructed downstream by tracking every flight ident that operates the route you care about.

#### Are the times in UTC?

Yes. The bootstrap JSON exposes Unix timestamps which the actor converts to ISO 8601 UTC (`...Z` suffix). Convert to airport local time downstream if your warehouse needs it.

#### Will it work for airlines outside the US and EU?

Yes. FlightAware covers global flight idents. The auto translate list covers most major Asian, Middle Eastern, Australian, Canadian, and Latin American carriers. For smaller regional airlines, paste the ICAO code directly.

#### What happens if FlightAware blocks the request?

The actor uses fingerprinted Chrome with residential proxy and retries blocked requests up to twice. If a single source is blocked the run continues with the others and the failed request is logged.

#### Can I run this on a schedule?

Yes. Use the Apify scheduler. Daily catches yesterday's full disruption picture for a watch list. Hourly catches new delays as they slip.

***

### Related actors

- **Flight Price Tracker** — live Google Flights fares for any route and date
- **Airbnb Market Intelligence** — daily comp set rates and occupancy by neighborhood
- **TripAdvisor Property Rank Tracker** — daily hotel and restaurant rank, rating, and competitor signals
- **Booking Review Intelligence** — booking.com hotel reviews and reputation signals
- **Viator Tours Tracker** — tour pricing and availability across regions

# Actor input Schema

## `flightNumbers` (type: `array`):

Flight identifiers like UA1, BA112, AF22, LH400. IATA two letter codes are auto translated to ICAO. ICAO codes (UAL1, BAW112) work directly.

## `routes` (type: `array`):

Origin to destination on a specific date. Format: array of objects with origin, destination (IATA codes like JFK, LAX), and date (YYYY-MM-DD). Example: \[{"origin":"JFK","destination":"LAX","date":"2026-05-15"}]. Returns scheduled flights on that route.

## `minDelayMinutes` (type: `integer`):

Drop rows with departure delay below this value. Set to 0 to keep on-time flights. Use 180 to focus on EU 261 eligible delays (3 hours and above).

## `includeStatuses` (type: `array`):

Which flight statuses to push. Default keeps everything.

## `cancelledOnly` (type: `boolean`):

Override status filter to keep only cancelled and diverted flights. Useful for travel insurance and EU 261 lead generation.

## `maxItemsPerSource` (type: `integer`):

Cap on flights returned per flight number or route.

## `maxItemsTotal` (type: `integer`):

Hard cap across all sources. Controls total cost.

## `dedupe` (type: `boolean`):

Skip flight rows already pushed in previous runs (key is ident plus scheduled departure). Turn off to track status changes for the same flight over time.

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

Apify proxy. FlightAware blocks datacenter IPs aggressively. Residential is strongly recommended.

## Actor input object example

```json
{
  "flightNumbers": [
    "UA1"
  ],
  "routes": [],
  "minDelayMinutes": 0,
  "includeStatuses": [
    "scheduled",
    "on-time",
    "delayed",
    "cancelled",
    "diverted",
    "landed",
    "en-route",
    "unknown"
  ],
  "cancelledOnly": false,
  "maxItemsPerSource": 25,
  "maxItemsTotal": 100,
  "dedupe": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "flightNumbers": [
        "UA1"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapemint/flight-delay-tracker").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 = {
    "flightNumbers": ["UA1"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapemint/flight-delay-tracker").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 '{
  "flightNumbers": [
    "UA1"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapemint/flight-delay-tracker --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Flight Delay & Cancellation Tracker",
        "description": "Track flight delays, cancellations, and diversions from FlightAware. Input flight number, airport, or route. Returns scheduled vs actual times, delay minutes, status, aircraft, and cancel reason. Built for EU 261 firms, travel insurance, and ops alerts. Pay per item.",
        "version": "0.1",
        "x-build-id": "1VIYMGw2QV2inDhbS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapemint~flight-delay-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapemint-flight-delay-tracker",
                "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/scrapemint~flight-delay-tracker/runs": {
            "post": {
                "operationId": "runs-sync-scrapemint-flight-delay-tracker",
                "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/scrapemint~flight-delay-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-scrapemint-flight-delay-tracker",
                "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",
                "properties": {
                    "flightNumbers": {
                        "title": "Flight numbers",
                        "type": "array",
                        "description": "Flight identifiers like UA1, BA112, AF22, LH400. IATA two letter codes are auto translated to ICAO. ICAO codes (UAL1, BAW112) work directly.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "routes": {
                        "title": "Routes",
                        "type": "array",
                        "description": "Origin to destination on a specific date. Format: array of objects with origin, destination (IATA codes like JFK, LAX), and date (YYYY-MM-DD). Example: [{\"origin\":\"JFK\",\"destination\":\"LAX\",\"date\":\"2026-05-15\"}]. Returns scheduled flights on that route.",
                        "default": []
                    },
                    "minDelayMinutes": {
                        "title": "Minimum delay in minutes",
                        "minimum": 0,
                        "maximum": 1440,
                        "type": "integer",
                        "description": "Drop rows with departure delay below this value. Set to 0 to keep on-time flights. Use 180 to focus on EU 261 eligible delays (3 hours and above).",
                        "default": 0
                    },
                    "includeStatuses": {
                        "title": "Statuses to keep",
                        "type": "array",
                        "description": "Which flight statuses to push. Default keeps everything.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "scheduled",
                                "on-time",
                                "delayed",
                                "cancelled",
                                "diverted",
                                "landed",
                                "en-route",
                                "unknown"
                            ],
                            "enumTitles": [
                                "Scheduled",
                                "On time",
                                "Delayed",
                                "Cancelled",
                                "Diverted",
                                "Landed",
                                "En route",
                                "Unknown"
                            ]
                        },
                        "default": [
                            "scheduled",
                            "on-time",
                            "delayed",
                            "cancelled",
                            "diverted",
                            "landed",
                            "en-route",
                            "unknown"
                        ]
                    },
                    "cancelledOnly": {
                        "title": "Cancellations and diversions only",
                        "type": "boolean",
                        "description": "Override status filter to keep only cancelled and diverted flights. Useful for travel insurance and EU 261 lead generation.",
                        "default": false
                    },
                    "maxItemsPerSource": {
                        "title": "Max items per source",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Cap on flights returned per flight number or route.",
                        "default": 25
                    },
                    "maxItemsTotal": {
                        "title": "Max items per run",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Hard cap across all sources. Controls total cost.",
                        "default": 100
                    },
                    "dedupe": {
                        "title": "Deduplicate across runs",
                        "type": "boolean",
                        "description": "Skip flight rows already pushed in previous runs (key is ident plus scheduled departure). Turn off to track status changes for the same flight over time.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy. FlightAware blocks datacenter IPs aggressively. Residential is strongly recommended.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
