# ThomasNet US B2B Supplier & Manufacturer Scraper (`xtracto/thomasnet-suppliers`) Actor

Scrape verified US & North American manufacturer and supplier profiles from ThomasNet: capabilities, certifications (ISO, ITAR, AS9100), revenue band, employee count, direct website, and key contacts.

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

## Pricing

from $3.00 / 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.
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 US Supplier & Manufacturer Scraper

Extract verified North American manufacturer and supplier leads from **ThomasNet** — company name, capabilities, certifications, estimated revenue, employee count, year founded, direct website, location, and key contacts — from any keyword or category search.

Built for procurement teams, sales/lead-gen agencies, and e-commerce brands sourcing **non-China supply-chain alternatives**.

---

### Why use this actor

- **No account, no login, no API key** required.
- **Rich, structured detail** per supplier — not just a name and a link, but capabilities (materials, industries, production scale), certifications (ISO 9001, AS9100, ITAR, FDA…), revenue band, headcount, founding year, and the company's **direct website**.
- **Search by anything** — keywords or category phrases (`"cnc machining"`, `"medical injection molding"`, `"titanium forging"`). Run many terms in one go.
- **Optional deep enrichment** — pull each supplier's full profile for key personnel, company-authored descriptions, and exact geo-coordinates.
- **Automatic de-duplication** across all your search terms, plus automatic retries on temporary hiccups.
- **Stable JSON output** ready for pipelines, CRMs, spreadsheets, or databases (download as JSON, CSV, or Excel).

---

### How it works

1. You give the actor one or more **search terms** (keywords or category phrases).
2. For each term, the actor finds the most relevant US/North-American suppliers and pulls their full details — company name, description, manufacturing capabilities, certifications, estimated revenue, employee count, year founded, direct website, phone, and location.
3. *(Optional)* Turn on **profile enrichment** to add each supplier's key personnel, company-written description, and map coordinates.
4. Results stream into your dataset, de-duplicated and ready to download as JSON, CSV, or Excel.

You don't manage any scrapers, browsers, accounts, or infrastructure — just provide search terms and press **Run**.

---

### Use Cases

**Non-China supply chain sourcing**
Search for the specific components you buy overseas (`"custom injection molding"`, `"PCB assembly"`, `"stainless steel castings"`) and get a verified list of US/North-American alternatives — with revenue size, certifications, and direct contact info — ready to hand to your procurement team.

**Defense & aerospace vendor qualification**
Filter the output for `certifications` containing `"ITAR"`, `"AS9100"`, or `"NADCAP"` to build a shortlist of pre-qualified suppliers for a government or aerospace program. The actor returns the exact certification names, so qualification screening is a single spreadsheet filter.

**B2B sales prospecting**
Run 20 specific category terms in one job, de-duplicate, and export a targeted manufacturer list to your CRM. Use `annualSales`, `numberEmployees`, and `industries` to score and tier each lead before the first outreach.

**Market landscape mapping**
Search a product category and analyze the output by `location` and `yearFounded` to understand where US manufacturing capacity is concentrated, how fragmented the supplier base is, and which players are long-established vs. newer entrants.

**Procurement due diligence**
Turn on `enrichProfiles` to pull key personnel names and titles for every supplier on your shortlist — so you know exactly who to call and at what company before the first conversation.

### Input

```json
{
  "searchTerms": ["cnc machining", "injection molding"],
  "maxSuppliersPerTerm": 25,
  "enrichProfiles": true,
  "enrichmentConcurrency": 3,
  "cacheBuster": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
````

| Field | Type | Description |
|---|---|---|
| `searchTerms` | array | **Required.** One or more keywords/category phrases to search (e.g. `"cnc machining"`, `"medical injection molding"`). Use several specific terms for the widest coverage. |
| `maxSuppliersPerTerm` | integer | Max suppliers to collect per term. Default: `25`. |
| `enrichProfiles` | boolean | Fetch each supplier's full profile page for extra detail (key personnel, company-authored description, geo-coordinates). Slower but richer. Default: `false`. |
| `enrichmentConcurrency` | integer | How many profiles to enrich at once. Default: `3`. |
| `cacheBuster` | boolean | Keeps results fresh and correct for each distinct term. Recommended on. Default: `true`. |
| `proxyConfiguration` | object | Residential proxy is strongly recommended for reliable results at scale. Default: Apify Residential. |

> **Coverage tip:** each search term returns up to 25 of the *most relevant* suppliers. To build a large list, supply **many specific terms** (e.g. `"5-axis cnc machining"`, `"swiss screw machining"`, `"exotic metal cnc machining"`) rather than one broad term — narrower terms also produce better-targeted leads. Duplicates are removed automatically.

***

### Output

Each supplier becomes one dataset record. Real sample (enrichment on; long lists truncated):

```json
{
  "_source": "thomasnet-suppliers",
  "_input": "custom die stamping",
  "_scrapedAt": "2026-05-29T14:32:00Z",
  "name": "Aggressive Engineering Corp.",
  "tgramsId": "298240",
  "description": "Custom manufacturer of dies, tooling, fixtures and stampings. Dies include stamping, single hit, progressive, transfer, coining, forming, drawing, blanking, secondary, hand transfer and swaging dies. Fixtures and tooling includes checking, welding, inspection, and assembly fixtures ...",
  "categories": [
    "Medical Diaphragm Stampings",
    "Medical Stampings",
    "Custom Stampings",
    "Die Stampings",
    "Stampings"
  ],
  "materials": ["Aluminum", "Beryllium Copper", "Bi-Metal", "Brass", "... 26 more"],
  "industries": ["Aerospace", "Agriculture", "Automotive", "Construction", "... 6 more"],
  "productionScale": ["High Volume", "Long Run", "Low Volume", "Production Runs", "... 2 more"],
  "certifications": ["ITAR", "MIL-1-45208A"],
  "annualSales": "$5 - 9.9 Mil",
  "numberEmployees": "10-49",
  "yearFounded": "1968",
  "website": "https://www.aggrengr.com/",
  "primaryPhone": "(714) 995-8313",
  "location": "Anaheim, CA, USA",
  "address": {
    "address1": "1235 N. Knollwood Cir",
    "city": "Anaheim",
    "state": "CA",
    "stateName": "California",
    "zip": "92801",
    "country": "USA",
    "latitude": 33.84795634,
    "longitude": -117.957907
  },
  "personnel": [
    { "name": "Kathy Carter", "title": "Controller" }
  ],
  "logoUrl": "https://cdn.thomasnet.com/ccp/00298240/232866.png",
  "profileUrl": "https://www.thomasnet.com/company/aggressive-engineering-corp-298240/profile",
  "_enriched": true
}
```

| Field | Type | Description |
|---|---|---|
| `name` | string | Company name. |
| `tgramsId` | string | Stable ThomasNet company id — use it to de-duplicate or join downstream. |
| `description` | string | Company profile summary. |
| `categories` | array | Primary manufacturing categories the company is listed under. |
| `materials` | array | Materials the company works with. |
| `industries` | array | Industries served. |
| `productionScale` | array | Production scale (prototype, low/high volume, long run…). |
| `certifications` | array | Named certifications detected (ISO 9001, ISO 13485, AS9100, ITAR, FDA, MIL-spec…). Critical for defense/government sourcing. |
| `annualSales` | string | Estimated annual revenue band. |
| `numberEmployees` | string | Estimated employee-count band. |
| `yearFounded` | string | Year the company was founded. |
| `website` | string | The company's **direct** website (not a ThomasNet link). |
| `primaryPhone` | string | Primary contact phone. |
| `location` | string | Convenience `City, State, Country` string. |
| `address` | object | Full structured address incl. ZIP and map coordinates. |
| `personnel` | array | Key contacts (name + title). *Enrichment only.* |
| `descriptionByCompany` | string | Longer company-authored description. *Enrichment only.* |
| `logoUrl` | string | Company logo image URL. |
| `profileUrl` | string | Canonical ThomasNet profile link. |
| `_source` | string | Always `thomasnet-suppliers` — identifies the producing actor. |
| `_input` | string | The search term that produced this record. |
| `_scrapedAt` | string | UTC timestamp (ISO 8601). |
| `_enriched` | boolean | Present when the record was deepened via its profile page. |

> Every original ThomasNet field is also passed through verbatim, so any data point on a listing is available even if it isn't in the table above.

#### Failure records

If a search term can't be retrieved, the actor emits a clear marker instead of failing silently, so you always know which inputs were processed:

```json
{
  "_source": "thomasnet-suppliers",
  "_error": true,
  "_errorCode": "blocked_by_waf",
  "_input": "swiss screw machining",
  "_detail": "...",
  "_scrapedAt": "2026-05-29T14:34:12Z"
}
```

***

### Tips for best results

- **Use Residential proxy** (the default) for larger runs — it keeps success rates high across many search terms.
- **Go broad with terms, not depth.** Many specific search terms yield far more total suppliers than a single generic one, and the actor removes duplicates for you.
- **Turn on `enrichProfiles`** when you need key personnel or full company-authored descriptions; leave it off for fast, lightweight list-building.

***

### Other actors you may like

| Actor | What it extracts |
|---|---|
| **ThomasNet US Supplier & Manufacturer Scraper** | North American manufacturers & suppliers — capabilities, certifications, revenue, headcount, direct website *(this actor)* |
| **Myfxbook Community Outlook Scraper** | Live retail-trader sentiment per forex symbol — short/long %, average entry prices, open positions, trapped volume |

*More lead-generation and market-data actors are on the way — check the publisher profile for the latest.*

# Actor input Schema

## `searchTerms` (type: `array`):

One or more keywords/categories to search ThomasNet for (e.g. 'cnc machining', 'injection molding', 'industrial valves'). Each term returns up to 25 of the most relevant US/North-American suppliers. Use several specific terms for broad coverage.

## `maxSuppliersPerTerm` (type: `integer`):

Cap on suppliers collected per search term. ThomasNet server-renders at most 25 per term (deeper pages require browser-side JS), so values above 25 have no effect unless 'Max pages per term' is raised.

## `maxPagesPerTerm` (type: `integer`):

Pagination safety cap. Left at 1 by default because ThomasNet only server-renders page 1 (25 results); pages 2+ return empty over HTTP. The actor stops automatically on the first empty page.

## `enrichProfiles` (type: `boolean`):

Fetch each supplier's profile page for richer data (key personnel, certification counts by type, company-authored description, geo-coordinates). Slower and uses more requests/proxy traffic.

## `enrichmentConcurrency` (type: `integer`):

How many profile pages to fetch in parallel when enrichment is on. Keep low (2-4) to stay under DataDome rate limits.

## `cacheBuster` (type: `boolean`):

Append a unique query param per request to defeat ThomasNet's flaky edge cache (which can occasionally return a previous term's results). Recommended on.

## `logLevel` (type: `string`):

Set DEBUG to surface more detail in the run log while troubleshooting.

## `proxyConfiguration` (type: `object`):

Residential proxy is strongly recommended for reliable results at scale. Light runs may work without a proxy.

## Actor input object example

```json
{
  "searchTerms": [
    "cnc machining",
    "injection molding"
  ],
  "maxSuppliersPerTerm": 25,
  "maxPagesPerTerm": 1,
  "enrichProfiles": false,
  "enrichmentConcurrency": 3,
  "cacheBuster": true,
  "logLevel": "INFO",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "searchTerms": [
        "cnc machining",
        "injection molding"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("xtracto/thomasnet-suppliers").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 = { "searchTerms": [
        "cnc machining",
        "injection molding",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("xtracto/thomasnet-suppliers").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 '{
  "searchTerms": [
    "cnc machining",
    "injection molding"
  ]
}' |
apify call xtracto/thomasnet-suppliers --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "ThomasNet US B2B Supplier & Manufacturer Scraper",
        "description": "Scrape verified US & North American manufacturer and supplier profiles from ThomasNet: capabilities, certifications (ISO, ITAR, AS9100), revenue band, employee count, direct website, and key contacts.",
        "version": "0.1",
        "x-build-id": "Hiys2A4y6eF880r5o"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/xtracto~thomasnet-suppliers/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-xtracto-thomasnet-suppliers",
                "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/xtracto~thomasnet-suppliers/runs": {
            "post": {
                "operationId": "runs-sync-xtracto-thomasnet-suppliers",
                "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/xtracto~thomasnet-suppliers/run-sync": {
            "post": {
                "operationId": "run-sync-xtracto-thomasnet-suppliers",
                "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": [
                    "searchTerms"
                ],
                "properties": {
                    "searchTerms": {
                        "title": "Search terms (keywords or categories)",
                        "minItems": 1,
                        "uniqueItems": true,
                        "type": "array",
                        "description": "One or more keywords/categories to search ThomasNet for (e.g. 'cnc machining', 'injection molding', 'industrial valves'). Each term returns up to 25 of the most relevant US/North-American suppliers. Use several specific terms for broad coverage.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxSuppliersPerTerm": {
                        "title": "Max suppliers per term",
                        "minimum": 1,
                        "maximum": 250,
                        "type": "integer",
                        "description": "Cap on suppliers collected per search term. ThomasNet server-renders at most 25 per term (deeper pages require browser-side JS), so values above 25 have no effect unless 'Max pages per term' is raised.",
                        "default": 25
                    },
                    "maxPagesPerTerm": {
                        "title": "Max pages per term (advanced)",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Pagination safety cap. Left at 1 by default because ThomasNet only server-renders page 1 (25 results); pages 2+ return empty over HTTP. The actor stops automatically on the first empty page.",
                        "default": 1
                    },
                    "enrichProfiles": {
                        "title": "Enrich with profile pages",
                        "type": "boolean",
                        "description": "Fetch each supplier's profile page for richer data (key personnel, certification counts by type, company-authored description, geo-coordinates). Slower and uses more requests/proxy traffic.",
                        "default": false
                    },
                    "enrichmentConcurrency": {
                        "title": "Enrichment concurrency",
                        "minimum": 1,
                        "maximum": 8,
                        "type": "integer",
                        "description": "How many profile pages to fetch in parallel when enrichment is on. Keep low (2-4) to stay under DataDome rate limits.",
                        "default": 3
                    },
                    "cacheBuster": {
                        "title": "Cache buster",
                        "type": "boolean",
                        "description": "Append a unique query param per request to defeat ThomasNet's flaky edge cache (which can occasionally return a previous term's results). Recommended on.",
                        "default": true
                    },
                    "logLevel": {
                        "title": "Log level",
                        "enum": [
                            "INFO",
                            "DEBUG"
                        ],
                        "type": "string",
                        "description": "Set DEBUG to surface more detail in the run log while troubleshooting.",
                        "default": "INFO"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Residential proxy is strongly recommended for reliable results at scale. Light runs may work without a proxy.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
