# Etsy Shop & Seller Scraper — Find Shops by Niche (Bulk) (`yumitori/etsy-shop-finder`) Actor

Etsy shop & seller scraper — bulk-list every shop in a niche with sales, listings, location, rating & URL. Query-splitting beats Etsy's ~12k cap (50k+ pool). For market & competitor research, seller lists & POD/dropshipping sourcing; feeds the Etsy Dropshipping & POD Supplier Finder.

- **URL**: https://apify.com/yumitori/etsy-shop-finder.md
- **Developed by:** [Yakugusa Yumitori](https://apify.com/yumitori) (community)
- **Categories:** E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 shops

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

## Etsy Shop & Seller Scraper — Find Every Shop in a Niche (Bulk)

**Bulk-scrape every Etsy shop and seller in a niche.** Type a keyword and pull thousands of shops — with each shop's **sales, active listings, location, rating, review count, and URL** — ready to export, filter, or feed into your research and prospecting pipeline. A fast **Etsy shop scraper** and **seller-list builder** in one.

Most Etsy tools are stuck at ~12,000 results per search. This actor **breaks past that cap** by auto-splitting your niche into dozens of narrow sub-searches and merging the distinct shops — so you can pull a niche's *full* shop pool (broad categories have **50,000+** shops), not just the first 12k.

Built for **seller prospecting, competitor discovery, market sizing, print-on-demand (POD) niche research, and supplier/reseller sourcing** on Etsy — at any scale, reliably.

Pair it with the [Etsy Dropshipping & POD Supplier Finder](https://apify.com/yumitori/etsy-manufacturer-finder) to turn any shop on the list into a **print-on-demand / dropshipping check** — see which shops are POD and who prints for them.

### 🎯 Best For

- **Etsy seller database / list** — build a targeted list of shops in any niche (name, URL, size, location) to research and shortlist for wholesale or partnerships, then reach them *on Etsy* (shop profiles, not scraped emails)
- **Etsy competitor research** — surface every shop competing in your category, ranked-adjacent data included (sales, listings, rating)
- **Find sellers by niche** — pull every shop selling in a niche, category, or location, deduplicated into one clean list
- **Market & demand research** — the run log reports how many shops match each niche (how saturated it is), and every row shows how big/active each shop is (sales, listings) — spot high-demand, low-competition niches
- **POD & dropshipping niche research** — pull every shop in a print-on-demand niche, then feed them into the [Etsy Dropshipping & POD Supplier Finder](https://apify.com/yumitori/etsy-manufacturer-finder) to see which are POD/dropshipping
- **Supplier & reseller sourcing** — find shops to buy from, dropship-vet, or resell for
- **Agency prospecting** — pull tens of thousands of shops across many niches in one pipeline
- **Feeding a supply-chain audit** — hand the shop list to the [Etsy Dropshipping & POD Supplier Finder](https://apify.com/yumitori/etsy-manufacturer-finder) to see where each shop actually manufactures

### 🚀 Break Past Etsy's 12,000-Result Cap

Etsy limits any single shop search to about **12,000 results** — an offset ceiling, not a data limit ("jewelry" genuinely has **51,000+** shops). Flip on **Expand** and the actor splits your seed into many narrow sub-queries (`silver jewelry`, `gold jewelry`, `handmade jewelry`, `beaded jewelry`…), each fully pageable, then **unions the distinct shops**. Because those sub-queries barely overlap, the union marches toward the niche's true shop count instead of stopping at 12k.

Prefer control? Pass your own **list of keywords** and results are merged and de-duplicated across all of them.

### 🧪 Example Runs — input → what you get

**Top shops in a niche**
```json
{ "keyword": "macrame wall hanging" }
````

→ Every shop selling macrame wall hangings, each with sales, active listings, location, rating, review count, and URL.

**Go past the 12k cap on a big category**

```json
{ "keyword": "jewelry", "expand": true, "maxShopsTotal": 25000 }
```

→ Tens of thousands of jewelry shops (past Etsy's ~12k-per-search limit) via sub-query splitting, de-duplicated by shop.

**One combined shop list across several niches**

```json
{ "keywords": ["candles", "soap", "bath bombs"] }
```

→ A single, de-duplicated shop list merged across all three niches — plus a `shop-names.txt` you can copy in one click.

### ⚙️ How It Works

1. You give it a **keyword** (or a list of keywords).
2. It pulls every matching shop from Etsy's public shop search.
3. With **Expand** on, it fans the seed into narrow sub-queries to blow past the 12k cap.
4. It de-duplicates by shop and streams the results to your dataset as they come in.

No login, no cookies, no CAPTCHA — just clean, structured shop data.

### 📊 Reliability & Speed

- **~40 shops/second** — pages are fetched in parallel, so a 12,000-shop niche completes in roughly 5 minutes.
- **Built for scale** — large pulls run to completion without getting blocked.
- **De-duplicated** — merged distinct shops across every query, even in Expand mode.

### 📝 Inputs

- `keyword` — the niche to find shops for (e.g. `jewelry`, `macrame wall hanging`, `custom neon sign`)
- `keywords` — or a list of niches; results merge and de-dupe across all of them
- `expand` — split the seed into sub-queries to go past 12k (union of distinct shops)
- `maxShopsPerQuery` — how deep to page each query (up to 12,000)
- `maxShopsTotal` — overall cap across all queries (0 = unlimited); use it to bound cost with Expand on

Every field has an in-form description explaining exactly what it does.

### 📤 Output

One row per distinct shop:

| Field | Description |
|-------|-------------|
| `shop_id` | Etsy shop ID (feed this into the Supplier Finder's Shop mode) |
| `shop_name` | Shop name |
| `shop_url` | Link to the shop |
| `sales` | Total sales count |
| `active_listings` | Number of active listings |
| `location` | Shop location |
| `rating` / `review_count` | Average rating and number of reviews |
| `open_date` | When the shop opened |
| `is_vacation` | Whether the shop is currently on vacation mode |
| `headline` | Shop tagline |

Example row:

```json
{
  "shop_id": 6790625,
  "shop_name": "JESSIELDESIGNS",
  "shop_url": "https://www.etsy.com/shop/JESSIELDESIGNS",
  "sales": 161700,
  "active_listings": 7772,
  "location": "Pennsylvania, United States",
  "rating": 4.9,
  "review_count": 30310,
  "open_date": "2015-03-11"
}
```

**Plus a one-click copy list.** Every run also writes plain-text list records to the Key-Value Store (the run's **Storage** tab) so you can grab the whole list at once instead of clicking through rows:

```text
## shop-names.txt  — copy the whole thing in one click
JESSIELDESIGNS
Jewelrybytsega
jewelrybyjohan
RenaissanceJewelry
JewelryMadebyMaggie
...
```

- **`shop-names.txt`** — every shop name, one per line
- **`shop-ids.txt`** — every shop ID, one per line
- **`shop-urls.txt`** — every shop URL, one per line
- **`SHOPS`** — all three as a JSON object

### 💰 Pricing

**Tiered by your Apify plan — the higher your plan, the less you pay per shop.** You're billed only for the distinct shops returned:

| Apify plan | per 1,000 shops |
|---|---|
| Free | $1.50 |
| Bronze | $1.25 |
| Silver | $1.00 |
| Gold | **$0.80** |
| Platinum | $0.65 |
| Diamond | $0.50 |

- **Pay-per-result** — no charge for duplicates; you're only billed for distinct shops
- No separate subscription or per-seat fees — just your plan's per-shop rate
- A full 12,000-shop niche list runs from ~$18 (Free) down to ~$6 (Diamond); a 50,000-shop bulk pull from ~$75 down to ~$25

### 🔗 Turn Shops Into Supply-Chain Intel

This is the discovery half of a two-step workflow:

1. **Etsy Shop Finder** (this actor) → a bulk list of shops in your niche. Open the **`shop-names.txt`** record in the run's Key-Value Store and copy the whole list in one click.
2. Drop a shop into the **[Etsy Dropshipping & POD Supplier Finder](https://apify.com/yumitori/etsy-manufacturer-finder)** → see *where that shop actually manufactures*, catch fake-handmade dropshippers, and get a full factory map

Discover the shops here, then X-ray the ones that matter there — the `shop-names.txt` / `shop-urls.txt` lists are built to hand straight over.

### ❓ FAQ

**How do I find Etsy shops in my area / local Etsy sellers?**
Pull the niche, then filter the results by the `location` field that comes on every shop row — narrow the list to a city, state, or country to surface local sellers. (Etsy's shop search isn't location-based, so there's no "search by area" input; you filter the exported output, where each shop's location is included.)

**How do I search Etsy by seller / find someone's Etsy shop?**
Type the niche or keyword and it returns every shop selling in it — name, URL, sales, listings, location, rating — deduplicated into one list. It's shop-first discovery: you get the sellers, not just individual products.

**How do I see how many sales other Etsy sellers have?**
Every shop comes with its total sales count, active listings, rating, and review count — so you can see how big and active each competing shop is at a glance, across an entire niche.

**How do I scrape Etsy shops by niche?**
Type the niche as your keyword and run it. The Etsy shop scraper pages through Etsy's shop search and returns every distinct shop — name, sales, listings, location, rating, and URL. Turn on Expand to pull the niche's full pool past the 12k-per-search limit.

**How do I build an Etsy seller list or database?**
Every run outputs one row per seller (export to CSV/Excel/JSON) **plus** a one-click `shop-names.txt` / `shop-urls.txt` / `shop-ids.txt` list in the run's Storage tab — a ready-made Etsy seller database for any niche. Note: it returns shop profiles, not scraped emails.

**How do I find the top shops in a niche / do market & demand research?**
Etsy returns shops in relevance order, and each row carries sales and listing counts, so the first pages surface the biggest sellers. The run log also reports how many shops match the niche — a quick read on how saturated (or open) it is.

**How do I do Etsy competitor research?**
Run your own product's keyword to list every shop competing in that niche with their sales, listing count, and rating — so you can benchmark size and spot who's winning the category.

**How do I find print-on-demand (POD) or dropshipping shops on Etsy?**
Pull the niche's shop list here, then run those shops through the [Etsy Dropshipping & POD Supplier Finder](https://apify.com/yumitori/etsy-manufacturer-finder) — it flags which shops are print-on-demand/dropshipping and who prints for them. This actor builds the list; the Supplier Finder does the POD/dropship detection.

**How do I get a list of all Etsy shops in a category?**
Type the category as your keyword. For big categories, turn on Expand to pull the full pool past Etsy's 12k-per-search limit.

**How do I get past Etsy's 12,000-result limit?**
Turn on **Expand** — the actor splits your niche into many narrow sub-searches (each under the limit) and unions the distinct shops, marching toward the niche's true count. Or pass a list of related keywords.

**Can I export the shops to CSV / Excel / JSON?**
Yes — Apify lets you export the dataset in CSV, JSON, Excel, and more, or pull it via API.

**Does it need my Etsy login or an API key?**
No. It uses Etsy's public shop search — no login, no cookies, no key.

**Will it get rate-limited or blocked?**
No — it's built to run large pulls reliably, with nothing to configure on your end. Just paste a keyword and run it.

**How many shops can I pull?**
Up to ~12,000 per single query, or the niche's full pool with Expand (broad categories have 50,000+).

**Can I find the shops selling a very specific product?**
This searches shops by name/relevance, so it's strongest for broad-to-medium niches. To find shops that *sell* a very narrow product, the [Etsy Dropshipping & POD Supplier Finder](https://apify.com/yumitori/etsy-manufacturer-finder) already discovers sellers from the listing search.

**Can I get seller emails?**
No — this returns shop profile data (sales, listings, location, rating, URL), not contact emails.

***

*Unofficial research tool. Not affiliated with or endorsed by Etsy. Use responsibly and in line with Etsy's terms and applicable law.*

# Actor input Schema

## `keyword` (type: `string`):

The niche to find shops for, e.g. 'jewelry', 'macrame wall hanging', 'custom neon sign'. For a single term.

## `keywords` (type: `array`):

Run several niches at once — results are merged and de-duplicated by shop. If set, this is used instead of the single keyword. Passing many related terms is one way to blow past the 12k-per-query cap.

## `expand` (type: `boolean`):

ON: split the seed into many narrow sub-queries and union the distinct shops (goes well past 12k). OFF: just the plain keyword (up to 12k).

## `maxShopsPerQuery` (type: `integer`):

How deep to page each individual query. Capped at 12,000 (Etsy's ceiling). Lower it to sample the top shops faster.

## `maxShopsTotal` (type: `integer`):

Overall cap across all queries — mainly useful with Expand ON to bound cost. 0 = no limit (pull everything the queries surface).

## Actor input object example

```json
{
  "keyword": "custom neon sign",
  "keywords": [],
  "expand": false,
  "maxShopsPerQuery": 12000,
  "maxShopsTotal": 0
}
```

# 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 = {
    "keyword": "custom neon sign",
    "keywords": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("yumitori/etsy-shop-finder").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 = {
    "keyword": "custom neon sign",
    "keywords": [],
}

# Run the Actor and wait for it to finish
run = client.actor("yumitori/etsy-shop-finder").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 '{
  "keyword": "custom neon sign",
  "keywords": []
}' |
apify call yumitori/etsy-shop-finder --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Etsy Shop & Seller Scraper — Find Shops by Niche (Bulk)",
        "description": "Etsy shop & seller scraper — bulk-list every shop in a niche with sales, listings, location, rating & URL. Query-splitting beats Etsy's ~12k cap (50k+ pool). For market & competitor research, seller lists & POD/dropshipping sourcing; feeds the Etsy Dropshipping & POD Supplier Finder.",
        "version": "0.1",
        "x-build-id": "GEmUnaTdN22ZwqnNd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/yumitori~etsy-shop-finder/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-yumitori-etsy-shop-finder",
                "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/yumitori~etsy-shop-finder/runs": {
            "post": {
                "operationId": "runs-sync-yumitori-etsy-shop-finder",
                "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/yumitori~etsy-shop-finder/run-sync": {
            "post": {
                "operationId": "run-sync-yumitori-etsy-shop-finder",
                "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": {
                    "keyword": {
                        "title": "Niche / keyword",
                        "type": "string",
                        "description": "The niche to find shops for, e.g. 'jewelry', 'macrame wall hanging', 'custom neon sign'. For a single term."
                    },
                    "keywords": {
                        "title": "…or multiple keywords",
                        "type": "array",
                        "description": "Run several niches at once — results are merged and de-duplicated by shop. If set, this is used instead of the single keyword. Passing many related terms is one way to blow past the 12k-per-query cap.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "expand": {
                        "title": "Auto-expand into sub-queries (beat the 12k cap)",
                        "type": "boolean",
                        "description": "ON: split the seed into many narrow sub-queries and union the distinct shops (goes well past 12k). OFF: just the plain keyword (up to 12k).",
                        "default": false
                    },
                    "maxShopsPerQuery": {
                        "title": "Max shops per query",
                        "minimum": 1,
                        "maximum": 12000,
                        "type": "integer",
                        "description": "How deep to page each individual query. Capped at 12,000 (Etsy's ceiling). Lower it to sample the top shops faster.",
                        "default": 12000
                    },
                    "maxShopsTotal": {
                        "title": "Max shops total (0 = unlimited)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Overall cap across all queries — mainly useful with Expand ON to bound cost. 0 = no limit (pull everything the queries surface).",
                        "default": 0
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
