# NSOPW Offender Search Scraper (`dromb/nsopw-offender-search`) Actor

Search U.S. public sex offender records by name, ZIP, or geographic radius from the National Sex Offender Public Website for background checks, public records research, and offender registry access.

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

## Pricing

from $0.40 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## NSOPW Offender Search Scraper

This Apify Actor allows you to search U.S. public sex offender records from the National Sex Offender Public Website (NSOPW) for background checks, public records research, and offender registry access.

### Features

- **Name Search**: Search by first name and last name with optional city/county filters.
- **ZIP Search**: Search by up to 5 ZIP codes.
- **Geographic Search**: Search by latitude, longitude, and radius (1, 2, or 3 miles).
- **Filter Metadata**: Get available jurisdictions and search filters.
- **Probe**: Lightweight API health check.
- **Multi-Method HTTP Fallback**: Automatically tries multiple HTTP clients (cloudscraper, curl_cffi, httpx, tls_client) for maximum success rate.
- **Proxy Support**: Integrated Apify proxy support with country filtering.
- **Retry Logic**: Automatic retry with exponential backoff for blocked requests.
- **Standardized Infrastructure**: Built on shared apify-wave1 runtime for consistency across actors.

### Operation Guide

#### 1. Probe
Run a lightweight health check against the NSOPW backend.

#### 2. Get Filters
Retrieve available jurisdictions, radius states, and distance options from the NSOPW search page.

#### 3. Name Search
Provide `firstName` and `lastName` to search for offenders. Optionally filter by city, county, or specific jurisdictions.

#### 4. ZIP Search
Provide up to 5 ZIP codes to search for offenders in those areas.

#### 5. Geographic Search
Provide `latitude`, `longitude`, and `distance` (1, 2, or 3 miles) along with jurisdictions to search within a radius.

#### 6. Get Specific Offender
Provide `offenderUri` or `offenderId` from a search result to retrieve full details for a specific offender.

### Examples

You can copy and paste these JSON inputs into the Apify Actor's "JSON" editor for quick testing.

#### Probe Test
```json
{
  "operation": "probe"
}
````

#### Get Search Filters

```json
{
  "operation": "search_filters",
  "refresh": false
}
```

#### Name Search (Alabama)

Returns offenders named "John Smith" in Alabama.

```json
{
  "operation": "search",
  "firstName": "john",
  "lastName": "smith",
  "jurisdictions": ["AL"],
  "limit": 10
}
```

#### Name Search with City Filter

Returns offenders named "John Smith" in Montgomery, Alabama.

```json
{
  "operation": "search",
  "firstName": "john",
  "lastName": "smith",
  "city": "montgomery",
  "jurisdictions": ["AL"],
  "limit": 10
}
```

#### ZIP Search

Returns offenders in specific ZIP codes.

```json
{
  "operation": "search",
  "zip": ["90210", "90211"],
  "limit": 20
}
```

#### Geographic Search

Returns offenders within 1 mile of a location in Alabama.

```json
{
  "operation": "search",
  "latitude": 32.3617,
  "longitude": -86.2792,
  "distance": 1,
  "jurisdictions": ["AL"],
  "limit": 10
}
```

#### Get Specific Offender

Retrieves full details for a specific offender using their URI.

```json
{
  "operation": "item",
  "offenderUri": "https://example-offender-url.com/details",
  "firstName": "john",
  "lastName": "smith",
  "jurisdictions": ["AL"]
}
```

### Input Fields

| Field | Required | Description | Example |
|---|---|---|---|
| `operation` | **Required** | Operation to perform: `probe`, `search_filters`, `search`, or `item` | `search` |
| `firstName` | Optional | First name for name search (requires lastName) | `john` |
| `lastName` | Optional | Last name for name search (requires firstName) | `smith` |
| `city` | Optional | City filter for name search | `montgomery` |
| `county` | Optional | County filter for name search | `montgomery` |
| `zip` | Optional | ZIP codes (up to 5) | `["90210", "90211"]` |
| `jurisdictions` | Optional | Jurisdiction codes (e.g., AL, NY, CHEROKEE) | `["AL", "NY"]` |
| `latitude` | Optional | Latitude for geographic search (-90 to 90) | `32.3617` |
| `longitude` | Optional | Longitude for geographic search (-180 to 180) | `-86.2792` |
| `distance` | Optional | Radius in miles for geographic search: 1, 2, or 3 | `1` |
| `limit` | Optional | Max offenders to return (1-500) | `50` |
| `includeQueryJurisdictions` | Optional | Include full query.jurisdictions list | `false` |
| `includeJurisdictionStatus` | Optional | Include jurisdiction\_status rows | `false` |
| `jurisdictionStatusNonZeroOnly` | Optional | Keep only jurisdiction\_status rows with records > 0 | `true` |
| `refresh` | Optional | Force refresh filter metadata for search\_filters | `false` |
| `offenderUri` | Optional | Exact offender URL (for item operation) | `https://example.com/offender` |
| `offenderId` | Optional | Offender ID from offender\_uri (for item operation) | `12345` |
| `proxy` | Optional | Proxy mode: direct, apify, custom, auto | `auto` |
| `customProxyUrl` | Optional | Custom proxy URL if mode is custom | `http://proxy.example.com` |
| `proxyCountry` | Optional | Country for proxy (e.g., US) | `US` |

### Output Fields

Each offender item includes:

- `id`: Offender ID or URI
- `slug`: Offender slug
- `full_name`: Full name
- `first_name`: First name
- `middle_name`: Middle name
- `last_name`: Last name
- `aliases`: List of known aliases
- `age`: Age
- `gender`: Gender
- `absconder`: Absconder status
- `jurisdiction_id`: Jurisdiction identifier
- `registry_domain`: Registry domain
- `source_url`: URL to offender details
- `image`: Main offender image
- `images`: List of offender images
- `locations`: List of locations (residence, employment, school)
- `city`: Primary city
- `county`: Primary county
- `state`: Primary state
- `zip_code`: Primary ZIP code
- `latitude`: Primary latitude
- `longitude`: Primary longitude

### Proxy & Bot Protection

NSOPW works reliably in direct mode. Proxy fallback is available if needed.

- **Auto**: Automatically handles proxy selection (currently defaults to direct mode).
- **Direct**: Bypasses proxy.
- **Custom**: Uses a provided custom proxy URL.
- **Apify**: Uses Apify proxy with country filtering.

The actor includes automatic retry logic with exponential backoff for blocked requests (403, 429, 502, 503) and invalid JSON responses.

### Pricing

- **Actor Start**: $0.005 per run
- **Dataset Item**: $0.0004 per item

Free/trial users are limited to 10 result requests per day.

### Limitations

- This scraper is unofficial and not affiliated with NSOPW or the U.S. Department of Justice.
- NSOPW may change their API structure without notice.
- Some jurisdictions may be offline or return no results.
- Geographic search requires at least one jurisdiction to be specified.
- High-volume scraping may trigger rate limiting or blocking.
- Name search requires both first\_name and last\_name.

### Disclaimer

This scraper is unofficial and not affiliated with the National Sex Offender Public Website (NSOPW) or the U.S. Department of Justice. Users are responsible for complying with NSOPW's terms of service and applicable laws. Data provided by this scraper is for informational purposes only and should not be used for discriminatory or unlawful purposes.

# Actor input Schema

## `operation` (type: `string`):

Operation to perform: probe, search\_filters, search, or item.

## `firstName` (type: `string`):

First name for name search. Requires lastName.

## `lastName` (type: `string`):

Last name for name search. Requires firstName.

## `city` (type: `string`):

Optional city filter for name search.

## `county` (type: `string`):

Optional county filter for name search.

## `zip` (type: `array`):

ZIP code filter (up to 5 values).

## `jurisdictions` (type: `array`):

Jurisdiction codes, e.g. AL, NY, CHEROKEE.

## `latitude` (type: `number`):

Latitude for geographic search (-90 to 90).

## `longitude` (type: `number`):

Longitude for geographic search (-180 to 180).

## `distance` (type: `integer`):

Radius in miles for geographic search: 1, 2, or 3.

## `limit` (type: `integer`):

Maximum offenders to return (1-500).

## `includeQueryJurisdictions` (type: `boolean`):

Include full query.jurisdictions list in response.

## `includeJurisdictionStatus` (type: `boolean`):

Include jurisdiction\_status rows in response.

## `jurisdictionStatusNonZeroOnly` (type: `boolean`):

When jurisdiction\_status is included, keep only rows with records > 0.

## `refresh` (type: `boolean`):

Force refresh of cached filter metadata for search\_filters operation.

## `offenderUri` (type: `string`):

Exact offender URL returned by search (for item operation).

## `offenderId` (type: `string`):

Offender ID extracted from offender\_uri (for item operation).

## `proxy` (type: `string`):

Proxy configuration: 'direct', 'apify', 'custom', or 'auto'.

## `customProxyUrl` (type: `string`):

URL for custom proxy if 'custom' is selected.

## `proxyCountry` (type: `string`):

Country for the proxy (e.g., 'US').

## Actor input object example

```json
{
  "operation": "search",
  "limit": 50,
  "includeQueryJurisdictions": false,
  "includeJurisdictionStatus": false,
  "jurisdictionStatusNonZeroOnly": true,
  "refresh": false,
  "proxy": "auto",
  "proxyCountry": "US"
}
```

# Actor output Schema

## `id` (type: `string`):

Offender ID or URI

## `slug` (type: `string`):

Offender slug

## `full_name` (type: `string`):

Full name

## `first_name` (type: `string`):

First name

## `middle_name` (type: `string`):

Middle name

## `last_name` (type: `string`):

Last name

## `aliases` (type: `string`):

List of aliases

## `age` (type: `string`):

Age

## `gender` (type: `string`):

Gender

## `absconder` (type: `string`):

Absconder status

## `jurisdiction_id` (type: `string`):

Jurisdiction ID

## `registry_domain` (type: `string`):

Registry domain

## `source_url` (type: `string`):

URL to offender details

## `image` (type: `string`):

Main offender image

## `images` (type: `string`):

List of offender images

## `locations` (type: `string`):

List of locations

## `city` (type: `string`):

Primary city

## `county` (type: `string`):

Primary county

## `state` (type: `string`):

Primary state

## `zip_code` (type: `string`):

Primary ZIP code

## `latitude` (type: `string`):

Primary latitude

## `longitude` (type: `string`):

Primary longitude

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("dromb/nsopw-offender-search").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("dromb/nsopw-offender-search").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 '{}' |
apify call dromb/nsopw-offender-search --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "NSOPW Offender Search Scraper",
        "description": "Search U.S. public sex offender records by name, ZIP, or geographic radius from the National Sex Offender Public Website for background checks, public records research, and offender registry access.",
        "version": "0.1",
        "x-build-id": "TwxwBA02nnh1XisJ5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/dromb~nsopw-offender-search/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-dromb-nsopw-offender-search",
                "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/dromb~nsopw-offender-search/runs": {
            "post": {
                "operationId": "runs-sync-dromb-nsopw-offender-search",
                "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/dromb~nsopw-offender-search/run-sync": {
            "post": {
                "operationId": "run-sync-dromb-nsopw-offender-search",
                "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": {
                    "operation": {
                        "title": "Operation",
                        "enum": [
                            "probe",
                            "search_filters",
                            "search",
                            "item"
                        ],
                        "type": "string",
                        "description": "Operation to perform: probe, search_filters, search, or item.",
                        "default": "search"
                    },
                    "firstName": {
                        "title": "First Name",
                        "type": "string",
                        "description": "First name for name search. Requires lastName."
                    },
                    "lastName": {
                        "title": "Last Name",
                        "type": "string",
                        "description": "Last name for name search. Requires firstName."
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "Optional city filter for name search."
                    },
                    "county": {
                        "title": "County",
                        "type": "string",
                        "description": "Optional county filter for name search."
                    },
                    "zip": {
                        "title": "ZIP Codes",
                        "type": "array",
                        "description": "ZIP code filter (up to 5 values).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "jurisdictions": {
                        "title": "Jurisdictions",
                        "type": "array",
                        "description": "Jurisdiction codes, e.g. AL, NY, CHEROKEE.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "latitude": {
                        "title": "Latitude",
                        "type": "number",
                        "description": "Latitude for geographic search (-90 to 90)."
                    },
                    "longitude": {
                        "title": "Longitude",
                        "type": "number",
                        "description": "Longitude for geographic search (-180 to 180)."
                    },
                    "distance": {
                        "title": "Distance (miles)",
                        "type": "integer",
                        "description": "Radius in miles for geographic search: 1, 2, or 3."
                    },
                    "limit": {
                        "title": "Limit",
                        "type": "integer",
                        "description": "Maximum offenders to return (1-500).",
                        "default": 50
                    },
                    "includeQueryJurisdictions": {
                        "title": "Include Query Jurisdictions",
                        "type": "boolean",
                        "description": "Include full query.jurisdictions list in response.",
                        "default": false
                    },
                    "includeJurisdictionStatus": {
                        "title": "Include Jurisdiction Status",
                        "type": "boolean",
                        "description": "Include jurisdiction_status rows in response.",
                        "default": false
                    },
                    "jurisdictionStatusNonZeroOnly": {
                        "title": "Jurisdiction Status Non-Zero Only",
                        "type": "boolean",
                        "description": "When jurisdiction_status is included, keep only rows with records > 0.",
                        "default": true
                    },
                    "refresh": {
                        "title": "Refresh Filters",
                        "type": "boolean",
                        "description": "Force refresh of cached filter metadata for search_filters operation.",
                        "default": false
                    },
                    "offenderUri": {
                        "title": "Offender URI",
                        "type": "string",
                        "description": "Exact offender URL returned by search (for item operation)."
                    },
                    "offenderId": {
                        "title": "Offender ID",
                        "type": "string",
                        "description": "Offender ID extracted from offender_uri (for item operation)."
                    },
                    "proxy": {
                        "title": "Proxy Configuration",
                        "enum": [
                            "direct",
                            "apify",
                            "custom",
                            "auto"
                        ],
                        "type": "string",
                        "description": "Proxy configuration: 'direct', 'apify', 'custom', or 'auto'.",
                        "default": "auto"
                    },
                    "customProxyUrl": {
                        "title": "Custom Proxy URL",
                        "type": "string",
                        "description": "URL for custom proxy if 'custom' is selected."
                    },
                    "proxyCountry": {
                        "title": "Proxy Country",
                        "type": "string",
                        "description": "Country for the proxy (e.g., 'US').",
                        "default": "US"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
