# WordPress Posts Scraper - Extract Articles & Metadata (`devnaz/wordpress-posts-scraper`) Actor

Extract posts, articles, and metadata from any WordPress site using REST API. 20+ filters: date ranges, categories, tags, 0authors, search keywords. Get title, content, author bio, featured images & more. No WordPress account needed.
Fast, reliable data extraction for content aggregation & research.

- **URL**: https://apify.com/devnaz/wordpress-posts-scraper.md
- **Developed by:** [DevnaZ](https://apify.com/devnaz) (community)
- **Categories:** Automation, SEO tools, News
- **Stats:** 34 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## WordPress Posts Scraper

The **WordPress Posts Scraper** is an Apify actor that extracts posts and metadata from any WordPress website using the WordPress REST API. It automatically handles pagination and fetches additional information like author details, categories, tags, and featured images.

This actor is perfect for researchers, content aggregators, and developers who need structured data from WordPress sites.

### How It Works

1. You provide one or more WordPress site URLs.
2. The actor checks if the WordPress REST API is available.
3. It fetches posts with your specified filters (dates, categories, keywords, etc.).
4. Handles pagination automatically until all posts are retrieved.
5. Extracts metadata such as author name, categories, tags, and featured images.
6. Returns structured JSON output with all relevant post details.

### Features

✅ Fetches posts from any WordPress site using REST API
✅ Supports pagination until all posts are retrieved
✅ **20+ advanced filters**: date ranges, categories, tags, author, search keywords, status, and more
✅ Extracts metadata like author bio, categories, tags, and featured images
✅ Configurable sorting (by date, modified, title, author, relevance)
✅ Optional proxy support (not required for most sites)
✅ Clean and structured JSON output
✅ **No WordPress account required**

### Getting Started

#### 1. Input Parameters

To use the scraper, provide the following inputs:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `startUrls` | Array | ✅ | List of WordPress site URLs to scrape (e.g., `[{"url": "https://techcrunch.com"}]`) |
| `maxPosts` | Integer | ❌ | Maximum total posts to extract per site (default: 5, max: 10000) |
| `perPage` | Integer | ❌ | **[Advanced]** Posts per API request (default: 50, max: 100). Higher = fewer requests = lower cost. Reduce to 10-20 if timeouts occur. |
| `searchKeyword` | String | ❌ | Filter posts by keyword search |
| `after` | String | ❌ | Posts published after this date (ISO8601: `2025-01-01T00:00:00`) |
| `before` | String | ❌ | Posts published before this date (ISO8601: `2025-12-31T23:59:59`) |
| `modifiedAfter` | String | ❌ | Posts modified after this date (ISO8601) |
| `modifiedBefore` | String | ❌ | Posts modified before this date (ISO8601) |
| `categories` | Array | ❌ | Filter by category IDs (e.g., `["1", "5", "12"]`) |
| `categoriesExclude` | Array | ❌ | Exclude specific category IDs |
| `tags` | Array | ❌ | Filter by tag IDs |
| `tagsExclude` | Array | ❌ | Exclude specific tag IDs |
| `author` | Array | ❌ | Filter by author IDs |
| `authorExclude` | Array | ❌ | Exclude specific author IDs |
| `status` | String | ❌ | Post status: `publish`, `draft`, `pending`, `private`, `future` (default: `publish`) |
| `orderBy` | String | ❌ | Sort by: `date`, `modified`, `title`, `author`, `id`, `relevance` (default: `date`) |
| `order` | String | ❌ | Sort order: `asc` or `desc` (default: `desc`) |
| `sticky` | Boolean | ❌ | Include only sticky posts (default: false) |
| `slug` | String | ❌ | Filter by specific post slug |
| `offset` | Integer | ❌ | Skip a specific number of posts (default: 0) |
| `proxyConfiguration` | Object | ❌ | Proxy settings (optional - not needed for most WordPress sites) |

#### 2. Running the Actor

##### Using Apify Interface

1. Navigate to the actor's Apify page.
2. Enter the required parameters.
3. Click **Run** and wait for the data to be scraped.

##### Using Apify API

```bash
curl -X POST -H "Content-Type: application/json" \
     -d '{
       "startUrls": [{"url": "https://techcrunch.com"}],
       "maxPosts": 50,
       "after": "2025-01-01T00:00:00",
       "orderBy": "date",
       "order": "desc"
     }' \
     "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_API_TOKEN"
````

### Output Format

The output is a JSON dataset containing structured post details:

```json
[
  {
    "id": 19263,
    "date": "2025-11-04T15:34:27",
    "modified": "2025-11-04T16:08:02",
    "slug": "wordpress-6-9-beta-3",
    "link": "https://wordpress.org/news/2025/11/wordpress-6-9-beta-3/",
    "title": "WordPress 6.9 Beta 3",
    "content": "<p>WordPress 6.9 Beta 3 is available for download and testing!</p>...",
    "excerpt": "<p>WordPress 6.9 Beta 3 is available for download and testing!...</p>",
    "author": "Amy Kamala",
    "categories": ["Development", "General", "Releases"],
    "tags": ["6.9", "development", "release"],
    "featured_image": "https://wordpress.org/wp-content/uploads/featured.jpg",
    "extra_metadata": {
      "author_bio": "Full Stack Dev, Artist, Masters from UCLA",
      "author_url": "https://kittenkamala.com/",
      "category_description": "Development news and updates"
    }
  }
]
```

### Use Cases

- **Content Aggregation** – Collect and analyze posts from different WordPress sites.
- **SEO Research** – Extract content and metadata for SEO analysis.
- **Data Science** – Gather datasets for NLP or sentiment analysis.
- **Backup and Archiving** – Store blog content for future reference.
- **Competitor Monitoring** – Track competitor blog posts and content strategies.
- **Research & Analysis** – Extract posts by date range, category, or keyword for academic or business research.

### Performance & Cost Optimization

#### Speed & Reliability

- **Speed**: ~2-5 seconds per 50 posts (using REST API)
- **Success rate**: 99%+ on WordPress sites with REST API enabled
- **Concurrency**: Supports multiple sites simultaneously
- **No proxy required**: WordPress REST API is public and doesn't require proxies in most cases

#### Cost Optimization with `perPage` Parameter

The `perPage` parameter controls how many posts are fetched per API request, directly impacting **cost and speed**:

**Example: Extracting 100 posts**

| perPage | API Requests | Compute Units | Speed | Notes |
|---------|--------------|---------------|-------|-------|
| **10** | 10 requests | Higher cost | Slower | Use if large sites timeout |
| **50** (default) | 2 requests | Lower cost | Faster | **Recommended** - best balance |
| **100** | 1 request | Lowest cost | Fastest | May timeout on large sites (TechCrunch, etc.) |

**Recommendation:**

- **Default (50)**: Works on most sites, good balance between cost and reliability
- **Large sites (TechCrunch, Wired, etc.)**: If timeouts occur, reduce to `perPage: 20-30`
- **Small sites**: Increase to `perPage: 100` for maximum speed and lowest cost

### Notes

- **WordPress REST API required**: This actor only works with sites that have the WordPress REST API enabled (enabled by default on most WordPress sites).
- **API not available?**: If a site has disabled the REST API, the actor will return an error message.
- **Category/Tag IDs**: To filter by categories or tags, you need the numeric IDs (not names). You can find these in the WordPress admin or via the API endpoints:
  - Categories: `https://yoursite.com/wp-json/wp/v2/categories`
  - Tags: `https://yoursite.com/wp-json/wp/v2/tags`
- **Date format**: Use ISO8601 format for date filters (e.g., `2025-01-01T00:00:00`)

### Support & Troubleshooting

Having issues? Check these common solutions:

1. **Timeout errors** (large sites like TechCrunch): Reduce the `perPage` parameter to 20-30. This makes more API requests but prevents timeouts.
2. **WordPress REST API not available**: The site may have disabled the REST API. Verify by visiting `https://yoursite.com/wp-json/wp/v2/posts` in your browser.
3. **No posts returned**: Check your filters - they may be too restrictive (e.g., date range with no matching posts).
4. **Missing author data**: Some WordPress sites may not include author information in the `_embedded` response.
5. **Category/Tag filtering not working**: Ensure you're using numeric IDs, not names.
6. **High costs**: Increase `perPage` to 80-100 for small/fast sites to reduce API requests and compute units.

For bugs or feature requests, feel free to contact support. Happy scraping! 🚀

***

**No WordPress account or subscription required.** Get started analyzing WordPress content today!

# Actor input Schema

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

List of WordPress sites to scrape posts from (e.g., https://techcrunch.com)

## `maxPosts` (type: `integer`):

Maximum total number of posts to extract per site (default: 5)

## `perPage` (type: `integer`):

Number of posts to fetch per API request (default: 50, max: 100). Higher values = fewer requests = lower cost, but may timeout on large sites. Reduce to 10-20 if you experience timeouts.

## `searchKeyword` (type: `string`):

Filter posts by keyword search (leave empty to get all posts)

## `after` (type: `string`):

Limit to posts published after this date (ISO8601 format: 2025-01-01T00:00:00)

## `before` (type: `string`):

Limit to posts published before this date (ISO8601 format: 2025-12-31T23:59:59)

## `modifiedAfter` (type: `string`):

Limit to posts modified after this date (ISO8601 format)

## `modifiedBefore` (type: `string`):

Limit to posts modified before this date (ISO8601 format)

## `categories` (type: `array`):

Filter by category IDs (comma-separated, e.g., \[1, 5, 12])

## `categoriesExclude` (type: `array`):

Exclude posts from specific category IDs

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

Filter by tag IDs (comma-separated)

## `tagsExclude` (type: `array`):

Exclude posts with specific tag IDs

## `author` (type: `array`):

Filter by author IDs (comma-separated)

## `authorExclude` (type: `array`):

Exclude posts by specific author IDs

## `status` (type: `string`):

Filter by post status

## `orderBy` (type: `string`):

Sort posts by field

## `order` (type: `string`):

Sort order (ascending or descending)

## `sticky` (type: `boolean`):

Include only sticky posts (pinned posts)

## `slug` (type: `string`):

Filter by specific post slug

## `offset` (type: `integer`):

Skip a specific number of posts (for pagination)

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

Proxy settings (optional - not needed for most WordPress sites)

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://techcrunch.com"
    }
  ],
  "maxPosts": 5,
  "perPage": 50,
  "searchKeyword": "AI technology",
  "after": "2025-01-01T00:00:00",
  "before": "2025-12-31T23:59:59",
  "modifiedAfter": "2025-01-01T00:00:00",
  "modifiedBefore": "2025-12-31T23:59:59",
  "categories": [
    "1",
    "5",
    "12"
  ],
  "categoriesExclude": [
    "3",
    "7"
  ],
  "tags": [
    "10",
    "25"
  ],
  "tagsExclude": [
    "8",
    "15"
  ],
  "author": [
    "1",
    "2"
  ],
  "authorExclude": [
    "3"
  ],
  "status": "publish",
  "orderBy": "date",
  "order": "desc",
  "sticky": false,
  "slug": "my-awesome-post",
  "offset": 0,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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://techcrunch.com"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("devnaz/wordpress-posts-scraper").call(input);

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://techcrunch.com" }],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("devnaz/wordpress-posts-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://techcrunch.com"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call devnaz/wordpress-posts-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "WordPress Posts Scraper - Extract Articles & Metadata",
        "description": "Extract posts, articles, and metadata from any WordPress site using REST API. 20+ filters: date ranges, categories, tags, 0authors, search keywords. Get title, content, author bio, featured images & more. No WordPress account needed.\nFast, reliable data extraction for content aggregation & research.",
        "version": "0.0",
        "x-build-id": "p93FcRPNh1u9bjcrd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/devnaz~wordpress-posts-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-devnaz-wordpress-posts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/devnaz~wordpress-posts-scraper/runs": {
            "post": {
                "operationId": "runs-sync-devnaz-wordpress-posts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/devnaz~wordpress-posts-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-devnaz-wordpress-posts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "WordPress Site URLs",
                        "type": "array",
                        "description": "List of WordPress sites to scrape posts from (e.g., https://techcrunch.com)",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxPosts": {
                        "title": "Maximum Posts",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum total number of posts to extract per site (default: 5)",
                        "default": 5
                    },
                    "perPage": {
                        "title": "Posts Per Request (Advanced)",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Number of posts to fetch per API request (default: 50, max: 100). Higher values = fewer requests = lower cost, but may timeout on large sites. Reduce to 10-20 if you experience timeouts.",
                        "default": 50
                    },
                    "searchKeyword": {
                        "title": "Search Keyword (Optional)",
                        "type": "string",
                        "description": "Filter posts by keyword search (leave empty to get all posts)"
                    },
                    "after": {
                        "title": "Published After Date (Optional)",
                        "type": "string",
                        "description": "Limit to posts published after this date (ISO8601 format: 2025-01-01T00:00:00)"
                    },
                    "before": {
                        "title": "Published Before Date (Optional)",
                        "type": "string",
                        "description": "Limit to posts published before this date (ISO8601 format: 2025-12-31T23:59:59)"
                    },
                    "modifiedAfter": {
                        "title": "Modified After Date (Optional)",
                        "type": "string",
                        "description": "Limit to posts modified after this date (ISO8601 format)"
                    },
                    "modifiedBefore": {
                        "title": "Modified Before Date (Optional)",
                        "type": "string",
                        "description": "Limit to posts modified before this date (ISO8601 format)"
                    },
                    "categories": {
                        "title": "Category IDs (Optional)",
                        "type": "array",
                        "description": "Filter by category IDs (comma-separated, e.g., [1, 5, 12])",
                        "items": {
                            "type": "string"
                        }
                    },
                    "categoriesExclude": {
                        "title": "Exclude Category IDs (Optional)",
                        "type": "array",
                        "description": "Exclude posts from specific category IDs",
                        "items": {
                            "type": "string"
                        }
                    },
                    "tags": {
                        "title": "Tag IDs (Optional)",
                        "type": "array",
                        "description": "Filter by tag IDs (comma-separated)",
                        "items": {
                            "type": "string"
                        }
                    },
                    "tagsExclude": {
                        "title": "Exclude Tag IDs (Optional)",
                        "type": "array",
                        "description": "Exclude posts with specific tag IDs",
                        "items": {
                            "type": "string"
                        }
                    },
                    "author": {
                        "title": "Author IDs (Optional)",
                        "type": "array",
                        "description": "Filter by author IDs (comma-separated)",
                        "items": {
                            "type": "string"
                        }
                    },
                    "authorExclude": {
                        "title": "Exclude Author IDs (Optional)",
                        "type": "array",
                        "description": "Exclude posts by specific author IDs",
                        "items": {
                            "type": "string"
                        }
                    },
                    "status": {
                        "title": "Post Status",
                        "enum": [
                            "publish",
                            "draft",
                            "pending",
                            "private",
                            "future"
                        ],
                        "type": "string",
                        "description": "Filter by post status",
                        "default": "publish"
                    },
                    "orderBy": {
                        "title": "Order By",
                        "enum": [
                            "date",
                            "modified",
                            "title",
                            "author",
                            "id",
                            "relevance"
                        ],
                        "type": "string",
                        "description": "Sort posts by field",
                        "default": "date"
                    },
                    "order": {
                        "title": "Order Direction",
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string",
                        "description": "Sort order (ascending or descending)",
                        "default": "desc"
                    },
                    "sticky": {
                        "title": "Sticky Posts Only",
                        "type": "boolean",
                        "description": "Include only sticky posts (pinned posts)",
                        "default": false
                    },
                    "slug": {
                        "title": "Post Slug (Optional)",
                        "type": "string",
                        "description": "Filter by specific post slug"
                    },
                    "offset": {
                        "title": "Offset (Optional)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Skip a specific number of posts (for pagination)",
                        "default": 0
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings (optional - not needed for most WordPress sites)"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
