# ThomasNet Suppliers Scraper (`silentflow/thomasnet-scraper`) Actor

Extract 70+ ThomasNet supplier fields including phone numbers, certifications, locations, products, and company data. Build B2B supplier shortlists, generate leads, or analyze industrial markets. No login needed. Thousands of results in seconds.

- **URL**: https://apify.com/silentflow/thomasnet-scraper.md
- **Developed by:** [SilentFlow](https://apify.com/silentflow) (community)
- **Categories:** Lead generation, Developer tools, Automation
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.60 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## ThomasNet Suppliers Scraper

by [SilentFlow](https://apify.com/silentflow)

**Turn ThomasNet's 200,000+ industrial suppliers into a structured database.** Get phone numbers, certifications, personnel, locations, and 70+ fields per supplier. No login, no account, no cookies needed.

### ✨ Why teams choose this over other ThomasNet scrapers

Copying supplier details from ThomasNet one tab at a time? Rebuilding sourcing lists every time procurement asks for a backup vendor? Losing deals because you can't find ISO-certified alternatives fast enough?

- 📞 **Get direct contact data for every supplier.** Phone numbers, websites, and key personnel with titles. No digging through profile pages to find who to call.
- 📜 **Pull certifications with full details.** ISO 9001, AS9100, IATF 16949, diversity certs, scope, issue date, active status. Filter by cert type in your spreadsheet instead of clicking through 500 profiles.
- 🏭 **Get 70+ fields per supplier.** Revenue range, employee count, year founded, product lines, brands, branch locations, certifications, personnel. Other ThomasNet scrapers stop at name and phone number.
- 📍 **Every branch location with GPS coordinates.** Multi-location suppliers return all offices, not just headquarters. Build geographic coverage maps without manual geocoding.
- 🏷️ **Complete product catalogs included.** Product names, descriptions, images, brand portfolios, and family categories. See exactly what each supplier manufactures.
- 🔓 **No login required.** No ThomasNet account, no API key, no cookies. Paste a query and run it.

### 🎯 What you can do with ThomasNet data

| Team | What they build |
|------|----------------|
| **Procurement** | Shortlists of ISO-certified valve manufacturers within 200 miles of their plant |
| **Sales** | CRM-ready lead lists with phone numbers, company size, and decision-maker names |
| **Market research** | Regional supplier density maps by product category and revenue tier |
| **Supply chain** | Backup supplier databases filtered by certification, location, and capability |
| **Competitive intelligence** | Competitor supplier networks mapped by product family and geography |

### 📥 Input parameters

#### Search

| Parameter | Type | Description | Default |
|-----------|------|-------------|---------|
| `query` | String | Product, service, or company name (e.g. "valve", "CNC machining", "Siemens") | Required |
| `mode` | Select | `All Suppliers` searches by product/service category. `Suppliers by Name` searches company names. | All Suppliers |

#### Region

| Parameter | Type | Description | Default |
|-----------|------|-------------|---------|
| `area` | Select | Filter by US state or Canadian province | All Regions |

#### Limits

| Parameter | Type | Description | Default |
|-----------|------|-------------|---------|
| `maxResults` | Integer | Maximum number of suppliers to return. Set 0 for unlimited. | 100 |

### 📊 Output data

Each supplier record contains 70+ fields. Here is a typical result:

```json
{
    "tgramsId": "567647",
    "name": "Magnatrol Valve Corp.",
    "description": "Manufacturer of solenoid valves for steam, hot water, gas & other services...",
    "primaryPhone": "(866) 695-2531",
    "website": "https://www.magnatrol.com/",
    "address": {
        "city": "Hawthorne",
        "state": "NJ",
        "zip": "07507",
        "country": "USA",
        "latitude": 40.9498,
        "longitude": -74.1534
    },
    "annualSales": "$5 - 9.9 Mil",
    "numberEmployees": "10-49",
    "yearFounded": "1936",
    "tier": "VERIFIED",
    "type": "M",
    "certifications": [
        {
            "title": "ISO 9001:2015",
            "type": "QUALITY",
            "group": "ISO 9000",
            "isActive": true
        }
    ],
    "personnel": [
        {
            "name": "Dave Calafiore",
            "title": "Product Manager"
        }
    ],
    "families": [
        {"name": "Valves"},
        {"name": "Coils"},
        {"name": "Strainers"}
    ],
    "products": [
        {
            "name": "Solenoid Valves",
            "description": "Bronze and stainless steel solenoid valves...",
            "imageUrl": "https://..."
        }
    ],
    "locations": [
        {
            "name": "Magnatrol Valve Corp. - Hawthorne",
            "primaryPhone": "(866) 695-2531",
            "address": {
                "city": "Hawthorne",
                "state": "NJ"
            }
        }
    ],
    "brands": [{"name": "Magnatrol"}],
    "searchMode": "all",
    "scrapedAt": "2026-04-08T17:00:00Z"
}
````

### 🗂️ Data fields

| Category | Fields |
|----------|--------|
| **Company** | `tgramsId`, `name`, `description`, `tier`, `type`, `yearFounded`, `annualSales`, `numberEmployees`, `logoUrl`, `isClaimed`, `xometryVerified`, `isAdvertiser`, `isAffiliationPage`, `catalogType`, `otherActivities` |
| **Contact** | `primaryPhone`, `website`, `personnel[].name`, `personnel[].title`, `social[].type`, `social[].accountId` |
| **Location** | `address.address1`, `address.city`, `address.state`, `address.stateName`, `address.zip`, `address.country`, `address.latitude`, `address.longitude`, `isMultiLocation`, `locationCount`, `mainLocationTgramsId`, `mainLocationName` |
| **Certifications** | `certifications[].title`, `certifications[].type`, `certifications[].group`, `certifications[].scope`, `certifications[].date`, `certifications[].isActive`, `certificationTotals[].type`, `certificationTotals[].count` |
| **Products & Brands** | `products[].name`, `products[].description`, `products[].imageUrl`, `brands[].name`, `families[].name`, `headings[].name` |
| **Branches** | `locations[].name`, `locations[].primaryPhone`, `locations[].website`, `locations[].address`, `locations[].locationTypes` |
| **Media** | `videos[].title`, `videos[].url`, `news[].headline`, `news[].summary`, `whitepapers[].title`, `whitepapers[].docUrl` |
| **Metadata** | `searchMode`, `scrapedAt` |

### 🚀 Examples

#### Find valve manufacturers across the US

```json
{
    "query": "valve manufacturers",
    "maxResults": 200
}
```

#### Look up a specific company by name

```json
{
    "query": "Siemens",
    "mode": "name",
    "maxResults": 50
}
```

#### Find injection molding suppliers in Michigan

```json
{
    "query": "injection molding",
    "area": "MI",
    "maxResults": 500
}
```

#### Pull all CNC machining shops in California

```json
{
    "query": "CNC machining",
    "area": "CN",
    "maxResults": 0
}
```

#### Get FDA-approved packaging suppliers in New Jersey

```json
{
    "query": "FDA approved packaging",
    "area": "JN",
    "maxResults": 100
}
```

### 💻 Integrations

Use the [Apify API](https://docs.apify.com/api/v2) to access results programmatically. Export as JSON, CSV, or Excel.

**Python: Feed supplier data into your sourcing pipeline**

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")
run = client.actor("silentflow/thomasnet-scraper").call(run_input={
    "query": "valve manufacturers",
    "area": "MI",
    "maxResults": 100
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['name']} | {item['primaryPhone']} | {item.get('annualSales', 'N/A')}")
```

**JavaScript: Build a supplier database from ThomasNet results**

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

const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('silentflow/thomasnet-scraper').call({
    query: 'CNC machining',
    maxResults: 200,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
    console.log(`${item.name} | ${item.primaryPhone} | ${item.yearFounded}`);
});
```

### 📈 Performance

| Metric | Value |
|--------|-------|
| Speed | 100-500 suppliers per minute |
| Fields per supplier | 70+ |
| Max results | Unlimited (set `maxResults: 0`) |
| Enrichment | Full profile: certifications, locations, personnel, products |
| Output formats | JSON, CSV, Excel |

### 💡 Tips for best results

1. **Use specific search terms.** "FDA-approved silicone tubing" returns a focused list of matching manufacturers. "Tubing" returns 3,000+ mixed results across categories. Narrow queries map to specific ThomasNet headings; broad terms match everything.

2. **Deduplicate across queries with `tgramsId`.** Each supplier has a permanent ThomasNet ID. Use it as your unique key when merging results from multiple searches.

3. **Filter certifications in post-processing.** Pull all suppliers first, then filter the `certifications` array by `type` (QUALITY, DIVERSITY, REGISTRATION) or `group` (ISO 9000, AS9100) in your pipeline.

4. **Use `area` for regional sourcing.** Narrow by state or province when proximity matters, or leave "All Regions" and filter results by `address.state` later for more flexibility.

5. **Set `maxResults: 0` for full category coverage.** When building comprehensive supplier databases, remove the limit to get every matching company in the category.

### ❓ FAQ

**Do I need a ThomasNet account?**
No. No login, no API key, no cookies. The scraper extracts publicly available supplier data directly.

**How many suppliers can I extract?**
No hard limit. Set `maxResults: 0` to get every supplier matching your query. "CNC machining" returns 28,000+ companies.

**What is the difference between search modes?**
"All Suppliers" searches by product and service category. It returns the broadest results. "Suppliers by Name" matches company names directly, useful when you know which company you are looking for.

**Can I filter suppliers by certification?**
The scraper pulls all certification data per supplier. Filter the `certifications` array by `type`, `group`, or `title` in your pipeline.

**How do I identify unique suppliers across multiple runs?**
Use the `tgramsId` field. It is the permanent ThomasNet company identifier and stays consistent across searches.

**Does this scraper get contact names?**
The `personnel` array includes names and titles of key contacts listed on each supplier's ThomasNet profile.

**What supplier types are available?**
The `type` field indicates the company's role: M (Manufacturer), D (Distributor), CS (Custom Service Provider), and others as listed on ThomasNet.

### 📬 Support

Need something this scraper doesn't do yet? We ship features fast.

- Feature requests go straight to our backlog
- Enterprise needs? We do custom integrations

Response time: usually under 24 hours.

# Actor input Schema

## `query` (type: `string`):

Search term (product, service, or company name). Examples: "valve", "CNC machining", "Siemens".

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

"All Suppliers" finds by product/service category. "Suppliers by Name" searches company names.

## `area` (type: `string`):

Filter by US state or Canadian province. Use "All Regions" then filter results by address in post-processing.

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

Maximum number of suppliers to return. Set 0 for unlimited.

## `includeFamilies` (type: `boolean`):

Include each supplier's full product family map with nested sub-categories (e.g. Valves → Ball Valves, Check Valves, ...).

## Actor input object example

```json
{
  "query": "valve",
  "mode": "all",
  "area": "NA",
  "maxResults": 100,
  "includeFamilies": false
}
```

# Actor output Schema

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

Complete supplier data including company info, contacts, certifications, locations, and products.

## `resultsCSV` (type: `string`):

Data in CSV format.

## `resultsExcel` (type: `string`):

Data in Excel format.

# 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 = {
    "query": "valve"
};

// Run the Actor and wait for it to finish
const run = await client.actor("silentflow/thomasnet-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 = { "query": "valve" }

# Run the Actor and wait for it to finish
run = client.actor("silentflow/thomasnet-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 '{
  "query": "valve"
}' |
apify call silentflow/thomasnet-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "ThomasNet Suppliers Scraper",
        "description": "Extract 70+ ThomasNet supplier fields including phone numbers, certifications, locations, products, and company data. Build B2B supplier shortlists, generate leads, or analyze industrial markets. No login needed. Thousands of results in seconds.",
        "version": "1.0",
        "x-build-id": "0CapjOfayYWBTDcqs"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/silentflow~thomasnet-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-silentflow-thomasnet-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/silentflow~thomasnet-scraper/runs": {
            "post": {
                "operationId": "runs-sync-silentflow-thomasnet-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/silentflow~thomasnet-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-silentflow-thomasnet-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",
                "required": [
                    "query"
                ],
                "properties": {
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Search term (product, service, or company name). Examples: \"valve\", \"CNC machining\", \"Siemens\"."
                    },
                    "mode": {
                        "title": "Search mode",
                        "enum": [
                            "all",
                            "name"
                        ],
                        "type": "string",
                        "description": "\"All Suppliers\" finds by product/service category. \"Suppliers by Name\" searches company names.",
                        "default": "all"
                    },
                    "area": {
                        "title": "Region",
                        "enum": [
                            "NA",
                            "AL",
                            "AB",
                            "AZ",
                            "AR",
                            "BC",
                            "CN",
                            "CS",
                            "CO",
                            "CT",
                            "DE",
                            "FL",
                            "GA",
                            "ID",
                            "IL",
                            "IN",
                            "IA",
                            "KS",
                            "KY",
                            "LA",
                            "ME",
                            "MB",
                            "MD",
                            "EM",
                            "WM",
                            "MI",
                            "MN",
                            "MS",
                            "MO",
                            "MT",
                            "NV",
                            "NH",
                            "JN",
                            "JS",
                            "NM",
                            "DN",
                            "UN",
                            "NC",
                            "NS",
                            "NO",
                            "SO",
                            "OK",
                            "ON",
                            "OR",
                            "EP",
                            "WP",
                            "QC",
                            "RI",
                            "SK",
                            "SC",
                            "TN",
                            "NT",
                            "GT",
                            "UT",
                            "VT",
                            "VA",
                            "WA",
                            "WV",
                            "WI"
                        ],
                        "type": "string",
                        "description": "Filter by US state or Canadian province. Use \"All Regions\" then filter results by address in post-processing.",
                        "default": "NA"
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of suppliers to return. Set 0 for unlimited.",
                        "default": 100
                    },
                    "includeFamilies": {
                        "title": "Include product families",
                        "type": "boolean",
                        "description": "Include each supplier's full product family map with nested sub-categories (e.g. Valves → Ball Valves, Check Valves, ...).",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
