# OFAC SDN Watchlist Scraper (`nexgendata/ofac-sdn-watchlist-scraper`) Actor

Scrape the US Treasury OFAC SDN list. Returns normalized JSON with names, aliases, type, program, dates, passport/ID, and addresses for AML/KYC, bank screening, payment compliance, and trade compliance.

- **URL**: https://apify.com/nexgendata/ofac-sdn-watchlist-scraper.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $50.00 / 1,000 sanctioned entities

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

## OFAC SDN Watchlist Scraper

**The canonical OFAC SDN scraper for Apify — turn the US Treasury Specially Designated Nationals list into clean, filterable, screening-ready JSON in seconds.**

### 📊 Sample Output

[![OFAC SDN Watchlist Scraper sample output — OFAC SDN Watchlist Scraper, premium API, JSON output, NexGenData premium dataset for analysts, hedge funds, compliance, and research teams](https://api.apify.com/v2/key-value-stores/8gLgXMBveEI1tTz1z/records/ofac-sdn-watchlist-scraper-output.png)](https://apify.com/nexgendata/ofac-sdn-watchlist-scraper)

### Overview

The **OFAC Specially Designated Nationals (SDN) list** is the single most consulted sanctions list in global financial compliance. Maintained and published by the US Department of the Treasury's **Office of Foreign Assets Control (OFAC)**, it names the individuals, companies, vessels, and aircraft that US persons are legally prohibited from doing business with. Their assets are blocked, and transactions involving them are off-limits to US banks, payment processors, fintechs, crypto exchanges, exporters, and the businesses that work with them.

**Sanctions screening** is the process of checking a customer, counterparty, vendor, payment, or shipment against these lists before — and during — a business relationship. It is a core pillar of Anti-Money-Laundering (AML) and Know-Your-Customer (KYC) programs. For US-regulated institutions, screening against OFAC's lists is not optional: OFAC enforces a strict-liability regime, meaning a firm can face civil penalties for dealing with a sanctioned party even without intent. That makes accurate, current OFAC data a compliance necessity rather than a nice-to-have.

This actor downloads the OFAC SDN data directly from official US Treasury sanctions-list publications, parses every entry, and returns it as normalized JSON. Instead of wrestling with the multi-megabyte government source files and their idiosyncratic format, you get a schema-stable feed you can filter by name, by sanctions program, or by entity type — ready to drop into a screening pipeline, a spreadsheet, or a research notebook.

### Why use this

- **Official US Treasury source.** Data comes from OFAC's own sanctions-list publications — the authoritative SDN list itself, not a third-party copy or guess.
- **Built for AML / KYC / sanctions screening.** Output is normalized for the exact use most teams need: matching names and aliases against customers, vendors, and counterparties.
- **Aliases included.** Sanctioned parties routinely operate under a.k.a. names, transliterations, and front-company names. Every record carries the known aliases OFAC publishes, so your matching isn't limited to a single primary name.
- **Filterable by program and type.** Narrow to a single OFAC program code (e.g. a Russia, Iran, or counter-terrorism program) or to a single entity type — individual, entity, vessel, or aircraft — without post-processing.
- **JSON-native and pipeline-ready.** No PDF parsing, no fixed-width CSV wrangling, no scraping logic to maintain on your side. Pay per result and pull only what you need.

### What you get

Each record is one sanctioned party from the OFAC SDN / consolidated list, returned with the following fields:

| Field | Description |
|---|---|
| `entity_name` | The primary listed name of the sanctioned party. |
| `entity_aliases` | Array of known aliases / a.k.a. names, transliterations, and alternate spellings OFAC publishes for the party. |
| `entity_type` | The OFAC classification: `individual`, `entity`, `vessel`, or `aircraft`. |
| `sanctioning_authority` | The authority that listed the party. For this actor, the OFAC / US Treasury source. |
| `program_name` | The OFAC sanctions program the listing falls under (e.g. a Russia, Iran, counter-terrorism, or non-proliferation program code). |
| `listed_date` | The date the party was added to the sanctions list. |
| `nationality` | The party's nationality, where OFAC publishes it. |
| `country_of_origin` | The party's country of origin — place of birth for individuals, or registered country for entities — where available. |

The `entity_aliases` array is the field most screening teams care about most: it is what lets you catch a counterparty that appears in your records under a name other than the primary listed one.

### Use cases

1. **AML / KYC sanctions screening.** Screen new and existing customers against the SDN list as part of onboarding and ongoing monitoring, the foundational control in any AML program.
2. **Vendor and counterparty onboarding.** Check suppliers, distributors, partners, and counterparties before signing — so you don't unknowingly contract with a blocked party.
3. **Payments compliance.** Screen the originators, beneficiaries, and intermediaries of payments and wire transfers before they settle, the way banks and payment processors are required to.
4. **Trade compliance and export checks.** Verify buyers, consignees, vessels, and aircraft against OFAC listings before shipping goods or clearing logistics — sanctions exposure is a real risk in cross-border trade.
5. **Fintech and crypto onboarding.** Wallet providers, exchanges, neobanks, and lenders can wire SDN screening straight into automated onboarding and transaction-monitoring flows.
6. **Due diligence and investigations.** Enrich M&A, investment, and third-party due diligence with an authoritative check of whether a target or its principals appear on the SDN list.
7. **Journalists and researchers.** Investigate sanctions designations, track which programs name a person or company, and build datasets on the structure and timing of US sanctions.
8. **GRC and audit tooling.** Feed a governance-risk-compliance platform or internal audit a clean, current snapshot of the SDN list for periodic re-screening and recordkeeping.

### Sample output

```json
{
  "entity_name": "PUBLIC JOINT STOCK COMPANY ROSNEFT OIL COMPANY",
  "entity_aliases": [
    "ROSNEFT",
    "ROSNEFT OIL COMPANY",
    "OJSC ROSNEFT OIL COMPANY",
    "NK ROSNEFT PAO",
    "PAO NK ROSNEFT"
  ],
  "entity_type": "entity",
  "sanctioning_authority": "US_OFAC",
  "program_name": "UKRAINE-EO13662",
  "listed_date": "2014-07-16",
  "nationality": null,
  "country_of_origin": "Russia"
}
````

```json
{
  "entity_name": "MAKER, John Doe",
  "entity_aliases": [
    "DOE, Johnathan",
    "DOE, Jon"
  ],
  "entity_type": "individual",
  "sanctioning_authority": "US_OFAC",
  "program_name": "SDGT",
  "listed_date": "2019-03-26",
  "nationality": "Lebanon",
  "country_of_origin": "Lebanon"
}
```

### Input parameters

Every parameter is optional. With no input, the actor returns the SDN list capped at `maxResults`.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `entity_search` | string | `""` | Case-insensitive substring match against the entity name and any aliases. Leave empty to return all entries. Example: `rosneft` or `kalashnikov`. |
| `sanctioning_program` | string | `""` | Case-insensitive substring match against OFAC program codes (e.g. `RUSSIA-EO14024`, `SDGT`, `IRAN`, `CUBA`, `NPWMD`). Leave empty for all programs. |
| `entity_type` | string (enum) | `all` | Restrict to a single type: `all`, `Individual`, `Entity`, `Vessel`, or `Aircraft`. |
| `maxResults` | integer | `100` | Maximum number of records to return after filters are applied. Range 1-5000. |

### How to use it

#### Python (apify-client)

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run_input = {
    "entity_search": "rosneft",
    "sanctioning_program": "RUSSIA-EO14024",
    "entity_type": "Entity",
    "maxResults": 100,
}

run = client.actor("nexgendata/ofac-sdn-watchlist-scraper").call(run_input=run_input)

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["entity_name"], "-", item["program_name"])
```

#### cURL

```bash
curl -X POST "https://api.apify.com/v2/acts/nexgendata~ofac-sdn-watchlist-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "entity_search": "rosneft",
    "sanctioning_program": "RUSSIA-EO14024",
    "entity_type": "Entity",
    "maxResults": 100
  }'
```

Replace `YOUR_APIFY_TOKEN` with the token from your Apify account. The `run-sync-get-dataset-items` endpoint runs the actor and returns the matching records in one call.

### Pricing

This actor is **pay-per-result**: you are billed for the records the actor returns, with no monthly platform minimum and no enterprise contract. You pay only for what you pull.

**Worked example.** Suppose your screening job filters the list to a single program and the run returns **250 matching records**. At a pay-per-result rate, you pay for those 250 records and nothing else. Run the same job daily for re-screening and your cost scales linearly with results returned, not with seat licenses or annual commitments. A broad pull of several thousand records for a full-list snapshot is similarly priced per record — predictable, and easy to budget against your screening volume.

(See the actor's Apify Store page for the current per-result rate. You only pay for results actually returned after your filters are applied — narrow filters mean fewer results and lower cost.)

### How this compares to Dow Jones Risk & Compliance / Refinitiv World-Check / LexisNexis Bridger

These incumbents are well-established enterprise compliance platforms, and this actor is honest about where it fits:

- **Same official OFAC data.** The SDN designations themselves originate from the same place — the US Treasury — for everyone. There is no proprietary "better" version of the OFAC SDN list; the list is public.
- **Pay-per-use, not enterprise contract.** Dow Jones, Refinitiv World-Check, and LexisNexis Bridger are typically sold via annual enterprise agreements with seat-based or volume licensing and procurement cycles. This actor is pay-per-result with no contract — you can start today.
- **JSON-native and developer-first.** You get clean JSON over a simple API, ideal for wiring directly into your own screening pipeline, rather than a vendor portal or a heavyweight integration.
- **Where the incumbents add more.** These platforms layer on **multi-list coverage** (UN, EU, UK HMT and dozens of other national lists), **PEP (Politically Exposed Persons) data**, adverse-media screening, sophisticated fuzzy-matching and case-management workflows, and ongoing managed-data services. If your program needs consolidated global watchlists, PEP and adverse-media coverage, and vendor-managed match scoring, an enterprise provider does more than a single-list feed. If you need authoritative OFAC SDN data in JSON, fast and pay-as-you-go, this actor is the lean option — and it pairs with our other NexGenData sanctions actors to build multi-list coverage yourself.

### FAQ

**How fresh is the data, and how often does OFAC update the SDN list?**
The actor pulls from official OFAC sanctions-list publications at run time, so each run reflects the list as published by Treasury at that moment. OFAC does not update on a fixed schedule — it adds, amends, and removes designations on an ongoing basis, sometimes multiple times a week. Re-run the actor as often as your screening policy requires.

**What does "SDN" mean?**
SDN stands for **Specially Designated Nationals and Blocked Persons**. It is OFAC's core list of individuals, companies, vessels, and aircraft whose assets are blocked and with whom US persons are generally prohibited from transacting.

**Why are aliases important?**
Sanctioned parties frequently appear under multiple names — alternate spellings, transliterations, business names, and front companies. The `entity_aliases` array captures the a.k.a. names OFAC publishes, so your screening can match a counterparty even when your records use a name other than the primary listed one.

**Can this produce false positives?**
Yes — name-based screening inherently produces potential matches that turn out to be different people or organizations with similar names (and, conversely, can miss matches where names are spelled very differently). A returned record means a name matched your search, not that you have confirmed a true sanctions hit. Any potential match must be reviewed and adjudicated by your compliance process before you act on it.

**Is the output legal or compliance advice?**
No. This actor provides data only. It does not make a compliance determination, does not tell you whether a transaction is permitted, and is not legal advice. Treat the output as one input to a screening process owned and reviewed by your organization.

**Which sanctions programs are covered?**
The actor returns SDN / consolidated listings across the OFAC programs published in the source data — including Russia/Ukraine-related, Iran, counter-terrorism (SDGT), non-proliferation (NPWMD), Cuba, and many others. Use the `sanctioning_program` filter to narrow to a specific program code.

### Compliance & legal

The OFAC SDN list is **public information published by the US Department of the Treasury**. This actor retrieves and normalizes that public data and returns it to you as JSON.

Screening results from this actor are **informational**. A returned record indicates a name or program match against the data — it is **not a compliance determination**, not confirmation of a true sanctions hit, and **not legal advice**. Sanctions compliance is the responsibility of your organization. Before acting on any result, your own compliance process should review and adjudicate potential matches and, where appropriate, consult qualified legal counsel and the authoritative source at OFAC. NexGenData provides the data; you own the decision.

### Related actors

Build broader compliance and entity-resolution coverage by combining this actor with other NexGenData feeds:

- **[FINRA BrokerCheck Scraper](https://apify.com/nexgendata?fpr=2ayu9b)** — broker and firm registration, licensing, and disclosure history for US securities-industry due diligence.
- **[GLEIF LEI Lookup](https://apify.com/nexgendata?fpr=2ayu9b)** — Legal Entity Identifier (LEI) records for resolving and verifying corporate counterparties globally.
- **Company-registry actors** — official company-registry lookups for verifying legal entity existence, status, and ownership during onboarding and due diligence.

Browse the full **[NexGenData actor library](https://apify.com/nexgendata?fpr=2ayu9b)** for additional sanctions, registry, and compliance data sources.

# Actor input Schema

## `entity_search` (type: `string`):

Case-insensitive substring match against the entity name and any aliases. Leave empty to return all entries. Example: 'kalashnikov' or 'rosneft'.

## `sanctioning_program` (type: `string`):

Case-insensitive substring match against OFAC's program code (e.g. RUSSIA-EO14024, SDGT, IRAN, CUBA, NPWMD, TERRORISM). Leave empty for all programs.

## `entity_type` (type: `string`):

Restrict to a single OFAC entity type: Individual, Entity (companies/organizations), Vessel, Aircraft, or 'all' for no filter.

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

Maximum number of sanctioned entity records to return after filters are applied. Range 1-5000. Default 100.

## Actor input object example

```json
{
  "entity_search": "",
  "sanctioning_program": "",
  "entity_type": "all",
  "maxResults": 100
}
```

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "entity_search": "",
    "sanctioning_program": "",
    "entity_type": "all",
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/ofac-sdn-watchlist-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 = {
    "entity_search": "",
    "sanctioning_program": "",
    "entity_type": "all",
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/ofac-sdn-watchlist-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 '{
  "entity_search": "",
  "sanctioning_program": "",
  "entity_type": "all",
  "maxResults": 100
}' |
apify call nexgendata/ofac-sdn-watchlist-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "OFAC SDN Watchlist Scraper",
        "description": "Scrape the US Treasury OFAC SDN list. Returns normalized JSON with names, aliases, type, program, dates, passport/ID, and addresses for AML/KYC, bank screening, payment compliance, and trade compliance.",
        "version": "0.0",
        "x-build-id": "vfrsYRaB9snODEYjd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~ofac-sdn-watchlist-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-ofac-sdn-watchlist-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/nexgendata~ofac-sdn-watchlist-scraper/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-ofac-sdn-watchlist-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/nexgendata~ofac-sdn-watchlist-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-ofac-sdn-watchlist-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": {
                    "entity_search": {
                        "title": "Entity name search (substring)",
                        "type": "string",
                        "description": "Case-insensitive substring match against the entity name and any aliases. Leave empty to return all entries. Example: 'kalashnikov' or 'rosneft'.",
                        "default": ""
                    },
                    "sanctioning_program": {
                        "title": "Sanctioning program (substring)",
                        "type": "string",
                        "description": "Case-insensitive substring match against OFAC's program code (e.g. RUSSIA-EO14024, SDGT, IRAN, CUBA, NPWMD, TERRORISM). Leave empty for all programs.",
                        "default": ""
                    },
                    "entity_type": {
                        "title": "Entity type",
                        "enum": [
                            "all",
                            "Individual",
                            "Entity",
                            "Vessel",
                            "Aircraft"
                        ],
                        "type": "string",
                        "description": "Restrict to a single OFAC entity type: Individual, Entity (companies/organizations), Vessel, Aircraft, or 'all' for no filter.",
                        "default": "all"
                    },
                    "maxResults": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of sanctioned entity records to return after filters are applied. Range 1-5000. Default 100.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
