# Alignable Small Business Scraper - Owner Name + Contacts (`jungle_synthesizer/alignable-small-business-scraper`) Actor

Scrape small-business profiles from Alignable: owner name, business name, industry, address, phone, website, recommendations count, About Us narrative, and product/service tags. Discover by US city slug or supply direct profile URLs.

- **URL**: https://apify.com/jungle\_synthesizer/alignable-small-business-scraper.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Lead generation, Automation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Alignable Small Business Scraper

Scrape small-business profiles from [Alignable](https://www.alignable.com), the largest US small-business networking platform with 11M+ members. Returns owner name, business name, industry, phone, address, website, recommendations count, About Us narrative, and product/service tags — everything you need to do owner-level outreach to actual humans, not corporate switchboards.

---

### Alignable Small Business Scraper Features

- Returns the owner's name on every record. That's the differentiator vs Yelp / BBB / Google Business, which list the business but hide the human.
- Extracts 17 fields per profile, including phone, full address, ZIP, external website, and recommendations count.
- Two input modes — discover by US city slug, or pass in a list of profile URLs you already have.
- Walks city directory pagination automatically. Set `maxPagesPerCity` and stop worrying about it.
- Pulls structured data from JSON-LD when available, and falls back to HTML for sparse profiles.
- Pure HTML scraping — no browser, no proxy, no CAPTCHA. Server-rendered Rails app.
- PPE pricing — $0.10 per run + $0.001 per record.

---

### Who Uses Alignable Data?

- **B2B SMB SaaS sellers** — Reach the owner directly, not info@ inboxes that go nowhere.
- **Local marketing agencies** — Build prospect lists for cities you actually serve, with the owner's name attached to each lead.
- **Payments and lending** — Match Alignable's industry tags to your ICP, then enrich with the address and recommendations count to score by community presence.
- **Insurance and compliance** — Find independent agents and small operators by category and city.
- **Sales-intelligence platforms** — Backfill owner names on existing SMB records, since most directories don't surface them.

---

### How Alignable Small Business Scraper Works

1. Pick a mode. Either `cities` (supply a list of city slugs like `austin-tx`) or `urls` (supply profile URLs directly).
2. The scraper walks the city directory pages and discovers profile URLs, or skips that step in URLs mode.
3. Each profile is fetched, parsed for headline fields (owner, business, industry, About Us, recommendations), and enriched with structured data from JSON-LD when the owner has published an address and phone.
4. Records flow into the dataset as flat JSON. Configure `maxItems` to cap the run.

---

### Input

```json
{
    "mode": "cities",
    "cities": ["austin-tx", "denver-co", "raleigh-nc"],
    "maxPagesPerCity": 5,
    "maxItems": 100
}
````

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `mode` | string | `cities` | Discovery mode — `cities` walks city directory pages, `urls` fetches direct profile URLs. |
| `cities` | array | `["searchlight-nv"]` | Alignable city slugs (e.g. `las-vegas-nv`, `austin-tx`). Slug = lowercase city + dash + state code. |
| `profileUrls` | array | — | For `urls` mode. Full profile URLs (e.g. `https://www.alignable.com/searchlight-nv/awesome-adventures`). |
| `maxPagesPerCity` | integer | `5` | How many directory pages to walk per city. Each page lists ~10 businesses. |
| `maxItems` | integer | `15` | Maximum records to emit. Default 15 is sized for the Apify free-tier tester. Crank it up for real runs. |

#### URLs Mode Example

```json
{
    "mode": "urls",
    "profileUrls": [
        {"url": "https://www.alignable.com/searchlight-nv/awesome-adventures"},
        {"url": "https://www.alignable.com/north-las-vegas-nv/colleen-drinnon-american-family-insurance-agent-north-las-vegas-nv"}
    ],
    "maxItems": 50
}
```

Use this when you've already got a target list — for example, profile URLs from a sitemap, a previous run, or a prospect spreadsheet someone handed you.

***

### Alignable Small Business Scraper Output Fields

```json
{
    "business_id": "87119",
    "business_name": "Colleen Drinnon - American Family Insurance Agent - North Las Vegas, NV",
    "owner_name": "Colleen Drinnon",
    "industry": "Insurance Agency",
    "tagline": "Colleen Drinnon - American Family Insurance Agent - North Las Vegas, NV",
    "phone": "(702) 399-2227",
    "website": "http://www.amfam.com/agentlocator/myHomePage.do?agent=CLASK",
    "address": "2625 E Craig Rd Ste F",
    "city": "North Las Vegas",
    "state": "NV",
    "zip": "89030",
    "recommendations_count": 16,
    "about_us": "At your request, I can conduct a free Personal or Business Insurance Review to check for gaps and duplications in your coverage...",
    "products_services": [
        "Business Insurance",
        "Homeowners Insurance",
        "Auto Insurance",
        "Life Insurance"
    ],
    "logo_url": "https://pictures.alignable.com/...",
    "profile_url": "https://www.alignable.com/north-las-vegas-nv/colleen-drinnon-american-family-insurance-agent-north-las-vegas-nv",
    "source_city_slug": "north-las-vegas-nv",
    "scraped_at": "2026-04-27T14:01:53.970Z"
}
```

| Field | Type | Description |
|-------|------|-------------|
| `business_id` | string | Alignable internal numeric ID. |
| `business_name` | string | Registered business name as shown on the profile. |
| `owner_name` | string | Named owner / primary representative. The reason this scraper exists. |
| `industry` | string | Industry / category tag (e.g. `Tour Agency`, `Insurance Agency`). |
| `tagline` | string | Page title minus the standard suffix — single-line headline. |
| `phone` | string | null | Phone from JSON-LD. Null when the owner hasn't published one. |
| `website` | string | null | External business URL from JSON-LD `sameAs`. |
| `address` | string | null | Street address line 1 from JSON-LD. |
| `city` | string | City — JSON-LD when available, otherwise parsed from the location header. |
| `state` | string | Two-letter US state code. |
| `zip` | string | null | Postal code from JSON-LD. |
| `recommendations_count` | number | null | Peer recommendations the business has received. |
| `about_us` | string | null | Free-text profile description. |
| `products_services` | array | Service tags or premium service-listing titles. |
| `logo_url` | string | null | Profile logo image URL. |
| `profile_url` | string | Canonical Alignable profile URL, no query params. |
| `source_city_slug` | string | City slug we discovered the profile through. Empty in URLs mode. |
| `scraped_at` | string | ISO timestamp when the record was emitted. |

Phone, address, ZIP, website, and logo come from the profile's JSON-LD payload. Owners who haven't filled in those fields will return null — that's the trade-off Alignable makes with optional structured data, and we surface it honestly rather than guessing.

***

### FAQ

#### How do I scrape Alignable?

Alignable Small Business Scraper handles it. Pick a mode — `cities` if you want to discover profiles by US city, or `urls` if you already have a target list. The scraper walks directory pagination, fetches each profile, and returns flat JSON. No browser, no proxy.

#### How much does Alignable Small Business Scraper cost to run?

Alignable Small Business Scraper uses pay-per-event pricing — $0.10 per run plus $0.001 per record. A 1,000-record run costs about $1.10, which is less than what you'd pay for a coffee that comes with the WiFi password.

#### Why does the owner name matter so much?

Alignable is the only US small-business directory where every public profile centres on a named owner. Most lead-gen workflows hit a wall at "info@" — Alignable Small Business Scraper hands you the human's name on every record, so your outreach can start with one.

#### Why are some fields null on certain profiles?

Alignable Small Business Scraper extracts phone, address, ZIP, and website from the profile's JSON-LD structured data. Sparse profiles — typically owners who joined and never filled out their business hours — won't have those fields, so we return null. The owner name, business name, industry, and About Us text remain reliable.

#### Does Alignable Small Business Scraper need proxies?

Alignable Small Business Scraper doesn't need proxies. The site is fronted by CloudFront with no Cloudflare managed challenge, and tolerates datacenter IPs at conservative concurrency. Plain HTTP, polite pacing.

***

### Need More Features?

Need custom fields, additional filters, or a related target site? [File an issue](https://console.apify.com/actors/issues) or get in touch.

### Why Use Alignable Small Business Scraper?

- **Owner-level data** — Returns the named owner on every record, which is what most SMB directories make you guess at.
- **Honest output** — Returns null for fields the owner didn't publish. No hallucinated phone numbers, no scraped-from-the-About-page-and-prayed-over street addresses.
- **Cheap** — $0.001 per record. That's cents per hundred profiles, which is roughly what they're worth before you do the work of using them.

# Actor input Schema

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

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

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

Provide any feedback or suggestions for improvements.

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

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

## `mode` (type: `string`):

How to discover businesses. 'cities' walks per-city directory pages by slug. 'urls' fetches user-supplied profile URLs directly.

## `cities` (type: `array`):

List of Alignable city slugs (e.g. 'las-vegas-nv', 'austin-tx', 'searchlight-nv'). Slug = lowercase city + dash + state code, exactly as Alignable uses it. Find one by visiting alignable.com/{your-city}-{state} in a browser.

## `profileUrls` (type: `array`):

For 'urls' mode. Full Alignable profile URLs (e.g. https://www.alignable.com/searchlight-nv/awesome-adventures). Plain strings and {url: '...'} entries both work.

## `maxPagesPerCity` (type: `integer`):

How many directory pages to walk per city before stopping. Each page lists ~10 businesses. Set higher for large metros.

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

Maximum number of business records to emit. Caps city directory walks and the per-batch fetch in URLs mode. Default 15 keeps test runs comfortably under Apify's 5-minute tester timeout.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "mode": "cities",
  "cities": [
    "searchlight-nv"
  ],
  "maxPagesPerCity": 5,
  "maxItems": 15
}
```

# Actor output Schema

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

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "mode": "cities",
    "cities": [
        "searchlight-nv"
    ],
    "maxPagesPerCity": 5,
    "maxItems": 15
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/alignable-small-business-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "mode": "cities",
    "cities": ["searchlight-nv"],
    "maxPagesPerCity": 5,
    "maxItems": 15,
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/alignable-small-business-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "mode": "cities",
  "cities": [
    "searchlight-nv"
  ],
  "maxPagesPerCity": 5,
  "maxItems": 15
}' |
apify call jungle_synthesizer/alignable-small-business-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Alignable Small Business Scraper - Owner Name + Contacts",
        "description": "Scrape small-business profiles from Alignable: owner name, business name, industry, address, phone, website, recommendations count, About Us narrative, and product/service tags. Discover by US city slug or supply direct profile URLs.",
        "version": "1.0",
        "x-build-id": "nAKqwMsTZnUoJZ6mK"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~alignable-small-business-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-alignable-small-business-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/jungle_synthesizer~alignable-small-business-scraper/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-alignable-small-business-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/jungle_synthesizer~alignable-small-business-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-alignable-small-business-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": {
                    "sp_intended_usage": {
                        "title": "What is the intended usage of this data?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Please describe how you plan to use the data extracted by this crawler."
                    },
                    "sp_improvement_suggestions": {
                        "title": "How can we improve this crawler for you?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide any feedback or suggestions for improvements."
                    },
                    "sp_contact": {
                        "title": "Contact Email",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide your email address so we can get in touch with you."
                    },
                    "mode": {
                        "title": "Run Mode",
                        "enum": [
                            "cities",
                            "urls"
                        ],
                        "type": "string",
                        "description": "How to discover businesses. 'cities' walks per-city directory pages by slug. 'urls' fetches user-supplied profile URLs directly.",
                        "default": "cities"
                    },
                    "cities": {
                        "title": "City Slugs",
                        "type": "array",
                        "description": "List of Alignable city slugs (e.g. 'las-vegas-nv', 'austin-tx', 'searchlight-nv'). Slug = lowercase city + dash + state code, exactly as Alignable uses it. Find one by visiting alignable.com/{your-city}-{state} in a browser.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "profileUrls": {
                        "title": "Profile URLs",
                        "type": "array",
                        "description": "For 'urls' mode. Full Alignable profile URLs (e.g. https://www.alignable.com/searchlight-nv/awesome-adventures). Plain strings and {url: '...'} entries both work.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxPagesPerCity": {
                        "title": "Max Pages Per City",
                        "minimum": 1,
                        "type": "integer",
                        "description": "How many directory pages to walk per city before stopping. Each page lists ~10 businesses. Set higher for large metros.",
                        "default": 5
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of business records to emit. Caps city directory walks and the per-batch fetch in URLs mode. Default 15 keeps test runs comfortably under Apify's 5-minute tester timeout.",
                        "default": 15
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
