# Hacker News Scraper — Stories, Search & Front Page Data (`scrapepilot/hacker-news-scraper----stories-search-front-page-data`) Actor

Scrape Hacker News stories from the front page or by keyword search. Get title, URL, score, author, comments, date, and tags. Sort by popular or newest. Filter by date range. No login, no proxy needed. $5.99/month. 2-hour free trial.

- **URL**: https://apify.com/scrapepilot/hacker-news-scraper----stories-search-front-page-data.md
- **Developed by:** [Scrape Pilot](https://apify.com/scrapepilot) (community)
- **Categories:** News, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$5.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## 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

## 🟠 Hacker News Scraper — Stories, Search & Front Page Data

> **The most complete Hacker News Scraper on Apify.** Extract Hacker News stories from the front page, keyword search, or any topic — title, URL, score, author, comment count, post date, story text, and tags. Sort by popularity or date. Filter by date range. No login. No API key. No proxy needed. Instant structured output.

---

### 📌 Table of Contents

- [What Is This Actor?](#what-is-this-actor)
- [Why Use This Hacker News Scraper?](#why-use-this-hacker-news-scraper)
- [Supported Modes](#supported-modes)
- [Use Cases](#use-cases)
- [Input Parameters](#input-parameters)
- [Output Fields](#output-fields)
- [Example Input & Output](#example-input--output)
- [Pricing & Free Trial](#pricing--free-trial)
- [Performance & Limits](#performance--limits)
- [FAQ](#faq)
- [Changelog](#changelog)
- [Legal & Terms of Use](#legal--terms-of-use)

---

### 🔍 What Is This Actor?

**Hacker News Scraper** is a production-ready Apify actor that extracts structured data from Hacker News — including front page stories, keyword search results, and date-filtered story archives.

Choose between two modes: **front page** to get the current top Hacker News stories in real time, or **search** to find stories by any keyword or topic. Every record includes the story title, external URL, Hacker News discussion URL, upvote score, author username, comment count, post date, story text, and content tags — giving you the most complete **Hacker News stories** dataset available on Apify.

No login. No proxy needed. No API key. Just clean, structured Hacker News data on demand.

---

### 🚀 Why Use This Hacker News Scraper?

| Feature | This Actor | Manual Browsing | HN Algolia UI | Other Scrapers |
|---|---|---|---|---|
| **Front page stories — real-time** | ✅ | ✅ Slow | ❌ | ⚠️ |
| **Keyword search across all HN** | ✅ | ⚠️ | ✅ | ⚠️ |
| **Sort by popular or newest** | ✅ Built-in | ❌ | ✅ | ❌ |
| **Date range filter** | ✅ Built-in | ❌ | ✅ | ❌ |
| **Score + comment count** | ✅ | ✅ | ✅ | ⚠️ |
| **Story text included** | ✅ | ✅ | ⚠️ | ❌ |
| **Tags per story** | ✅ | ❌ | ⚠️ | ❌ |
| **Bulk results — up to 1000/run** | ✅ | ❌ | ❌ | ⚠️ |
| **No proxy required** | ✅ | ✅ | ✅ | ⚠️ |
| **Structured JSON — export-ready** | ✅ | ❌ | ❌ | ⚠️ |

> **Bottom line:** This **Hacker News scraper** is the only actor that combines real-time front page extraction, keyword search with date filtering, and sort options — delivering complete **Hacker News stories** data in a single, export-ready structured run.

---

### 🎬 Supported Modes

This **Hacker News scraper** operates in two modes — selected via the `mode` input:

| Mode | What It Does | Best For |
|---|---|---|
| `front_page` | Extracts current top Hacker News stories in real time | Monitoring trending tech topics, daily briefings |
| `search` | Searches all Hacker News stories by keyword with sort and date filters | Research, topic tracking, archival |

> **Default mode:** `front_page`. Switch to `search` and provide a `query` to find stories on any topic across all of Hacker News history.

---

### 🎯 Use Cases

#### 📰 Tech News Monitoring & Daily Briefings
- Scrape **Hacker News stories** from the front page daily to monitor what the tech community is discussing
- Build automated tech news digest pipelines using scheduled front page scraper runs
- Track trending topics and emerging technologies by monitoring front page story titles over time

#### 🔍 Research & Topic Archiving
- Search all **Hacker News stories** by keyword to build topic-specific archives — `"LLM"`, `"Rust"`, `"startups"`
- Use date range filters to study how discussion around a technology evolved on Hacker News over time
- Collect story URLs and scores for academic citation analysis or technology trend research

#### 🤖 AI & NLP Datasets
- Build training datasets from **Hacker News stories** titles and text for tech-focused NLP models
- Collect story titles with upvote scores as engagement-labeled data for headline quality models
- Scrape story text and comment counts for content popularity prediction research

#### 📊 Community & Engagement Analytics
- Analyze upvote score distributions across topics and time periods on Hacker News
- Track author activity by scraping stories filtered by username
- Study correlation between story type, tags, and engagement metrics

#### 🛠️ Developer & Content Integrations
- Feed **Hacker News stories** into your own tech dashboard, Slack bot, or newsletter tool
- Build a Hacker News trend tracker that monitors score velocity for specific keywords
- Integrate structured HN story data into knowledge bases, wikis, or content curation platforms

#### 🎓 Academic & Social Computing Research
- Study information diffusion and community curation on Hacker News over multi-year archives
- Analyze posting patterns, peak hours, and seasonal trends in tech community discussion
- Build datasets of tech-topic stories for computational social science research

---

### ⚙️ Input Parameters

```json
{
  "mode":        "front_page",
  "query":       "",
  "sort":        "popular",
  "tags":        "story",
  "max_results": 30,
  "date_from":   null,
  "date_to":     null,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

| Parameter | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `"front_page"` | Extraction mode — `"front_page"` for current top stories, `"search"` for keyword search |
| `query` | string | `""` | Search keyword — required when `mode` is `"search"`. E.g. `"AI"`, `"open source"`, `"YC"` |
| `sort` | string | `"popular"` | Sort order for search results — `"popular"` for highest score first, `"date"` for newest first |
| `tags` | string | `"story"` | Content type filter — `"story"` for articles, `"comment"` for comments, `"ask_hn"` for Ask HN posts |
| `max_results` | integer | `30` | Maximum number of stories to return |
| `date_from` | string | `null` | Filter stories posted after this date — Unix timestamp or ISO date string |
| `date_to` | string | `null` | Filter stories posted before this date — Unix timestamp or ISO date string |
| `proxyConfiguration` | object | Off | Optional proxy config — not required for Hacker News |

> **Tip:** For `front_page` mode, `query`, `sort`, and `date_from`/`date_to` are ignored — the actor fetches the current live top stories directly. Switch to `search` mode to use all filters.

***

### 📋 Output Fields

Every record from this **Hacker News scraper** includes:

| Field | Type | Description | Example |
|---|---|---|---|
| `story_id` | string | Hacker News internal story ID | `"39847293"` |
| `title` | string | Story headline | `"Show HN: I built an open-source LLM router"` |
| `url` | string | External article URL | `"https://github.com/..."` |
| `hn_url` | string | Direct HN discussion thread URL | `"https://news.ycombinator.com/item?id=..."` |
| `score` | integer | Total upvote score | `847` |
| `author` | string | HN username of the poster | `"pg"` |
| `num_comments` | integer | Total number of comments | `312` |
| `created_at` | string | Post date and time | `"2024-03-15T09:30:00.000Z"` |
| `story_text` | string | Story body text for Ask HN / text posts (max 3000 chars) | `"I spent 6 months building..."` |
| `tags` | array | HN content tags | `["story", "author_pg", "front_page"]` |
| `type` | string | Content type | `"story"` |

***

### 📦 Example Input & Output

**Input — front page:**

```json
{
  "mode":        "front_page",
  "max_results": 5
}
```

**Input — keyword search:**

```json
{
  "mode":        "search",
  "query":       "open source AI",
  "sort":        "popular",
  "max_results": 20
}
```

**Output (one record):**

```json
{
  "story_id":    "39847293",
  "title":       "Show HN: I built an open-source LLM router in Go",
  "url":         "https://github.com/user/llm-router",
  "hn_url":      "https://news.ycombinator.com/item?id=39847293",
  "score":       847,
  "author":      "techfounder",
  "num_comments":312,
  "created_at":  "2024-03-15T09:30:00.000Z",
  "story_text":  null,
  "tags":        ["story", "author_techfounder", "front_page"],
  "type":        "story"
}
```

***

### 💰 Pricing & Free Trial

| Plan | Price | Includes |
|---|---|---|
| **Free Trial** | $0 | 2 hours full access — no credit card required |
| **Monthly** | $5.99 / month | Unlimited runs, front page + search, all filters |

#### Everything included in every plan:

- ✅ Real-time front page Hacker News stories
- ✅ Keyword search across all HN history
- ✅ Sort by popularity or newest
- ✅ Date range filter
- ✅ Content type filter (stories, Ask HN, comments)
- ✅ Up to 1,000 results per run
- ✅ No proxy required — works out of the box
- ✅ JSON + CSV + Excel export from Apify dataset
- ✅ Scheduled runs for automated daily briefings

> **Start your 2-hour free trial now** — no credit card needed. Click **Try for free** at the top of this page.

***

### ⚡ Performance & Limits

| Mode | Count | Estimated Time |
|---|---|---|
| Front page | 30 stories | ~30–60 seconds |
| Front page | 100 stories | ~1–2 minutes |
| Search | 50 stories | ~20–40 seconds |
| Search | 500 stories | ~2–4 minutes |

- Results pushed to the Apify dataset in real time as each page is processed
- Automatic pagination — fetches as many pages as needed to reach `max_results`
- No proxy required — Hacker News data is publicly accessible without any IP restrictions
- Lightweight and fast — no browser, no JavaScript rendering overhead

***

### ❓ FAQ

**Q: Do I need a proxy to use this Hacker News scraper?**
A: No. Hacker News data is fully publicly accessible — no proxy, no login, and no API key required. The actor works out of the box for any volume.

**Q: What is the difference between `front_page` and `search` mode?**
A: `front_page` mode fetches the current live top stories from Hacker News in real time — exactly what you see on the HN homepage right now. `search` mode queries the full HN story archive by keyword, with optional sort order and date range filters.

**Q: Can I filter Hacker News stories by date range?**
A: Yes — in `search` mode. Set `date_from` and `date_to` to Unix timestamps or ISO date strings to restrict results to a specific time window. Date filters have no effect in `front_page` mode.

**Q: What does the `tags` field contain?**
A: The `tags` array contains HN content classification tags — typically including the content type (`"story"`, `"ask_hn"`, `"show_hn"`), the author tag (`"author_username"`), and placement tags like `"front_page"`.

**Q: Can I scrape Ask HN or Show HN posts specifically?**
A: Yes. Set `tags` to `"ask_hn"` or `"show_hn"` in search mode to filter results to only those post types.

**Q: What is the maximum number of stories I can get per run?**
A: Up to 1,000 stories per run. Set `max_results` to any value up to 1,000 and the actor paginates automatically.

**Q: Can I schedule this to run daily for a tech news digest?**
A: Yes. Set up an Apify scheduled task with `mode: "front_page"` to automatically collect the current top Hacker News stories every day — or every hour.

**Q: Can I export to Excel or CSV?**
A: Yes. All results are pushed to the Apify dataset, which can be exported to JSON, CSV, Excel, and more directly from the Apify Console after each run.

***

### 📜 Changelog

#### v1.0.0 (Current)

- ✅ Front page mode — real-time top Hacker News stories
- ✅ Search mode — full HN archive keyword search
- ✅ Sort by popularity or newest
- ✅ Date range filter for search mode
- ✅ Content type filter — stories, Ask HN, Show HN, comments
- ✅ Full output: title, URL, HN URL, score, author, comments, date, text, tags
- ✅ Automatic pagination up to `max_results`
- ✅ No proxy required
- ✅ Real-time dataset push as each page is processed

***

### 🏷️ Tags

`hacker news scraper` `hacker news stories` `hacker news` `hn scraper` `tech news scraper` `ycombinator scraper` `hacker news data` `hn stories` `hacker news search` `tech community data` `hn front page` `show hn scraper`

***

### ⚖️ Legal & Terms of Use

This actor accesses publicly visible story data on Hacker News in the same way a regular user browses the platform.

**Please note:**

- Use extracted **Hacker News stories** only for **lawful purposes** — research, news monitoring, NLP datasets, content curation, and academic study are common legitimate uses
- Hacker News story content belongs to the original authors — do not republish scraped content without appropriate attribution
- Respect Hacker News community norms — do not use this tool to spam, manipulate rankings, or harvest user data for targeting
- The actor developer is not responsible for how extracted data is used

***

### 🤝 Support & Feedback

- **Bug report?** Contact us via the Apify actor page
- **Feature request?** Post in the Apify Community forum
- **Loving it?** Please leave a ⭐ review — it helps other users find this actor!

***

<p align="center">
  <strong>Built with ❤️ on Apify</strong><br/>
  <em>The most complete Hacker News Scraper — front page, search, date filters, instant output</em><br/><br/>
  <strong>💰 $5.99/month · 🆓 2-hour free trial · No credit card required</strong>
</p>

# Actor input Schema

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

Front page or search

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

Keywords to search (Search mode only)

## `sort` (type: `string`):

Sort search results by

## `tags` (type: `string`):

Filter by content type

## `max_results` (type: `integer`):

Maximum items to return

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

Use Apify Proxy to avoid rate limits. RESIDENTIAL recommended.

## Actor input object example

```json
{
  "mode": "front_page",
  "sort": "popular",
  "tags": "story",
  "max_results": 30,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapepilot/hacker-news-scraper----stories-search-front-page-data").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 = { "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    } }

# Run the Actor and wait for it to finish
run = client.actor("scrapepilot/hacker-news-scraper----stories-search-front-page-data").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 '{
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapepilot/hacker-news-scraper----stories-search-front-page-data --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapepilot/hacker-news-scraper----stories-search-front-page-data",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Hacker News Scraper — Stories, Search & Front Page Data",
        "description": "Scrape Hacker News stories from the front page or by keyword search. Get title, URL, score, author, comments, date, and tags. Sort by popular or newest. Filter by date range. No login, no proxy needed. $5.99/month. 2-hour free trial.",
        "version": "0.0",
        "x-build-id": "j3mwNfNblDoLDXoum"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapepilot~hacker-news-scraper----stories-search-front-page-data/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapepilot-hacker-news-scraper----stories-search-front-page-data",
                "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/scrapepilot~hacker-news-scraper----stories-search-front-page-data/runs": {
            "post": {
                "operationId": "runs-sync-scrapepilot-hacker-news-scraper----stories-search-front-page-data",
                "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/scrapepilot~hacker-news-scraper----stories-search-front-page-data/run-sync": {
            "post": {
                "operationId": "run-sync-scrapepilot-hacker-news-scraper----stories-search-front-page-data",
                "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": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "front_page",
                            "search"
                        ],
                        "type": "string",
                        "description": "Front page or search",
                        "default": "front_page"
                    },
                    "query": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Keywords to search (Search mode only)"
                    },
                    "sort": {
                        "title": "Sort By",
                        "enum": [
                            "popular",
                            "date"
                        ],
                        "type": "string",
                        "description": "Sort search results by",
                        "default": "popular"
                    },
                    "tags": {
                        "title": "Content Type",
                        "enum": [
                            "story",
                            "comment",
                            "ask_hn",
                            "show_hn",
                            "job"
                        ],
                        "type": "string",
                        "description": "Filter by content type",
                        "default": "story"
                    },
                    "max_results": {
                        "title": "Max Results",
                        "type": "integer",
                        "description": "Maximum items to return",
                        "default": 30
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Use Apify Proxy to avoid rate limits. RESIDENTIAL recommended."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
