# News Article Scraper — Newsroom & Press Release Extractor (`scrapepilot/company-ok`) Actor

Scrape full article content from any newsroom, press release page, or blog. Get title, author, publish date, summary, SEO keywords, word count, and full body text. Auto-discovers article links. Checkpoint resume. $5 per 1,000 articles

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

## Pricing

from $5.00 / 1,000 article scrapeds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## 📰 News Article Scraper — Newsroom & Press Release Extractor

> **The most reliable News Article Scraper on Apify.** Extract full article content, metadata, and SEO data from any company newsroom, press release page, news portal, or blog — title, author, publish date, summary, full body text, word count, keywords, and publisher name. Auto-discovers article links. Real-time push. Pay only for results.


---

### 📌 Table of Contents

- [What Is This Actor?](#what-is-this-actor)
- [Why Use This News Article Scraper?](#why-use-this-news-article-scraper)
- [Supported Website Types](#supported-website-types)
- [Use Cases](#use-cases)
- [Input Parameters](#input-parameters)
- [Output Fields](#output-fields)
- [Example Input & Output](#example-input--output)
- [Pricing](#pricing)
- [Performance & Limits](#performance--limits)
- [FAQ](#faq)
- [Changelog](#changelog)
- [Legal & Terms of Use](#legal--terms-of-use)

---

### 🔍 What Is This Actor?

**News Article Scraper** is a production-ready Apify actor that extracts complete article content and metadata from any newsroom, press release page, news portal, or company blog — automatically discovering article links from the start URL and scraping each one in full.

Provide one or many start URLs — a company's press room, an industry news portal, a product blog, or any page containing article links — and receive back a clean, structured record for every article found: publisher name, article title, author, publish date, summary, SEO keywords, word count, full body text, and direct article URL.

This **newsroom scraper** auto-detects article links from the start page (filtering for news, press release, blog, and story URL patterns), scrapes each article independently, and pushes results to the dataset in real time — so no data is lost even if the run is interrupted. A checkpoint system ensures that restarted runs skip already-processed URLs automatically.

---

### 🚀 Why Use This News Article Scraper?

| Feature | This Actor | Manual Research | RSS Scrapers | Other Scrapers |
|---|---|---|---|---|
| **Full article body text** | ✅ | ✅ Slow | ❌ Excerpt only | ⚠️ |
| **Auto-discovers article links** | ✅ | ❌ | ❌ | ⚠️ |
| **Author & publish date** | ✅ | ✅ | ⚠️ | ⚠️ |
| **SEO keywords extracted** | ✅ | ❌ | ❌ | ❌ |
| **Word count per article** | ✅ | ❌ | ❌ | ❌ |
| **Publisher name auto-detected** | ✅ | ❌ | ✅ | ⚠️ |
| **Login/CAPTCHA page filtering** | ✅ Auto | ❌ | N/A | ❌ |
| **Checkpoint resume on abort** | ✅ | N/A | ❌ | ❌ |
| **Real-time push per article** | ✅ | N/A | N/A | ❌ |
| **Pay only for results** | ✅ | N/A | N/A | ❌ |

> **Bottom line:** This **news article scraper** is the only actor that combines automatic article link discovery, full body text extraction, SEO keyword output, word count, and checkpoint resume — with pay-per-result pricing so you only pay for successfully scraped articles.

---

### 🌐 Supported Website Types

This **newsroom scraper** works on any publicly accessible page containing article or press release links:

#### 📢 Corporate & Brand Newsrooms
- Company press release pages (`/press`, `/news`, `/newsroom`)
- Investor relations news sections
- Product launch and announcement blogs

#### 📰 News Portals & Media Sites
- Industry-specific news portals
- Trade publication article pages
- Technology, finance, health, and general news sites

#### ✍️ Blogs & Content Sites
- Company and personal blogs (`/blog`, `/articles`, `/posts`)
- Thought leadership and opinion content
- Tutorial and resource article pages

#### 📣 Press Release Aggregators
- Any page containing links to press releases or news articles
- Partner and affiliate news feeds
- Government and regulatory announcement pages

> Any page where URLs contain `news`, `press`, `release`, `blog`, `article`, `story`, or `post` in the path is automatically detected as an article source.

---

### 🎯 Use Cases

#### 📊 Competitive Intelligence & Market Monitoring
- Scrape competitor newsrooms to track product launches, partnerships, and strategic announcements
- Monitor industry news portals for coverage of key topics, companies, or technologies
- Build automated press release feeds from multiple corporate newsrooms in one run

#### 🤖 AI & NLP Training Datasets
- Extract full article body text from news portals to build large text corpora for language models
- Collect article metadata — author, date, keywords, word count — for news classification research
- Build structured datasets of press releases for information extraction and NLP training

#### 📣 PR & Communications Research
- Scrape your own press coverage to audit how your announcements are being reported
- Monitor brand mentions in news articles across multiple publication newsrooms
- Track press release distribution and pickup by scraping multiple outlet pages

#### 🛠️ Content & SEO Analytics
- Extract SEO keywords from article meta tags across competitor content for keyword research
- Analyze word count distributions and content length patterns across industry publications
- Build content audit datasets from any website's blog or article archive

#### 📰 Journalism & Research
- Archive newsroom content for investigative journalism or historical analysis
- Collect structured article datasets for media studies, framing research, or sentiment analysis
- Monitor regulatory or government newsrooms for policy announcements and notices

#### 🏢 Enterprise Content Pipelines
- Feed scraped press release content into internal knowledge bases or RAG systems
- Automate competitive news briefing generation using structured article data
- Build content aggregation pipelines that monitor multiple industry newsrooms on a schedule

---

### ⚙️ Input Parameters

```json
{
  "startUrls": [
    { "url": "https://newsroom.example.com/press-releases" },
    { "url": "https://techcrunch.com/tag/artificial-intelligence/" },
    { "url": "https://www.company.com/blog" }
  ],
  "maxItemsPerUrl": 10,
  "proxyConfiguration": {
    "useApifyProxy":    true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
````

| Parameter | Type | Default | Description |
|---|---|---|---|
| `startUrls` | array | `[]` | Start pages to scrape — each as `{ "url": "https://..." }`. The actor discovers article links automatically from each page |
| `maxItemsPerUrl` | integer | `10` | Maximum articles to scrape per start URL |
| `proxyConfiguration` | object | Residential | Apify proxy config — residential proxy recommended for news and corporate sites |

> **Tip:** Provide the newsroom index page or article listing page as `startUrl` — not individual article URLs. The actor discovers individual article links automatically from the page.

***

### 📋 Output Fields

Every successfully scraped article from this **press release scraper** includes:

| Field | Type | Description | Example |
|---|---|---|---|
| `publisher` | string | Publisher name from OG metadata or domain | `"TechCrunch"` |
| `articleTitle` | string | Full article or press release title | `"Acme Corp Launches New AI Platform"` |
| `author` | string | Article author from metadata | `"Sarah Johnson"` |
| `publishDate` | string | Publication date (ISO format when available) | `"2024-03-15T09:00:00Z"` |
| `summary` | string | Article summary or meta description (max 300 chars) | `"Acme Corp today announced the launch of..."` |
| `seoKeywords` | string | SEO keywords from page meta tags | `"AI, machine learning, enterprise software"` |
| `wordCount` | integer | Total word count of the article body | `847` |
| `articleUrl` | string | Direct URL of the scraped article | `"https://newsroom.acme.com/press/ai-launch"` |
| `fullText` | string | Complete article body text | `"Acme Corp today announced..."` |
| `scrapedAt` | string | Extraction timestamp (ISO 8601 UTC) | `"2024-03-15T10:30:00Z"` |

> **Quality filtering:** Articles shorter than 150 words are automatically skipped. Login walls, CAPTCHA pages, and access-denied pages are detected and skipped by title keyword matching — only real article content reaches your dataset.

***

### 📦 Example Input & Output

**Input:**

```json
{
  "startUrls": [{ "url": "https://newsroom.example.com/press-releases" }],
  "maxItemsPerUrl": 3
}
```

**Output (one record):**

```json
{
  "publisher":    "Example Corp Newsroom",
  "articleTitle": "Example Corp Launches New AI-Powered Analytics Platform",
  "author":       "Sarah Johnson",
  "publishDate":  "2024-03-15T09:00:00Z",
  "summary":      "Example Corp today announced the general availability of its new AI-powered analytics platform, designed to help enterprises...",
  "seoKeywords":  "AI analytics, enterprise software, data platform, machine learning",
  "wordCount":    847,
  "articleUrl":   "https://newsroom.example.com/press-releases/ai-analytics-launch",
  "fullText":     "Example Corp today announced the general availability of its new AI-powered analytics platform. The platform, which has been in private beta for six months...",
  "scrapedAt":    "2024-03-15T10:30:00Z"
}
```

***

### 💰 Pricing

This actor uses **pay-per-event** pricing — you only pay for articles successfully scraped and pushed to the dataset.

| Event | Price |
|---|---|
| **Actor start fee** | $0.02 per run |
| **Per article successfully scraped** | $0.005 per result ($5.00 per 1,000 articles) |

#### How billing works:

- ✅ The $0.02 start fee applies once per run regardless of results
- ✅ Each article record pushed to the dataset is charged at $0.005
- ✅ Articles filtered out (too short, login wall, CAPTCHA) are **not charged**
- ✅ The actor stops automatically when your Apify account charge limit is reached
- ✅ **No subscription** — pay only for what you successfully extract

> **Example:** Scrape 200 articles = $0.02 (start) + $1.00 (200 × $0.005) = **$1.02 total**

**2-hour free trial available** — click **Try for free** at the top of this page.

***

### ⚡ Performance & Limits

| Start URLs | Articles Per URL | Estimated Time |
|---|---|---|
| 1 URL | 10 | ~1–3 minutes |
| 5 URLs | 10 each | ~5–12 minutes |
| 10 URLs | 10 each | ~10–25 minutes |
| 1 URL | 50 | ~5–12 minutes |

- Results pushed to the Apify dataset immediately after each article is scraped — no data loss on abort
- Checkpoint saved after every completed URL — restart resumes from the last processed URL
- 0.5-second delay between article requests — polite scraping that avoids rate limiting
- Login wall and CAPTCHA pages are automatically detected and skipped

***

### ❓ FAQ

**Q: How does the actor discover article links?**
A: The actor loads the start URL, parses all `<a href>` links on the page, and filters for URLs containing news, press, release, blog, article, story, or post in the path. Only links from the same or related domain are followed. Pagination and tag page URLs are excluded.

**Q: What happens if an article is behind a login wall or paywall?**
A: Pages with titles containing "login", "sign in", "access denied", "robot", or "captcha" are automatically detected and skipped. No charge is applied for skipped pages.

**Q: What is the minimum article length for scraping?**
A: Articles with fewer than 150 words of body text are automatically filtered out. This prevents stub pages, redirect pages, and content-free landing pages from appearing in your dataset.

**Q: What does the checkpoint feature do?**
A: After each start URL is fully processed, the actor saves a checkpoint. If the run is aborted or hits a spending limit, restarting it with the same input will skip already-completed URLs — no duplicate results and no wasted credits.

**Q: Can I scrape individual article URLs directly?**
A: This actor is designed to start from a listing or index page and discover article links automatically. For scraping known individual article URLs, provide the listing page that contains those links as your start URL.

**Q: Is `fullText` always populated?**
A: The actor first looks for an `<article>` HTML element. If not found, it collects all `<p>` paragraphs with more than 30 characters. If the combined text is still under 150 words, the article is skipped and not charged.

**Q: Can I export results 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)

- ✅ Auto-discovery of article links from any newsroom or blog index page
- ✅ Full article body text extraction — `<article>` tag first, paragraph fallback
- ✅ Article metadata: title, author, publish date, summary, SEO keywords, word count
- ✅ Publisher name auto-detection from OG metadata or domain
- ✅ Login wall and CAPTCHA page filtering — only real content reaches dataset
- ✅ Minimum 150-word quality filter — no stub pages in output
- ✅ Checkpoint/resume — restarted runs skip already-processed URLs
- ✅ Pay-per-event billing — charged per successfully scraped article
- ✅ Real-time dataset push as each article is scraped

***

### 🏷️ Tags

`news article scraper` `newsroom scraper` `press release scraper` `article extractor` `news content scraper` `blog scraper` `full text article scraper` `press release extractor` `news data scraper` `corporate newsroom scraper` `article metadata scraper` `content scraper`

***

### ⚖️ Legal & Terms of Use

This actor accesses publicly visible article and press release content from websites in the same way a regular user browses those pages.

**Please note:**

- Use extracted article data only for **lawful purposes** — research, competitive intelligence, NLP datasets, content monitoring, and journalism are common legitimate uses
- Article content is copyright of the original publisher — do not republish scraped full-text content without appropriate authorization
- Respect individual publication Terms of Service when scraping at high volume
- The actor developer is not responsible for how extracted article content 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 reliable News Article Scraper — full text, metadata, SEO data, pay per result</em><br/><br/>
  <strong>💰 $0.02 per run + $5.00 per 1,000 articles · Pay only for results</strong>
</p>

# Actor input Schema

## `startUrls` (type: `array`):

Add the links to the company newsrooms or press pages here.

## `maxItemsPerUrl` (type: `integer`):

Maximum number of articles to extract per newsroom.

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

Bypass anti-bot protections automatically.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://news.microsoft.com/"
    },
    {
      "url": "https://nvidianews.nvidia.com/"
    }
  ],
  "maxItemsPerUrl": 10,
  "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 = {
    "startUrls": [
        {
            "url": "https://news.microsoft.com/"
        },
        {
            "url": "https://nvidianews.nvidia.com/"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapepilot/company-ok").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 = {
    "startUrls": [
        { "url": "https://news.microsoft.com/" },
        { "url": "https://nvidianews.nvidia.com/" },
    ],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapepilot/company-ok").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 '{
  "startUrls": [
    {
      "url": "https://news.microsoft.com/"
    },
    {
      "url": "https://nvidianews.nvidia.com/"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapepilot/company-ok --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "News Article Scraper — Newsroom & Press Release Extractor",
        "description": "Scrape full article content from any newsroom, press release page, or blog. Get title, author, publish date, summary, SEO keywords, word count, and full body text. Auto-discovers article links. Checkpoint resume. $5 per 1,000 articles",
        "version": "0.0",
        "x-build-id": "AZXKWySWlRni9tG50"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapepilot~company-ok/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapepilot-company-ok",
                "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~company-ok/runs": {
            "post": {
                "operationId": "runs-sync-scrapepilot-company-ok",
                "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~company-ok/run-sync": {
            "post": {
                "operationId": "run-sync-scrapepilot-company-ok",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Newsroom URLs",
                        "type": "array",
                        "description": "Add the links to the company newsrooms or press pages here.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItemsPerUrl": {
                        "title": "Max Articles Per URL",
                        "type": "integer",
                        "description": "Maximum number of articles to extract per newsroom.",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "Stealth Proxy Settings",
                        "type": "object",
                        "description": "Bypass anti-bot protections automatically."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
