# PR⭕DUCT HUNT Scraper HD ⭐💯 (`jupri/producthunt`) Actor

💫 All-in-one Producthunt.com Scraper

- **URL**: https://apify.com/jupri/producthunt.md
- **Developed by:** [cat](https://apify.com/jupri) (community)
- **Categories:** News, Developer tools
- **Stats:** 76 total users, 0 monthly users, 96.8% runs succeeded, 4 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 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 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

##  💫 Welcome To ProductHunt Scraper

<img align="right" height="32" src="https://apify.com/actor-badge?actor=EwsksvGn8wRxT2Nry">

![dont be sad readme is here](https://raw.githubusercontent.com/JupriGH/resources/main/cats/catframe.png)

### ☘️ About ProductHunt.com

<img  height="128" src="https://upload.wikimedia.org/wikipedia/commons/8/89/Product_Hunt_Logo.svg">

**Product Hunt**  is an American website to share and discover new  [products](https://en.wikipedia.org/wiki/Product_(business) "Product (business)"). It was founded by Ryan Hoover in November 2013.

Users submit products, which are listed in a linear format by day. The site includes a comments system and a voting system similar to  [Hacker News](https://en.wikipedia.org/wiki/Hacker_News "Hacker News")  or  [Reddit](https://en.wikipedia.org/wiki/Reddit "Reddit"). The products with the most votes rise to the top of each day's list.

Products are organized into four categories; technology products ([web apps](https://en.wikipedia.org/wiki/Web_apps "Web apps"),  [mobile apps](https://en.wikipedia.org/wiki/Mobile_app "Mobile app"),  [hardware](https://en.wikipedia.org/wiki/Electronic_hardware "Electronic hardware")  products, etc.),  [games](https://en.wikipedia.org/wiki/Games "Games")  (PC, web, mobile apps),  [books](https://en.wikipedia.org/wiki/Books "Books")  and  [podcasts](https://en.wikipedia.org/wiki/Podcasts "Podcasts"). A submission simply requires a product title, URL, and tagline. As of 2016, according to Hoover, the website has led to the discovery of over 100 million products across 50,000 companies.[[1]](https://en.wikipedia.org/wiki/Product_Hunt#cite_note-:1-1)

The site also includes a daily email list that sends out yesterday's top tech "hunts" (products) as well as a featured collection. A version of the digest is also available for games and books.

Product Hunt is also available as an  [iOS](https://en.wikipedia.org/wiki/IOS "IOS")  app,  [macOS](https://en.wikipedia.org/wiki/MacOS "MacOS")  app, an  [Android](https://en.wikipedia.org/wiki/Android_(operating_system) "Android (operating system)")  app, and  [Google Chrome](https://en.wikipedia.org/wiki/Google_Chrome "Google Chrome")  extension. The company's headquarters is in  [San Francisco](https://en.wikipedia.org/wiki/San_Francisco "San Francisco").[[2]](https://en.wikipedia.org/wiki/Product_Hunt#cite_note-:0-2)

The site received funding from  [Y Combinator](https://en.wikipedia.org/wiki/Y_Combinator_(company) "Y Combinator (company)").

### ☘️ About This Actor

#### All in One ProductHunt.com Scraper

#### Disclaimer :

- 🔒 _Free trial limited to **5** query per request_
- 🔒 _Free trial limited to **100** results_

### ☘️ Tutorial

#### 🍃 Parameters

| Name | Type | Description |
|-|-|-|
| `query` | **array** | List of `KEYWORD`, `URL` or `QUERY` |
| `limit` | **number** | Maximum number of results _(per-QUERY)_ |
| `filters` | **object** | Filters and Settings |

#### 🍃 Basic Usage

**Searching for products**
```yaml
{ "query": ["apify"], "limit": 10 }
````

**Searching for users**

```yaml
{ "query": ["users:John"], "limit": 10 }
```

**Fetch a product info**

```yaml
{ "query": ["https://www.producthunt.com/products/apify"] }
```

OR

```yaml
{ "query": ["product:apify"] }
```

**Scrape product reviews**

```yaml
{ "query": ["https://www.producthunt.com/products/apify/reviews"], "limit": 100 }
```

OR

```yaml
{ "query": ["product:apify/reviews"], "limit": 100 }
```

**Scrape a user info**

```yaml
{ "query": ["https://www.producthunt.com/@elonmusk"] }
```

OR

```yaml
{ "query": ["@elonmusk", "@billgates", "@otheruser"] }
```

**Scrape user comments**

```yaml
{ "query": ["@elonmusk/comments"], "limit": 100 }
```

#### 🍃 Advanced Usage

##### PRODUCTHUNT Query Language (`PHQL`)

```html
[ <COMMAND:> | # | @ ] [ <NAME> | <ID> | <KEYWORD> | <URL> ] [ /<SECTION> ]  
```

| Format | Example | Description |
|--|--|--|
| **<*KEYWORDS*>** | `web scraper` | ***Search Products*** |
| `launches:<KEYWORDS>` | `launches:Chat GPT` | Search for launches |
| `users:<KEYWORDS>` | `users:keanu reeves` | Search for users |
| `stories:<KEYWORDS>` | `stories:CEO` | Search for stories |
| **product:<*PRODUCT\_ID*>** | `product:apify` | ***Product Data*** |
| `/info` | `product:apify/info` | Product info *(default)* |
| `/launches` | `product:apify/launches` | Product launches |
| `/shoutouts` | `product:apify/shoutouts` | Product shoutouts |
| `/reviews` | `product:apify/reviews` | Product reviews |
| `/awards`  | `product:apify/awards` | Product awards 🆕 |
| `/alternatives` | `product:apify/alternatives` | Product alternatives 🆕 |
| **story:<*STORY\_ID*>** | `story:the-personal-software`<br>OR `story:13894` | ***Story Data*** |
| `/info` | `story:13894/info` | Story info *(default)* |
| `/comments` | `story:13894/comments` | Story comments |
| **post:<*POST\_ID*>** | `post:speech-in-flow` | ***Post Data*** |
| `/info` | `post:speech-in-flow/info` | Post info *(default)* |
| `/comments` | `post:speech-in-flow/comments` | Post comments |
| **@<*USER*>** | `@elonmask` | ***User Data*** |
| `/info` | `@elonmask/info` | User info *(default)* |
| `/upvotes` | `@elonmask/upvotes` | User upvotes |
| `/stacks` | `@elonmask/stacks` | User stacks |
| `/collections` | `@elonmask/collections` | User collections |
| `/reviews` | `@elonmask/reviews` | User reviews |
| `/comments` | `@elonmask/comments` | User comments |
| `/followers` | `@elonmask/followers` | User followers |
| `/following` | `@elonmask/following` | User following |
| **https:<*URL*>** | `https://www.producthunt.com` | ***Start URL*** |   |
| | `/search` | |
| | `/search/launches` | |
| | `/search/users` | |
| | `/products/<name>` | |
| | `/products/<name>/reviews` | |
| | `/@<user>` | |
|💫 *to be continued ...* | | |

### ✏️ Support

⚡️ Feel free to [reach out](https://console.apify.com/actors/EwsksvGn8wRxT2Nry/issues) to the developer for any [issues](https://console.apify.com/actors/EwsksvGn8wRxT2Nry/issues) or suggestions for improvement.

<img src="https://apify-uploads-prod.s3.us-east-1.amazonaws.com/5SxZhwYwpknFk8ek9-cat.gif" width="240">

# Actor input Schema

## `query` (type: `array`):

💡 Search Terms

## `example` (type: `string`):

💡 QUERY Examples

## `search_type` (type: `string`):

No description

## `limit` (type: `integer`):

💡 Number of results (per-query)

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

Catefory filter

## `dev_proxy_config` (type: `object`):

💡 <b>Supported protocol:</b><br><br><b>HTTP(S), SOCKS5</b><br><code>{http|socks5}://{user:pass}@{hostname|ip-address}:port</code><br><br><b>Example</b>: <code>socks5://example.com:9000</code>

## `dev_custom_headers` (type: `array`):

💡 Additional HTTP Headers

## `dev_custom_cookies` (type: `array`):

💡 Additional HTTP Cookies

## `dev_transform_fields` (type: `array`):

💡 <b>Transform the resulting output. Select only needed fields.</b><br><br>For nested object use <b>DOT</b>. For example: <pre>address.streetAddress</pre><br>For nested array use <b>NUMBER</b> <i>(index of array element starting from index=0)</i>. For example: <pre>images.0.url</pre>

## `dev_dataset_name` (type: `string`):

💡 <b>Save results into custom named Dataset, use mask to customize dataset name</b><br><br><code>{ACTOR} = actor name<br>{DATE} = date (YYYYMMDD)<br>{TIME} = time (HHMMSS)</code><br><br>This masks can be used to autogenerate Dataset Name.<br><br>example: <i><code>data-{DATE}</code></i><br>Depending on today date the dataset name will be: <code>data-20230603</code><i><br><br>default: <code>data-{ACTOR}-{DATE}-{TIME}</code></i>

## `dev_dataset_clear` (type: `boolean`):

Clear Dataset before insert/update.

## `dev_no_strip` (type: `boolean`):

💡 Keep/Save empty values <i><code>(NULL, FALSE, empty ARRAY, empty OBJECT, empty STRING)</code></i>

## Actor input object example

```json
{
  "query": [
    "Apify"
  ],
  "limit": 5
}
```

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "query": [
        "Apify"
    ],
    "limit": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("jupri/producthunt").call(input);

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "query": ["Apify"],
    "limit": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("jupri/producthunt").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "query": [
    "Apify"
  ],
  "limit": 5
}' |
apify call jupri/producthunt --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "PR⭕DUCT HUNT Scraper HD ⭐💯",
        "description": "💫 All-in-one Producthunt.com Scraper",
        "version": "0.1",
        "x-build-id": "Q9BglGU3Iy1J5Jauz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jupri~producthunt/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jupri-producthunt",
                "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/jupri~producthunt/runs": {
            "post": {
                "operationId": "runs-sync-jupri-producthunt",
                "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/jupri~producthunt/run-sync": {
            "post": {
                "operationId": "run-sync-jupri-producthunt",
                "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": {
                    "query": {
                        "title": "❓ Query",
                        "type": "array",
                        "description": "💡 Search Terms",
                        "items": {
                            "type": "string"
                        }
                    },
                    "example": {
                        "title": "💡 Examples",
                        "enum": [
                            "Web Scraper",
                            "https://www.producthunt.com/products/apify",
                            "product:apify/reviews",
                            "@elonmusk"
                        ],
                        "type": "string",
                        "description": "💡 QUERY Examples"
                    },
                    "search_type": {
                        "title": "🔎 Search Type",
                        "enum": [
                            "products",
                            "launches",
                            "users",
                            "stories",
                            "topics",
                            "forums"
                        ],
                        "type": "string",
                        "description": ""
                    },
                    "limit": {
                        "title": "♾️ Limit",
                        "type": "integer",
                        "description": "💡 Number of results (per-query)"
                    },
                    "category": {
                        "title": "📂 Category",
                        "enum": [
                            "34",
                            "1288",
                            "47",
                            "661",
                            "38",
                            "892",
                            "55",
                            "595",
                            "42",
                            "48",
                            "333",
                            "43",
                            "628",
                            "431",
                            "35",
                            "50",
                            "46",
                            "44",
                            "630",
                            "36",
                            "52",
                            "39",
                            "53",
                            "430",
                            "1387",
                            "41",
                            "37",
                            "45",
                            "40",
                            "54",
                            "49",
                            "129",
                            "72",
                            "463",
                            "88",
                            "826",
                            "87",
                            "76",
                            "1226",
                            "1123",
                            "75",
                            "827",
                            "83",
                            "84",
                            "1090",
                            "82",
                            "232",
                            "80",
                            "233",
                            "74",
                            "1420",
                            "85",
                            "81",
                            "434",
                            "893",
                            "86",
                            "828",
                            "78",
                            "365",
                            "73",
                            "56",
                            "66",
                            "69",
                            "62",
                            "68",
                            "236",
                            "235",
                            "334",
                            "234",
                            "332",
                            "64",
                            "63",
                            "58",
                            "71",
                            "60",
                            "727",
                            "65",
                            "432",
                            "860",
                            "57",
                            "796",
                            "61",
                            "141",
                            "143",
                            "144",
                            "159",
                            "154",
                            "529",
                            "335",
                            "148",
                            "162",
                            "156",
                            "152",
                            "149",
                            "150",
                            "146",
                            "147",
                            "155",
                            "1453",
                            "161",
                            "145",
                            "1321",
                            "104",
                            "111",
                            "123",
                            "115",
                            "122",
                            "114",
                            "106",
                            "112",
                            "113",
                            "110",
                            "116",
                            "121",
                            "105",
                            "118",
                            "109",
                            "89",
                            "93",
                            "91",
                            "100",
                            "331",
                            "96",
                            "99",
                            "90",
                            "92",
                            "101",
                            "102",
                            "98",
                            "97",
                            "1486",
                            "926",
                            "94",
                            "95",
                            "103",
                            "124",
                            "1225",
                            "127",
                            "1222",
                            "1255",
                            "125",
                            "1223",
                            "1156",
                            "1157",
                            "1190",
                            "128",
                            "130",
                            "126",
                            "1057",
                            "1224",
                            "180",
                            "184",
                            "178",
                            "181",
                            "177",
                            "182",
                            "398",
                            "1189",
                            "958",
                            "397",
                            "364",
                            "183",
                            "164",
                            "165",
                            "166",
                            "176",
                            "179",
                            "167",
                            "173",
                            "168",
                            "172",
                            "298",
                            "205",
                            "207",
                            "211",
                            "212",
                            "206",
                            "208",
                            "209",
                            "793",
                            "213",
                            "210",
                            "196",
                            "199",
                            "200",
                            "204",
                            "197",
                            "496",
                            "202",
                            "201",
                            "265",
                            "131",
                            "138",
                            "139",
                            "136",
                            "132",
                            "133",
                            "135",
                            "134",
                            "185",
                            "959",
                            "186",
                            "191",
                            "960",
                            "188",
                            "187",
                            "189",
                            "694",
                            "77",
                            "629",
                            "157",
                            "203",
                            "1519"
                        ],
                        "type": "string",
                        "description": "Catefory filter"
                    },
                    "dev_proxy_config": {
                        "title": "🌐 PROXY NETWORKING",
                        "type": "object",
                        "description": "💡 <b>Supported protocol:</b><br><br><b>HTTP(S), SOCKS5</b><br><code>{http|socks5}://{user:pass}@{hostname|ip-address}:port</code><br><br><b>Example</b>: <code>socks5://example.com:9000</code>"
                    },
                    "dev_custom_headers": {
                        "title": "📜 HTTP HEADERS",
                        "type": "array",
                        "description": "💡 Additional HTTP Headers",
                        "items": {
                            "type": "object",
                            "required": [
                                "key",
                                "value"
                            ],
                            "properties": {
                                "key": {
                                    "type": "string",
                                    "title": "Key"
                                },
                                "value": {
                                    "type": "string",
                                    "title": "Value"
                                }
                            }
                        }
                    },
                    "dev_custom_cookies": {
                        "title": "🍰 HTTP COOKIES",
                        "type": "array",
                        "description": "💡 Additional HTTP Cookies",
                        "items": {
                            "type": "object",
                            "required": [
                                "key",
                                "value"
                            ],
                            "properties": {
                                "key": {
                                    "type": "string",
                                    "title": "Key"
                                },
                                "value": {
                                    "type": "string",
                                    "title": "Value"
                                }
                            }
                        }
                    },
                    "dev_transform_fields": {
                        "title": "♻️ CUSTOM FIELD",
                        "type": "array",
                        "description": "💡 <b>Transform the resulting output. Select only needed fields.</b><br><br>For nested object use <b>DOT</b>. For example: <pre>address.streetAddress</pre><br>For nested array use <b>NUMBER</b> <i>(index of array element starting from index=0)</i>. For example: <pre>images.0.url</pre>",
                        "items": {
                            "type": "object",
                            "required": [
                                "key",
                                "value"
                            ],
                            "properties": {
                                "key": {
                                    "type": "string",
                                    "title": "Key"
                                },
                                "value": {
                                    "type": "string",
                                    "title": "Value"
                                }
                            }
                        }
                    },
                    "dev_dataset_name": {
                        "title": "📁 CUSTOM STORAGE",
                        "type": "string",
                        "description": "💡 <b>Save results into custom named Dataset, use mask to customize dataset name</b><br><br><code>{ACTOR} = actor name<br>{DATE} = date (YYYYMMDD)<br>{TIME} = time (HHMMSS)</code><br><br>This masks can be used to autogenerate Dataset Name.<br><br>example: <i><code>data-{DATE}</code></i><br>Depending on today date the dataset name will be: <code>data-20230603</code><i><br><br>default: <code>data-{ACTOR}-{DATE}-{TIME}</code></i>"
                    },
                    "dev_dataset_clear": {
                        "title": "Clear Storage",
                        "type": "boolean",
                        "description": "Clear Dataset before insert/update."
                    },
                    "dev_no_strip": {
                        "title": "Disable data cleansing",
                        "type": "boolean",
                        "description": "💡 Keep/Save empty values <i><code>(NULL, FALSE, empty ARRAY, empty OBJECT, empty STRING)</code></i>"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
