# Webpage Text Extractor (`maximedupre/webpage-text-extractor`) Actor

Extract clean text, article text, and Markdown from public web pages. Get titles, metadata, headings, links, word counts, final URLs, and timestamps for LLM prompts, RAG inputs, reviews, and exports.

- **URL**: https://apify.com/maximedupre/webpage-text-extractor.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Developer tools, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 extracted webpages

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### 📄 Webpage text extractor for LLM-ready content

Webpage Text Extractor turns public web pages into clean text, article text, or Markdown for LLM prompts, RAG inputs, content review, and spreadsheet exports. Add one URL or a batch of URLs, choose the text shape, and the Actor returns readable page content with source metadata, headings, links, counts, redirects, and scrape timestamps.

Use it when you need the text from pages such as [Example Domain](https://example.com), documentation pages, blog posts, help-center articles, landing pages, or public knowledge-base pages without copying each page by hand. It is built for public HTML pages that can be opened without logging in.

For a quick first run, keep the prefilled public webpage list, leave `Extraction mode` on `Clean page text`, and run the Actor. You will get a representative batch of output items that shows the full row shape before you add your own URLs.

### 🧭 What this Actor does

- Extracts clean text from public HTML web pages.
- Supports `Clean page text`, `Article text`, and `Markdown for LLMs` modes.
- Removes common page noise such as scripts, styles, navigation, headers, footers, forms, and hidden elements before extracting text.
- Includes useful page details by default: title, meta description, author, published date, language, headings, links, canonical URL, final URL, HTTP status, word count, and character count.
- Saves one output item per successfully extracted webpage.
- Marks sparse but usable pages as `partial` so you can review them.
- Logs skipped URLs when a page is invalid, unavailable, non-HTML, empty, private, blocked, or too slow to load.

The Actor is focused on webpage text extraction. It does not extract PDFs, Word documents, OCR from images, video transcripts, private dashboards, logged-in pages, or full rendered content from every JavaScript-heavy web app.

### 📊 Data you can extract

Each dataset item is one successfully extracted webpage. Rows can include:

- `type` - always `webpage_text`
- `status` - `ok` or `partial`
- `inputIndex` - submitted URL position
- `requestedUrl` - original URL from the input
- `finalUrl` - final page URL after redirects
- `canonicalUrl` - canonical page URL when the page provides one
- `httpStatusCode` and `contentType` - response details for the extracted page
- `extractionMode` - `cleanText`, `articleText`, or `markdown`
- `title`, `metaDescription`, `author`, `publishedAt`, and `language`
- `excerpt` - short preview of the extracted text
- `text` - main extracted text in the selected mode
- `markdown` - Markdown text when Markdown mode is selected
- `wordCount` and `charCount`
- `headings` - page heading outline with level and text
- `links` - visible page links with text, absolute URL, and external-link flag
- `quality` - sparse-content and redirect flags
- `scrapedAt` - UTC timestamp when the page was saved

You can export the dataset as JSON, CSV, Excel, XML, RSS, or HTML, or use the same output through the Apify API, schedules, webhooks, and integrations.

### 🚀 How to run it

1. Open the Input tab.
2. Add one or more public webpage URLs in `Webpage URLs`.
3. Choose `Extraction mode`.
4. Keep `Maximum pages` small for your first run, then raise it when the output looks right.
5. Run the Actor and open the dataset.

Use `Clean page text` for a general page-to-text scraper. Use `Article text` for blog posts, articles, and reader-style pages where the main content matters most. Use `Markdown for LLMs` when you want headings and links represented in Markdown for prompts, RAG ingestion, or documentation workflows.

### 🧾 Input example

```json
{
	"startUrls": [
		{ "url": "https://example.com" },
		{ "url": "https://www.iana.org/domains/reserved" }
	],
	"extractionMode": "markdown",
	"maxPages": 2
}
````

`Webpage URLs` is the only required input. Add public `http` or `https` pages that can be opened without a login.

`Extraction mode` controls the main text format saved in `text`. The supported values are `cleanText`, `articleText`, and `markdown`.

`Maximum pages` caps how many submitted URLs can be extracted in one run. The public maximum is `100`.

### 📦 Output example

```json
{
	"type": "webpage_text",
	"status": "ok",
	"inputIndex": 1,
	"requestedUrl": "https://example.com",
	"finalUrl": "https://example.com/",
	"canonicalUrl": null,
	"httpStatusCode": 200,
	"contentType": "text/html",
	"extractionMode": "markdown",
	"title": "Example Domain",
	"metaDescription": null,
	"author": null,
	"publishedAt": null,
	"language": "en",
	"excerpt": "# Example Domain\n\nThis domain is for use in illustrative examples in documents.",
	"text": "# Example Domain\n\nThis domain is for use in illustrative examples in documents.",
	"markdown": "# Example Domain\n\nThis domain is for use in illustrative examples in documents.",
	"wordCount": 20,
	"charCount": 127,
	"headings": [
		{ "level": 1, "text": "Example Domain" }
	],
	"links": [
		{
			"text": "More information...",
			"url": "https://www.iana.org/domains/example",
			"isExternal": true
		}
	],
	"quality": {
		"isSparse": false,
		"wasRedirected": true,
		"reason": null
	},
	"scrapedAt": "2026-06-13T14:12:00.000Z"
}
```

### 💸 Pricing

This Actor uses pay-per-event pricing. You are charged for each successfully extracted webpage. Failed, invalid, unavailable, empty, or non-HTML URLs are skipped and are not saved as output items.

Current event prices are:

| Tier | Price per extracted webpage |
| --- | ---: |
| FREE | $0.00090 |
| BRONZE | $0.00090 |
| SILVER | $0.00070 |
| GOLD | $0.00050 |
| PLATINUM | $0.00035 |
| DIAMOND | $0.00025 |

There is no separate Actor-start charge in this Actor's pricing artifact.

### ⚠️ Limits and caveats

Webpage Text Extractor works best on public HTML pages with readable content in the initial page response. Pages that require login, block access, return non-HTML files, or rely heavily on client-side rendering may produce no output item or a `partial` row.

The Actor does not crawl a whole website from one URL. It extracts the submitted URLs only. If you need a link map first, use a crawler to collect URLs, then pass selected pages to this Actor.

### ❓ FAQ

#### 🧾 Can I use this as a webpage to Markdown converter?

Yes. Choose `Markdown for LLMs`. The main `text` field will contain Markdown, and the `markdown` field will contain the same Markdown value for easy filtering.

#### 🔗 Does it include links and headings?

Yes. Headings and visible links are included by default when the page provides them. You do not need to turn on separate metadata options.

#### 🔒 Does it scrape private pages?

No. This Actor is for public web pages. It does not accept cookies, sessions, API keys, or login credentials.

#### ⚠️ What happens when a URL fails?

The Actor logs the skipped URL and continues with the rest of the input. Only successfully extracted pages are saved to the dataset.

### 📝 Changelog

- 0.1: Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~webpage-text-extractor/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Other actors

- [Website URL Crawler ↗](https://apify.com/maximedupre/website-url-crawler) - Crawl public websites and export a clean link map before extracting selected page text.
- [Web Images Scraper ↗](https://apify.com/maximedupre/web-images-scraper) - Extract image URLs, metadata, and optional image files from public webpages.
- [Website Emails Scraper ↗](https://apify.com/maximedupre/website-emails-scraper) - Find public contact emails from websites and keep the source URL attached.
- [Font Detector ↗](https://apify.com/maximedupre/font-detector) - Detect web fonts, CSS font families, and font source evidence from public pages.
- [Ahrefs Free Website Stats Scraper ↗](https://apify.com/maximedupre/ahrefs-free-website-stats-scraper) - Extract public Ahrefs website metrics for SEO research and website audits.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

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

Add one public webpage URL per row.

## `extractionMode` (type: `string`):

Choose the main text format for each saved row.

## `maxPages` (type: `integer`):

Limit how many submitted URLs can be saved in one run.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://example.com"
    },
    {
      "url": "https://www.iana.org/domains/reserved"
    },
    {
      "url": "https://www.iana.org/help/example-domains"
    },
    {
      "url": "https://docs.apify.com/platform"
    },
    {
      "url": "https://docs.apify.com/platform/storage"
    },
    {
      "url": "https://docs.apify.com/platform/proxy"
    },
    {
      "url": "https://docs.apify.com/sdk/js"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Web_scraping"
    },
    {
      "url": "https://en.wikipedia.org/wiki/HTML"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Markdown"
    },
    {
      "url": "https://en.wikipedia.org/wiki/HTTP"
    },
    {
      "url": "https://en.wikipedia.org/wiki/URL"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Web_page"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Website"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Search_engine"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Natural_language_processing"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Information_retrieval"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Data_extraction"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Document_Object_Model"
    },
    {
      "url": "https://en.wikipedia.org/wiki/JavaScript"
    },
    {
      "url": "https://en.wikipedia.org/wiki/TypeScript"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Node.js"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Representational_state_transfer"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Web_API"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Application_programming_interface"
    }
  ],
  "extractionMode": "cleanText",
  "maxPages": 25
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset of clean text, article text, or Markdown extracted from public webpages.

# 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://example.com"
        },
        {
            "url": "https://www.iana.org/domains/reserved"
        },
        {
            "url": "https://www.iana.org/help/example-domains"
        },
        {
            "url": "https://docs.apify.com/platform"
        },
        {
            "url": "https://docs.apify.com/platform/storage"
        },
        {
            "url": "https://docs.apify.com/platform/proxy"
        },
        {
            "url": "https://docs.apify.com/sdk/js"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Web_scraping"
        },
        {
            "url": "https://en.wikipedia.org/wiki/HTML"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Markdown"
        },
        {
            "url": "https://en.wikipedia.org/wiki/HTTP"
        },
        {
            "url": "https://en.wikipedia.org/wiki/URL"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Web_page"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Website"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Search_engine"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Natural_language_processing"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Information_retrieval"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Data_extraction"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Document_Object_Model"
        },
        {
            "url": "https://en.wikipedia.org/wiki/JavaScript"
        },
        {
            "url": "https://en.wikipedia.org/wiki/TypeScript"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Node.js"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Representational_state_transfer"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Web_API"
        },
        {
            "url": "https://en.wikipedia.org/wiki/Application_programming_interface"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/webpage-text-extractor").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://example.com" },
        { "url": "https://www.iana.org/domains/reserved" },
        { "url": "https://www.iana.org/help/example-domains" },
        { "url": "https://docs.apify.com/platform" },
        { "url": "https://docs.apify.com/platform/storage" },
        { "url": "https://docs.apify.com/platform/proxy" },
        { "url": "https://docs.apify.com/sdk/js" },
        { "url": "https://en.wikipedia.org/wiki/Web_scraping" },
        { "url": "https://en.wikipedia.org/wiki/HTML" },
        { "url": "https://en.wikipedia.org/wiki/Markdown" },
        { "url": "https://en.wikipedia.org/wiki/HTTP" },
        { "url": "https://en.wikipedia.org/wiki/URL" },
        { "url": "https://en.wikipedia.org/wiki/Web_page" },
        { "url": "https://en.wikipedia.org/wiki/Website" },
        { "url": "https://en.wikipedia.org/wiki/Search_engine" },
        { "url": "https://en.wikipedia.org/wiki/Natural_language_processing" },
        { "url": "https://en.wikipedia.org/wiki/Information_retrieval" },
        { "url": "https://en.wikipedia.org/wiki/Data_extraction" },
        { "url": "https://en.wikipedia.org/wiki/Document_Object_Model" },
        { "url": "https://en.wikipedia.org/wiki/JavaScript" },
        { "url": "https://en.wikipedia.org/wiki/TypeScript" },
        { "url": "https://en.wikipedia.org/wiki/Node.js" },
        { "url": "https://en.wikipedia.org/wiki/Representational_state_transfer" },
        { "url": "https://en.wikipedia.org/wiki/Web_API" },
        { "url": "https://en.wikipedia.org/wiki/Application_programming_interface" },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/webpage-text-extractor").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://example.com"
    },
    {
      "url": "https://www.iana.org/domains/reserved"
    },
    {
      "url": "https://www.iana.org/help/example-domains"
    },
    {
      "url": "https://docs.apify.com/platform"
    },
    {
      "url": "https://docs.apify.com/platform/storage"
    },
    {
      "url": "https://docs.apify.com/platform/proxy"
    },
    {
      "url": "https://docs.apify.com/sdk/js"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Web_scraping"
    },
    {
      "url": "https://en.wikipedia.org/wiki/HTML"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Markdown"
    },
    {
      "url": "https://en.wikipedia.org/wiki/HTTP"
    },
    {
      "url": "https://en.wikipedia.org/wiki/URL"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Web_page"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Website"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Search_engine"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Natural_language_processing"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Information_retrieval"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Data_extraction"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Document_Object_Model"
    },
    {
      "url": "https://en.wikipedia.org/wiki/JavaScript"
    },
    {
      "url": "https://en.wikipedia.org/wiki/TypeScript"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Node.js"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Representational_state_transfer"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Web_API"
    },
    {
      "url": "https://en.wikipedia.org/wiki/Application_programming_interface"
    }
  ]
}' |
apify call maximedupre/webpage-text-extractor --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Webpage Text Extractor",
        "description": "Extract clean text, article text, and Markdown from public web pages. Get titles, metadata, headings, links, word counts, final URLs, and timestamps for LLM prompts, RAG inputs, reviews, and exports.",
        "version": "0.1",
        "x-build-id": "Huct4ghNS0bPfNeWN"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/maximedupre~webpage-text-extractor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-maximedupre-webpage-text-extractor",
                "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/maximedupre~webpage-text-extractor/runs": {
            "post": {
                "operationId": "runs-sync-maximedupre-webpage-text-extractor",
                "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/maximedupre~webpage-text-extractor/run-sync": {
            "post": {
                "operationId": "run-sync-maximedupre-webpage-text-extractor",
                "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": "Webpage URLs",
                        "type": "array",
                        "description": "Add one public webpage URL per row.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "extractionMode": {
                        "title": "Extraction mode",
                        "enum": [
                            "cleanText",
                            "articleText",
                            "markdown"
                        ],
                        "type": "string",
                        "description": "Choose the main text format for each saved row.",
                        "default": "cleanText"
                    },
                    "maxPages": {
                        "title": "Maximum pages",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Limit how many submitted URLs can be saved in one run.",
                        "default": 25
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
