# MyShipTracking Vessel Scraper (`solidcode/myshiptracking-scraper`) Actor

\[💰 $1.6 / 1K] Extract vessel data from MyShipTracking's live AIS database. Filter by name, destination, speed, and build year, or paste vessel URLs. Get MMSI, IMO, type, speed, destination, size, build year, last-seen time, flag, and vessel link. Leave blank to collect the full list.

- **URL**: https://apify.com/solidcode/myshiptracking-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

## MyShipTracking Vessel Scraper

Pull live vessel records from MyShipTracking's global AIS database at scale — ship name, MMSI and IMO numbers, vessel type, sea area, speed over ground, reported destination, dimensions, build year, last-report time, and flag state, one clean row per vessel. Search by name, MMSI, or IMO, narrow by destination, speed range, and build-year range, or paste ready-made vessel-list URLs. Built for maritime logistics teams, commodity and freight analysts, and marine-risk researchers who need structured AIS tracking data without clicking through MyShipTracking's vessel table page by page.

### Why This Scraper?

- **Global live AIS coverage** — every vessel in MyShipTracking's real-time database, from container ships and tankers to tugs and fishing craft, keyed to its own MMSI so results join cleanly to your systems.
- **Dual MMSI + IMO identifiers on every row** — the two standard maritime IDs side by side, so you can match against classification registers, port systems, and your own fleet records without a second lookup.
- **Six combinable search filters** — name / MMSI / IMO, reported destination, a minimum and maximum speed-over-ground, and an earliest and latest build year, all applied at the source so you only pay for rows that already match.
- **Up to ~10,000 vessels per search** — the actor pages a single query all the way to MyShipTracking's own retrieval ceiling and reports an honest partial when a query is broader than that.
- **Live last-report timestamps** — each row carries the exact time the vessel last transmitted its AIS position, so you can tell an actively-tracked ship from a stale one at a glance.
- **Flag-state and sea-area context** — the country whose flag each vessel flies plus the sea area or region it was last reported in, ready for compliance screening and regional fleet mapping.
- **Speed-over-ground in knots** — the reported SOG for every vessel, filterable by range, so you can isolate vessels underway (fast) from those at anchor or in port (near zero).
- **Paste-a-URL power mode** — copy any filtered MyShipTracking vessel-list URL straight from your browser and the actor collects it exactly as-is, covering searches the structured filters don't.
- **Direct vessel-page links** — every row includes the MyShipTracking URL for that ship, so a human can open the full profile in one click.

### Use Cases

**Maritime Logistics & Freight**
- Track a carrier's whole fleet by searching its name (e.g. all Maersk-branded vessels)
- Monitor which ships are reporting a given destination port
- Separate vessels underway from those at anchor using the speed filter
- Build arrival watch-lists for a specific terminal or region

**Port & Terminal Operations**
- List every vessel currently reporting your port as its destination
- Estimate inbound traffic by vessel type heading to a sea area
- Flag stale AIS reports using the last-seen timestamp
- Cross-reference expected callers against MMSI and IMO numbers

**Market & Commodity Intelligence**
- Map tanker or bulk-carrier movements toward key discharge ports
- Segment a fleet by build year to gauge vessel age and capacity
- Track fast-moving cargo vessels on a given trade lane
- Feed vessel counts by destination into freight-rate models

**Insurance & Marine Risk**
- Screen a vessel's flag state and identifiers before underwriting
- Isolate older tonnage by capping the build-year range
- Verify a ship's MMSI/IMO pairing against your own records
- Build watch-lists of vessels bound for higher-risk regions

**Research, OSINT & Compliance**
- Assemble datasets of vessels by flag state for regional studies
- Look up a single ship instantly by pasting its MMSI or IMO into the name field
- Monitor named vessels of interest across the global feed
- Enrich a maritime CRM or database with current type, size, and flag data

### Getting Started

#### Track a Whole Fleet by Name

The simplest run — every vessel whose name matches "Maersk":

```json
{
    "vesselName": "Maersk",
    "maxResults": 200
}
````

#### Fast Tankers Bound for Singapore

Combine a destination with a speed range to isolate vessels actively underway to one port:

```json
{
    "destination": "Singapore",
    "speedMin": 15,
    "speedMax": 20,
    "maxResults": 300
}
```

#### Narrow a Fleet Segment by Age and Speed

Layer build-year and speed filters to zero in on a specific slice of the fleet:

```json
{
    "vesselName": "Evergreen",
    "buildYearMin": 2015,
    "buildYearMax": 2022,
    "speedMin": 1,
    "maxResults": 500
}
```

#### Paste a Ready-Made Vessel-List URL

Copy any filtered MyShipTracking vessel-list URL from your browser and collect it exactly as-is:

```json
{
    "startUrls": [
        "https://www.myshiptracking.com/vessels?name=evergreen"
    ],
    "maxResults": 200
}
```

### Input Reference

#### What to Collect

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `startUrls` | string\[] | `[]` | Optional. Paste one or more full MyShipTracking vessel-list URLs (for example, copied from your browser after applying filters on the site). Each URL is collected exactly as-is and paged to completion. When set, these URLs override the structured filters below. |
| `vesselName` | string | `""` | Only include vessels whose name matches this text (partial matches allowed). Also accepts an MMSI or IMO number to look up a single ship. Leave blank to include any name. |

#### Filters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `destination` | string | `""` | Only include vessels reporting this destination (for example, a port name). Leave blank to include any destination. |
| `speedMin` | integer | *(none)* | Only include vessels moving at least this fast, in knots. Leave blank for no minimum (set to 1 to skip stationary vessels). |
| `speedMax` | integer | *(none)* | Only include vessels moving no faster than this, in knots. Leave blank for no maximum. |
| `buildYearMin` | integer | *(none)* | Only include vessels built in this year or later (for example, 2000). Leave blank for no lower limit. |
| `buildYearMax` | integer | *(none)* | Only include vessels built in this year or earlier. Leave blank for no upper limit. |

#### Limits

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `100` | Hard cap on the total number of vessels to collect. Increase for bigger runs, or set to 0 for no cap (up to the per-search ceiling). The actor stops starting new pages once the cap is reached but keeps the full final page, so it may slightly overshoot. |

### Output

Each vessel is one flat row with 13 fields. Here's a representative result:

```json
{
    "vessel": "MAERSK EDINBURGH",
    "mmsi": "477178300",
    "imo": "9456769",
    "type": "Cargo - Container Ship",
    "area": "North Sea",
    "speed": 18.4,
    "destination": "ROTTERDAM",
    "size": "366 x 48",
    "build": 2011,
    "received": "2026-07-03 14:22 UTC",
    "country": "Hong Kong",
    "flag": "https://www.myshiptracking.com/img/flags/hk.png",
    "url": "https://www.myshiptracking.com/vessels/maersk-edinburgh-mmsi-477178300-imo-9456769"
}
```

#### Identifiers

| Field | Type | Description |
|-------|------|-------------|
| `vessel` | string | Vessel name as reported over AIS |
| `mmsi` | string | Maritime Mobile Service Identity — the 9-digit AIS station ID |
| `imo` | string | IMO number, the permanent hull identifier. Null for smaller craft that carry no IMO. |
| `url` | string | Direct link to the vessel's MyShipTracking page |

#### Voyage & Status

| Field | Type | Description |
|-------|------|-------------|
| `type` | string | Vessel type (e.g. Cargo, Tanker, Tug, Passenger) |
| `area` | string | Sea area or region the vessel was last reported in |
| `speed` | number | Speed over ground in knots at the last AIS report |
| `destination` | string | Destination port the vessel is reporting. Null when none is reported. |
| `received` | string | Time of the vessel's most recent AIS position report |

#### Vessel Particulars

| Field | Type | Description |
|-------|------|-------------|
| `size` | string | Overall dimensions (length x breadth, in metres). Null for craft with no reported size. |
| `build` | number | Year the vessel was built. Null when not published. |
| `country` | string | Flag state — the country whose flag the vessel flies |
| `flag` | string | URL of the flag-state icon image |

Fields like `imo`, `size`, and `build` are gracefully returned as `null` for small craft and older vessels that don't publish them, so your downstream schema stays consistent.

### Tips for Best Results

- **Look up a single ship by its number.** The `vesselName` field also accepts an MMSI or IMO number — paste one to jump straight to a specific vessel instead of a name search.
- **Skip vessels sitting in port.** Set `speedMin` to 1 to drop stationary ships (speed near zero) and keep only vessels actively underway.
- **Narrow a fleet segment by combining filters.** Pair a build-year range with a speed range to isolate, say, post-2015 vessels currently making way — far sharper than either filter alone.
- **Go deeper on very broad searches by splitting them.** Each search returns up to ~10,000 vessels; if a query is broader than that, run it in slices (for example by build-year band or destination) so every slice fits under the ceiling.
- **Start small, then scale.** Set `maxResults` to 20–50 on your first run to confirm the data matches your needs, then raise the cap.
- **Use paste-a-URL for filters the fields don't cover.** Apply any combination of filters on MyShipTracking itself, copy the resulting vessel-list URL into `startUrls`, and the actor collects it exactly as shown.
- **Match on MMSI and IMO together.** Because every row carries both identifiers, you can reconcile against port-call data keyed on either one without a second pass.

### Pricing

**From $1.60 per 1,000 results** — flat pay-per-result pricing with no compute or time-based surprises. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.19 | $0.18 | $0.17 | $0.16 |
| 1,000 | $1.90 | $1.80 | $1.70 | $1.60 |
| 10,000 | $19.00 | $18.00 | $17.00 | $16.00 |
| 100,000 | $190.00 | $180.00 | $170.00 | $160.00 |

A "result" is any vessel row in the output dataset. **No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.**

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

MyShipTracking publishes vessel positions from the public AIS network, which ships broadcast for navigational safety. This actor is designed for legitimate logistics, market research, risk assessment, and maritime research use. Users are responsible for complying with applicable laws and MyShipTracking's Terms of Service. Do not use extracted data for harassment, unlawful surveillance, or any purpose that endangers a vessel or its crew.

# Actor input Schema

## `startUrls` (type: `array`):

Optional. Paste one or more full MyShipTracking vessel-list URLs (for example, copied from your browser after applying filters on the site). Each URL is collected exactly as-is and paged to completion, so it's the power-user way to run searches the filters below don't cover. When set, these URLs override the structured filters below.

## `vesselName` (type: `string`):

Only include vessels whose name matches this text (partial matches are allowed). Leave blank to include vessels with any name.

## `destination` (type: `string`):

Only include vessels reporting this destination (for example, a port name). Leave blank to include any destination.

## `speedMin` (type: `integer`):

Only include vessels moving at least this fast, in knots. Leave blank for no minimum (for example, set to 1 to skip stationary vessels).

## `speedMax` (type: `integer`):

Only include vessels moving no faster than this, in knots. Leave blank for no maximum.

## `buildYearMin` (type: `integer`):

Only include vessels built in this year or later (for example, 2000). Leave blank for no lower limit.

## `buildYearMax` (type: `integer`):

Only include vessels built in this year or earlier. Leave blank for no upper limit.

## `maxResults` (type: `integer`):

Hard cap on the total number of vessels to collect. Default 100 — increase for bigger runs, or set to 0 for no cap. The actor stops collecting new pages once the cap is reached, but keeps the full final page even if it slightly overshoots. Each vessel is billed at the per-result rate.

## Actor input object example

```json
{
  "startUrls": [],
  "maxResults": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of vessels with key fields like name, type, speed, destination, and link.

## `details` (type: `string`):

Full per-vessel rows including MMSI, IMO, area, size, build year, last-seen time, and flag country.

# 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 = {
    "startUrls": [],
    "vesselName": "",
    "destination": "",
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/myshiptracking-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 = {
    "startUrls": [],
    "vesselName": "",
    "destination": "",
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/myshiptracking-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 '{
  "startUrls": [],
  "vesselName": "",
  "destination": "",
  "maxResults": 100
}' |
apify call solidcode/myshiptracking-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "MyShipTracking Vessel Scraper",
        "description": "[💰 $1.6 / 1K] Extract vessel data from MyShipTracking's live AIS database. Filter by name, destination, speed, and build year, or paste vessel URLs. Get MMSI, IMO, type, speed, destination, size, build year, last-seen time, flag, and vessel link. Leave blank to collect the full list.",
        "version": "1.0",
        "x-build-id": "UMeffCws8U4KnB3Tv"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~myshiptracking-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-myshiptracking-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/solidcode~myshiptracking-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-myshiptracking-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/solidcode~myshiptracking-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-myshiptracking-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",
                "properties": {
                    "startUrls": {
                        "title": "Vessel List URLs (advanced)",
                        "type": "array",
                        "description": "Optional. Paste one or more full MyShipTracking vessel-list URLs (for example, copied from your browser after applying filters on the site). Each URL is collected exactly as-is and paged to completion, so it's the power-user way to run searches the filters below don't cover. When set, these URLs override the structured filters below.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "vesselName": {
                        "title": "Vessel Name",
                        "type": "string",
                        "description": "Only include vessels whose name matches this text (partial matches are allowed). Leave blank to include vessels with any name."
                    },
                    "destination": {
                        "title": "Destination",
                        "type": "string",
                        "description": "Only include vessels reporting this destination (for example, a port name). Leave blank to include any destination."
                    },
                    "speedMin": {
                        "title": "Minimum Speed (knots)",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Only include vessels moving at least this fast, in knots. Leave blank for no minimum (for example, set to 1 to skip stationary vessels)."
                    },
                    "speedMax": {
                        "title": "Maximum Speed (knots)",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Only include vessels moving no faster than this, in knots. Leave blank for no maximum."
                    },
                    "buildYearMin": {
                        "title": "Earliest Build Year",
                        "minimum": 1900,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Only include vessels built in this year or later (for example, 2000). Leave blank for no lower limit."
                    },
                    "buildYearMax": {
                        "title": "Latest Build Year",
                        "minimum": 1900,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Only include vessels built in this year or earlier. Leave blank for no upper limit."
                    },
                    "maxResults": {
                        "title": "Maximum Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Hard cap on the total number of vessels to collect. Default 100 — increase for bigger runs, or set to 0 for no cap. The actor stops collecting new pages once the cap is reached, but keeps the full final page even if it slightly overshoots. Each vessel is billed at the per-result rate.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
