# Gumroad Product & Creator Scraper (`devilscrapes/gumroad-product-scraper`) Actor

Extract structured Gumroad product and creator data via Discover search, storefront URL, or direct product link. Get pricing, ratings, seller details, categories, and tags in clean typed rows for reseller research, pricing intel, and affiliate offer-hunting.

- **URL**: https://apify.com/devilscrapes/gumroad-product-scraper.md
- **Developed by:** [DevilScrapes](https://apify.com/devilscrapes) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 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.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

<div align="center">
  <img src=".actor/icon.svg" width="160" alt="Devil Scrapes mark" />

## Gumroad Product & Creator Scraper

**💰 $2.52 / 1 000 results** &nbsp;·&nbsp; pay only for results &nbsp;·&nbsp; no credit card to try

_We do the dirty work so your dataset stays clean._ 😈

Extract structured Gumroad product and creator data via Discover search, storefront URL, or direct product link. Get pricing, ratings, seller details, categories, and tags in clean typed rows for reseller research, pricing intel, and affiliate offer-hunting.

</div>

---

### 🎯 What this scrapes

Gumroad renders every page — Discover search results, creator storefronts, and individual product pages — through an Inertia.js single-page app: the entire dataset for that page is embedded as one HTML-entity-encoded JSON blob inside a `data-page` attribute, and each of the three page types exposes a different subset of fields under a different shape. This Actor normalizes all three into one consistent row schema.

Point it at a Discover query with filters (category, tags, filetype, price, rating, sort), a creator's storefront URL, a list of direct product URLs, or any combination of the three — it de-duplicates overlapping products found across modes and stops the instant your result cap is hit.

### 🔥 Features

- 🛡️ **Browser fingerprint rotation** — `curl-cffi` impersonates real Chrome / Firefox / Safari TLS handshakes on every run.
- 🔁 **Retries with exponential backoff** on `429` / `5xx` responses — up to 5 attempts, `Retry-After` honoured.
- 🧩 **Three input modes, one schema** — Discover search, creator storefront, and direct product URL all normalize to the same `ResultRow` shape, with cross-mode de-duplication on product ID.
- 🧊 **Clean, typed dataset rows** — Pydantic-validated fields, ISO-8601 timestamps, stable IDs. Export as JSON, CSV, or Excel directly from Apify Console.
- 💰 **Pay-Per-Event pricing** — you pay only for results that land. No data, no charge beyond the small start fee.

### 💡 Use cases

- **Reseller / dropship research** — scan Discover by category, tag, or price band to find products worth reselling or bundling.
- **Indie-hacker market research** — pull a competitor category's full price and rating spread before shipping a similar product.
- **Affiliate offer-hunting** — filter Discover by rating and sales signal to shortlist products worth promoting.
- **Pricing intelligence** — snapshot a creator's or category's price points on a recurring schedule to track how they move.
- **Creator monitoring** — point Creator URLs at a storefront to track new listings and price changes over time.

### ⚙️ How to use it

1. Click **Try for free** at the top of the Store listing.
2. Fill in at least one input mode — a **Search query**, **Category**, **Tags**, **Filetypes**, **Creator URLs**, or **Product URLs** — or combine several.
3. Optionally narrow Discover results with **Min/max price**, **Min rating**, and **Sort order**.
4. Click **Start**. Results stream into the run's dataset as they're found.
5. Export from **Storage → Dataset** as JSON, CSV, or Excel — or pull via the Apify API.

### 📥 Input

| Field | Type | Required | Default | Notes |
|---|---|:--:|---|---|
| `searchQuery` | `string` | no | — | Discover free-text query. |
| `category` | `string` | no | — | Discover taxonomy slug. |
| `tags` | `array` | no | `[]` | Discover tag slugs. |
| `filetypes` | `array` | no | `[]` | Discover file extensions, e.g. `pdf`. |
| `minPrice` / `maxPrice` | `number` | no | — | Whole-currency-unit price bounds (Discover only). |
| `minRating` | `number` | no | — | Minimum average rating, 1-5 (Discover only). |
| `sortBy` | `string` | no | — | One of `hot_and_new`, `newest`, `price_asc`, `price_desc`, `highest_rated`, `best_selling`, `page_layout_search`. |
| `creatorUrls` | `array` | no | `[]` | Creator storefront usernames or URLs. |
| `productUrls` | `array` | no | `[]` | Direct product URLs. |
| `maxResults` | `integer` | no | `100` | Cap on total de-duplicated rows emitted. |
| `proxyConfiguration` | `object` | no | `{"useApifyProxy": false}` | Apify Proxy configuration. |

At least one of `searchQuery` / `category` / `tags` / `filetypes` / `creatorUrls` / `productUrls` must be set.

#### Example input

```json
{
  "searchQuery": "notion template",
  "maxResults": 3,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

### 📤 Output

One dataset item per unique Gumroad product.

| Field | Type | Notes |
|---|---|---|
| `product_id` | `string` | Gumroad product identifier. |
| `permalink` | `string` | Product permalink slug. |
| `name` | `string` | Product title. |
| `url` | `string` | Canonical product URL. |
| `seller_name` | `string` | Seller display name. |
| `seller_profile_url` | `string` | Seller storefront URL. |
| `seller_username` | `string \| null` | Seller subdomain username. |
| `seller_is_verified` | `boolean` | Whether Gumroad marks the seller verified. |
| `thumbnail_url` | `string \| null` | Product thumbnail image URL. |
| `native_type` | `string` | Gumroad's internal product type slug. |
| `price_cents` | `integer` | Price in minor currency units (cents). |
| `currency_code` | `string` | ISO currency code, e.g. `usd`. |
| `is_pay_what_you_want` | `boolean` | Whether pay-what-you-want pricing is allowed. |
| `is_subscription` | `boolean` | True when the product has a non-null recurrence. |
| `recurrence` | `string \| null` | Billing recurrence slug if a subscription. |
| `duration_in_months` | `integer \| null` | Subscription duration in months, if set. |
| `rating_average` | `number \| null` | Average product rating. |
| `rating_count` | `integer \| null` | Number of ratings. |
| `sales_count` | `integer \| null` | Seller-controlled sales count; product-URL mode only, often null. |
| `category` | `string \| null` | Echo of the run's `category` input for Discover rows; null otherwise. |
| `tags` | `array` | Echo of the run's `tags` input for Discover rows; empty otherwise. |
| `description` | `string \| null` | Stripped product description; product-URL mode only. |
| `source_mode` | `string` | `discover`, `creator`, or `product_url`. |
| `scraped_at` | `string` | UTC ISO-8601 fetch timestamp. |

#### Example output

```json
{
  "product_id": "ir1eqsEjUjZiCnrtMQiL7g==",
  "permalink": "txjewq",
  "name": "Italy Arrival Blueprint: Your First 90 Days in Italy",
  "url": "https://michelwilfried.gumroad.com/l/txjewq",
  "seller_name": "MICHEL WILFRIED",
  "seller_profile_url": "https://michelwilfried.gumroad.com/",
  "seller_username": "michelwilfried",
  "seller_is_verified": false,
  "thumbnail_url": "https://public-files.gumroad.com/627orhogh8f08xjlw36t5yrfym47",
  "native_type": "digital",
  "price_cents": 2700,
  "currency_code": "usd",
  "is_pay_what_you_want": false,
  "is_subscription": false,
  "recurrence": null,
  "duration_in_months": null,
  "rating_average": 4.8,
  "rating_count": 52,
  "sales_count": null,
  "category": null,
  "tags": [],
  "description": "Most Expats Waste Months Figuring Out Italian Bureaucracy...",
  "source_mode": "product_url",
  "scraped_at": "2026-07-20T21:45:00Z"
}
```

### 💰 Pricing

Pay-Per-Event — you are charged only when these events fire:

| Event | USD | What it covers |
|---|---:|---|
| `actor-start` | $0.02 | One-off warm-up charge per run |
| `product-result` | $0.0025 | Per unique, de-duplicated product row written to the dataset |

**Example**: 1 000 results at the rates above ≈ **$2.52**. No subscription, no minimum commitment, no card required to start — Apify gives every new account $5 of free credit.

### 🚧 Limitations

- **No purchase/download/license flows** — we never touch `/purchases/` or any authenticated Gumroad endpoint.
- **Creator mode is a storefront snapshot** — Gumroad's profile page shows a curated product list, not a verified-exhaustive catalog. Combine with **Product URLs** for guaranteed coverage of specific listings.
- **No seller contact or review-text scraping** — existing single-purpose Actors already cover that ground.
- **Point-in-time snapshot** — this Actor does not track historical price or sales changes across runs.

### ❓ FAQ

**Is this legal?**

Yes — we only fetch public, unauthenticated Discover, storefront, and product pages. Gumroad's own `robots.txt` disallows only `/purchases/`, and we never touch purchase, download, or license flows.

**Does Creator mode return a seller's entire catalog?**

It returns the storefront snapshot Gumroad renders on the profile page — a curated, not guaranteed-exhaustive, product list. For an exact catalog, combine it with known **Product URLs**.

**Why are `category` and `tags` null on some rows?**

Those two fields echo your run's own Discover filters, not something scraped per product — Gumroad's product payload doesn't carry them. Creator- and product-URL-mode rows always get `category: null, tags: []`.

**Can I get sales counts?**

Only in product-URL mode, and even then the seller controls whether it's shown — expect `null` fairly often.

**Do I need a Gumroad account or API key?**

No — every field comes from Gumroad's own public pages.

### 💬 Your feedback

Spotted a bug, hit a rate-limit edge case, or need an extra field? Open an issue on the Actor's **Issues** tab in Apify Console — we ship fixes weekly and we read every report.

***

<div align="center">

Built by **[Devil Scrapes](https://apify.com/DevilScrapes)** 😈 — a small fleet of
opinionated public-data Actors. Honest pricing, real engineering, zero fine print.

</div>

# Actor input Schema

## `searchQuery` (type: `string`):

Free-text query for Gumroad's Discover search (<code>gumroad.com/discover?query=...</code>). One of <strong>Search query</strong> / <strong>Category</strong> / <strong>Tags</strong> / <strong>Filetypes</strong> / <strong>Creator URLs</strong> / <strong>Product URLs</strong> must be set.

## `category` (type: `string`):

Gumroad taxonomy slug to filter Discover search (Discover mode only).

## `tags` (type: `array`):

Gumroad tag slugs to filter Discover search (Discover mode only).

## `filetypes` (type: `array`):

File extensions to filter Discover search, e.g. <code>pdf</code>, <code>zip</code> (Discover mode only).

## `minPrice` (type: `number`):

Minimum price in whole currency units (Discover mode only). Free items pass regardless of this filter.

## `maxPrice` (type: `number`):

Maximum price in whole currency units (Discover mode only).

## `minRating` (type: `number`):

Minimum average product rating, 1–5 (Discover mode only).

## `sortBy` (type: `string`):

Sort order for Discover search results (Discover mode only). Omit for Gumroad's default relevance ordering.

## `creatorUrls` (type: `array`):

Gumroad creator storefronts to scrape — a bare username (<code>somecreator</code>) or full URL (<code>https://somecreator.gumroad.com/</code>). Every product listed on the storefront snapshot is emitted.

## `productUrls` (type: `array`):

Direct Gumroad product URLs, e.g. <code>https://somecreator.gumroad.com/l/permalink</code>. Emits the full product-detail field set (description, sales count).

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

Cap on total emitted, de-duplicated rows across all combined input modes.

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

Apify Proxy. Gumroad's Discover, storefront, and product pages return plain HTTP 200 with no anti-bot challenge at current traffic, so this defaults off — enable it if you scale up or see blocks.

## Actor input object example

```json
{
  "searchQuery": "notion template",
  "category": "self-improvement",
  "tags": [],
  "filetypes": [],
  "creatorUrls": [],
  "productUrls": [],
  "maxResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `datasetItems` (type: `string`):

All dataset items as JSON.

## `datasetItemsCsv` (type: `string`):

Same data exported to CSV.

## `datasetView` (type: `string`):

Open the run dataset in the Console.

# 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 = {
    "searchQuery": "notion",
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("devilscrapes/gumroad-product-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 = {
    "searchQuery": "notion",
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("devilscrapes/gumroad-product-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 '{
  "searchQuery": "notion",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call devilscrapes/gumroad-product-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Gumroad Product & Creator Scraper",
        "description": "Extract structured Gumroad product and creator data via Discover search, storefront URL, or direct product link. Get pricing, ratings, seller details, categories, and tags in clean typed rows for reseller research, pricing intel, and affiliate offer-hunting.",
        "version": "0.0",
        "x-build-id": "gOIhyKC9S5oblbwcO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/devilscrapes~gumroad-product-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-devilscrapes-gumroad-product-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/devilscrapes~gumroad-product-scraper/runs": {
            "post": {
                "operationId": "runs-sync-devilscrapes-gumroad-product-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/devilscrapes~gumroad-product-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-devilscrapes-gumroad-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchQuery": {
                        "title": "Discover search query",
                        "type": "string",
                        "description": "Free-text query for Gumroad's Discover search (<code>gumroad.com/discover?query=...</code>). One of <strong>Search query</strong> / <strong>Category</strong> / <strong>Tags</strong> / <strong>Filetypes</strong> / <strong>Creator URLs</strong> / <strong>Product URLs</strong> must be set."
                    },
                    "category": {
                        "title": "Discover category",
                        "type": "string",
                        "description": "Gumroad taxonomy slug to filter Discover search (Discover mode only)."
                    },
                    "tags": {
                        "title": "Discover tags",
                        "type": "array",
                        "description": "Gumroad tag slugs to filter Discover search (Discover mode only).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "filetypes": {
                        "title": "Discover filetypes",
                        "type": "array",
                        "description": "File extensions to filter Discover search, e.g. <code>pdf</code>, <code>zip</code> (Discover mode only).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "minPrice": {
                        "title": "Min price",
                        "minimum": 0,
                        "type": "number",
                        "description": "Minimum price in whole currency units (Discover mode only). Free items pass regardless of this filter."
                    },
                    "maxPrice": {
                        "title": "Max price",
                        "minimum": 0,
                        "type": "number",
                        "description": "Maximum price in whole currency units (Discover mode only)."
                    },
                    "minRating": {
                        "title": "Min average rating",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "number",
                        "description": "Minimum average product rating, 1–5 (Discover mode only)."
                    },
                    "sortBy": {
                        "title": "Discover sort order",
                        "enum": [
                            "hot_and_new",
                            "newest",
                            "price_asc",
                            "price_desc",
                            "highest_rated",
                            "best_selling",
                            "page_layout_search"
                        ],
                        "type": "string",
                        "description": "Sort order for Discover search results (Discover mode only). Omit for Gumroad's default relevance ordering."
                    },
                    "creatorUrls": {
                        "title": "Creator storefront URLs",
                        "type": "array",
                        "description": "Gumroad creator storefronts to scrape — a bare username (<code>somecreator</code>) or full URL (<code>https://somecreator.gumroad.com/</code>). Every product listed on the storefront snapshot is emitted.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "productUrls": {
                        "title": "Direct product URLs",
                        "type": "array",
                        "description": "Direct Gumroad product URLs, e.g. <code>https://somecreator.gumroad.com/l/permalink</code>. Emits the full product-detail field set (description, sales count).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Cap on total emitted, de-duplicated rows across all combined input modes.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy. Gumroad's Discover, storefront, and product pages return plain HTTP 200 with no anti-bot challenge at current traffic, so this defaults off — enable it if you scale up or see blocks.",
                        "default": {
                            "useApifyProxy": 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
