# Rotten Tomatoes Reviews Scraper (`automation-lab/rottentomatoes-reviews-scraper`) Actor

🍅 Extract Rotten Tomatoes critic and audience reviews with ratings, publications, dates, review text, and source URLs for movies and TV.

- **URL**: https://apify.com/automation-lab/rottentomatoes-reviews-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

## Rotten Tomatoes Reviews Scraper

Scrape Rotten Tomatoes critic and audience reviews from movie, TV season, and TV episode review pages. The actor extracts review text, reviewer names, ratings, critic/publication metadata, freshness/sentiment, dates, profile links, original review links, and source metadata into a clean Apify dataset.

Use it for launch tracking, media research, competitor analysis, reputation monitoring, audience sentiment workflows, and recurring reporting around film and streaming titles.

### What does Rotten Tomatoes Reviews Scraper do?

Rotten Tomatoes Reviews Scraper turns public Rotten Tomatoes review pages into structured data.

It supports:

- 🍅 Movie review pages such as `/m/oppenheimer_2023/reviews`
- 📺 TV season review pages such as `/tv/the_last_of_us/s01/reviews`
- 🧾 Critic review tabs, including all critics and top critics
- 👥 Audience review tabs, including all audience and verified audience reviews
- 🔗 Pagination through Rotten Tomatoes review API cursors
- 📦 Export to JSON, CSV, Excel, XML, RSS, or HTML through Apify datasets

### Who is it for?

Media teams use the scraper to monitor critic response during film and TV launch windows.

Studios and streamers use it to compare audience response across titles and markets.

Distributors use it to build review dashboards before and after theatrical or streaming releases.

PR and reputation teams use it to identify critic quotes, publications, and date patterns.

Data analysts use it to feed review text into sentiment analysis, LLM classification, BI tools, or alerting workflows.

### Why use this actor?

Rotten Tomatoes pages are optimized for browsing, not bulk analysis. This actor extracts the same review data into a repeatable dataset without manual copy-paste.

The actor is HTTP-first and lightweight. It reads the public page metadata, then calls the Rotten Tomatoes review endpoints used by the page itself. That keeps runs fast and avoids browser overhead.

### Key features

- Extract critic reviews and audience reviews in one run
- Select all critics, top critics, all audience, or verified audience tabs
- Scrape multiple Rotten Tomatoes URLs in a single run
- Capture review text, reviewer, publication, rating, sentiment, and dates
- Preserve Rotten Tomatoes source URLs and original publication review URLs
- Works with movies, TV seasons, and TV episodes where Rotten Tomatoes exposes review pages
- Built for scheduled monitoring and repeatable datasets

### Data fields

| Field | Description |
| --- | --- |
| `reviewId` | Rotten Tomatoes review or audience rating identifier |
| `mediaTitle` | Movie, TV season, or episode title |
| `mediaType` | Rotten Tomatoes media type, such as `Movie` or `TvSeason` |
| `mediaUrl` | Canonical Rotten Tomatoes title URL |
| `reviewsUrl` | Input review page URL |
| `reviewType` | Selected tab: all critics, top critics, all audience, or verified audience |
| `reviewerName` | Critic or audience reviewer display name |
| `reviewerProfileUrl` | Rotten Tomatoes critic/user profile URL when public |
| `publicationName` | Critic publication name |
| `publicationUrl` | Rotten Tomatoes publication profile URL |
| `isTopCritic` | Whether the critic is top-critic / top-review tagged |
| `rating` | Audience rating token when available |
| `scoreSentiment` | Critic sentiment such as positive or negative |
| `isVerifiedAudience` | Whether an audience review is verified |
| `isSuperReviewer` | Rotten Tomatoes super reviewer flag |
| `hasSpoilers` | Audience spoiler flag when available |
| `reviewText` | Clean review quote or audience review text |
| `reviewDate` | Review creation date |
| `originalReviewUrl` | External publication URL for critic reviews |
| `language` | Review language when provided |
| `pageNumber` | Rotten Tomatoes API page number crawled |
| `scrapedAt` | Timestamp when the actor saved the item |

### How much does it cost to scrape Rotten Tomatoes reviews?

This actor uses pay-per-event pricing.

You pay a small start fee for each run and a per-review fee for each saved dataset item. The final price shown by Apify depends on your plan tier and the live Store pricing table.

To control cost:

- Start with one URL and a low `maxItems` value
- Use only the review tabs you need
- Increase `maxPagesPerUrl` for deeper monitoring runs
- Schedule smaller recurring runs instead of very large ad hoc runs when possible

### Input

The main input is `startUrls`.

Each URL should point to a Rotten Tomatoes movie, TV season, or TV episode page. If you pass a title page without `/reviews`, the actor automatically normalizes it to the reviews page.

Example:

```json
{
  "startUrls": [
    { "url": "https://www.rottentomatoes.com/m/oppenheimer_2023/reviews" }
  ],
  "reviewTypes": ["all-critics", "all-audience"],
  "maxItems": 100,
  "maxPagesPerUrl": 8,
  "pageSize": 20
}
````

### Input fields

`startUrls` is required. Add one or more Rotten Tomatoes title or reviews URLs.

`reviewTypes` controls which tabs are extracted. Supported values are `all-critics`, `top-critics`, `all-audience`, and `verified-audience`.

`maxItems` limits the total number of reviews saved across all URLs and selected review types.

`maxPagesPerUrl` limits pagination depth per URL and review type.

`pageSize` controls how many reviews are requested from Rotten Tomatoes per API request. Rotten Tomatoes may cap audience pages below this value.

### Output example

```json
{
  "reviewId": "103071279",
  "mediaTitle": "Oppenheimer",
  "mediaType": "Movie",
  "mediaUrl": "https://www.rottentomatoes.com/m/oppenheimer_2023",
  "reviewsUrl": "https://www.rottentomatoes.com/m/oppenheimer_2023/reviews",
  "reviewType": "all-critics",
  "reviewerName": "Anna Smith",
  "publicationName": "Rolling Stone UK",
  "isTopCritic": true,
  "scoreSentiment": "POSITIVE",
  "reviewText": "A powerful, visually spectacular drama...",
  "reviewDate": "2025-10-30T20:44:46.000Z",
  "originalReviewUrl": "https://www.rollingstone.co.uk/...",
  "language": "English",
  "pageNumber": 1,
  "scrapedAt": "2026-07-03T00:00:00.000Z"
}
```

### How to scrape Rotten Tomatoes critic reviews

1. Open a Rotten Tomatoes title page.
2. Go to the Reviews tab.
3. Copy the URL.
4. Paste it into `startUrls`.
5. Select `all-critics` or `top-critics`.
6. Set `maxItems` to the review count you need.
7. Run the actor.
8. Export the dataset.

### How to scrape Rotten Tomatoes audience reviews

Select `all-audience` to collect public audience reviews.

Select `verified-audience` when you only need reviews tagged as verified by Rotten Tomatoes / Fandango.

Audience reviews can include rating tokens, reviewer display names, verification status, spoiler flags, review text, and review dates.

### Tips for better results

Use specific Rotten Tomatoes title URLs instead of search pages.

Run separate tasks for critic and audience monitoring when you want separate schedules.

Keep `pageSize` at 20 unless you have a reason to change it.

Use `maxItems` as your main budget control.

If a title has very few reviews, the actor will stop naturally when Rotten Tomatoes reports no next page.

### Integrations

Send results to Google Sheets for PR reports.

Export CSV files for sentiment analysis in Python or R.

Connect the dataset to Make or Zapier for alerts when new reviews appear.

Use Apify webhooks to trigger downstream pipelines after each scheduled run.

Feed review text into LLM classification workflows for themes, sentiment, spoilers, or quote extraction.

### API usage: Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/rottentomatoes-reviews-scraper').call({
  startUrls: [{ url: 'https://www.rottentomatoes.com/m/oppenheimer_2023/reviews' }],
  reviewTypes: ['all-critics', 'all-audience'],
  maxItems: 100
});

console.log(run.defaultDatasetId);
```

### API usage: Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/rottentomatoes-reviews-scraper').call(run_input={
    'startUrls': [{'url': 'https://www.rottentomatoes.com/m/oppenheimer_2023/reviews'}],
    'reviewTypes': ['all-critics', 'all-audience'],
    'maxItems': 100,
})
print(run['defaultDatasetId'])
```

### API usage: cURL

```bash
curl -X POST "https://api.apify.com/v2/acts/automation-lab~rottentomatoes-reviews-scraper/runs?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"startUrls":[{"url":"https://www.rottentomatoes.com/m/oppenheimer_2023/reviews"}],"reviewTypes":["all-critics"],"maxItems":50}'
```

### MCP usage

Use this actor from Claude Desktop, Claude Code, or other MCP clients through Apify MCP Server.

MCP URL:

```text
https://mcp.apify.com/?tools=automation-lab/rottentomatoes-reviews-scraper
```

Claude Code setup:

```bash
claude mcp add apify-rottentomatoes-reviews "https://mcp.apify.com/?tools=automation-lab/rottentomatoes-reviews-scraper"
```

Claude Desktop JSON config example:

```json
{
  "mcpServers": {
    "apify-rottentomatoes-reviews": {
      "url": "https://mcp.apify.com/?tools=automation-lab/rottentomatoes-reviews-scraper"
    }
  }
}
```

Example prompts:

- "Scrape the latest Rotten Tomatoes critic reviews for this movie URL."
- "Collect verified audience reviews from these two Rotten Tomatoes pages and summarize sentiment themes."
- "Run the Rotten Tomatoes Reviews Scraper weekly and compare new review text against last week."

### Scheduling and monitoring

Create an Apify task with your chosen URLs and review types.

Schedule it daily during launch week or weekly for long-tail reputation monitoring.

Use the dataset item timestamps and review dates to identify newly collected reviews.

### Common workflows

Launch monitoring: scrape critic and audience tabs for a new release every day.

Awards tracking: collect critic quotes from films in contention and compare publication coverage.

Streaming performance: compare audience reviews for several TV seasons after a platform launch.

Reputation analysis: export review text to sentiment or topic models.

Competitive research: compare Rotten Tomatoes reaction across a slate of titles.

### Limitations

The actor extracts public Rotten Tomatoes review data. It does not log in, bypass paywalls, or access private user data.

Rotten Tomatoes can change its page structure or API responses. If that happens, the actor may need an update.

Some titles have limited audience or critic reviews, so output volume depends on the target page.

### Troubleshooting

If you receive no results, verify that the URL opens a Rotten Tomatoes reviews page in your browser.

If only critic reviews appear, check whether your `maxItems` limit was reached before the actor moved to audience tabs.

If audience pages return fewer items than requested, that is normal; Rotten Tomatoes may cap audience responses per page.

If a TV episode has no review tab, try the TV season reviews URL instead.

### Legality

This actor extracts publicly available pages and review endpoints. You are responsible for using the data lawfully, respecting applicable terms, privacy rules, copyright, and database rights in your jurisdiction.

Do not republish copyrighted review text without permission. For many workflows, use snippets, analysis, internal reporting, or links back to the original sources.

### FAQ

#### Can I scrape both critic and audience reviews in one run?

Yes. Select multiple `reviewTypes`, such as `all-critics` and `all-audience`, and set `maxItems` high enough to reach both tabs.

#### Why did my run return fewer reviews than my limit?

The actor stops when Rotten Tomatoes has no next page for the selected title and review type. Some titles simply have fewer public reviews.

#### Can I use title URLs instead of `/reviews` URLs?

Yes. The actor normalizes Rotten Tomatoes title URLs to their `/reviews` page before extracting metadata and review API cursors.

### Related scrapers

Explore related actors by Automation Lab:

- https://apify.com/automation-lab/google-search-scraper
- https://apify.com/automation-lab/app-store-reviews-scraper
- https://apify.com/automation-lab/sitejabber-reviews-scraper
- https://apify.com/automation-lab/chrome-web-store-reviews-scraper

### Support

If a Rotten Tomatoes URL fails or a field is missing, share the run URL and the input you used. Include whether you expected critic reviews, audience reviews, verified audience reviews, or all review tabs.

### Changelog

Initial version extracts Rotten Tomatoes critic and audience review data from public review pages using HTTP requests and Rotten Tomatoes review API pagination.

# Actor input Schema

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

Rotten Tomatoes review pages to scrape. Use /reviews URLs for movies, TV seasons, or episodes. Non-review title URLs are normalized automatically.

## `reviewTypes` (type: `array`):

Choose which Rotten Tomatoes review tabs to extract.

## `maxItems` (type: `integer`):

Maximum review records to save across all URLs and review types.

## `maxPagesPerUrl` (type: `integer`):

Safety limit for paginated Rotten Tomatoes API pages per input URL and selected review type.

## `pageSize` (type: `integer`):

Rotten Tomatoes may cap some tabs below this value; 20 is the stable default.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.rottentomatoes.com/m/oppenheimer_2023/reviews"
    }
  ],
  "reviewTypes": [
    "all-critics",
    "all-audience"
  ],
  "maxItems": 20,
  "maxPagesPerUrl": 10,
  "pageSize": 20
}
```

# 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://www.rottentomatoes.com/m/oppenheimer_2023/reviews"
        }
    ],
    "reviewTypes": [
        "all-critics",
        "all-audience"
    ],
    "maxItems": 20,
    "maxPagesPerUrl": 10,
    "pageSize": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/rottentomatoes-reviews-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://www.rottentomatoes.com/m/oppenheimer_2023/reviews" }],
    "reviewTypes": [
        "all-critics",
        "all-audience",
    ],
    "maxItems": 20,
    "maxPagesPerUrl": 10,
    "pageSize": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/rottentomatoes-reviews-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://www.rottentomatoes.com/m/oppenheimer_2023/reviews"
    }
  ],
  "reviewTypes": [
    "all-critics",
    "all-audience"
  ],
  "maxItems": 20,
  "maxPagesPerUrl": 10,
  "pageSize": 20
}' |
apify call automation-lab/rottentomatoes-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Rotten Tomatoes Reviews Scraper",
        "description": "🍅 Extract Rotten Tomatoes critic and audience reviews with ratings, publications, dates, review text, and source URLs for movies and TV.",
        "version": "0.1",
        "x-build-id": "wrwYVoHYmXYgk95dz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~rottentomatoes-reviews-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-rottentomatoes-reviews-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/automation-lab~rottentomatoes-reviews-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-rottentomatoes-reviews-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/automation-lab~rottentomatoes-reviews-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-rottentomatoes-reviews-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": "Movie or TV review URLs",
                        "type": "array",
                        "description": "Rotten Tomatoes review pages to scrape. Use /reviews URLs for movies, TV seasons, or episodes. Non-review title URLs are normalized automatically.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "reviewTypes": {
                        "title": "Review types",
                        "type": "array",
                        "description": "Choose which Rotten Tomatoes review tabs to extract.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "all-critics",
                                "top-critics",
                                "all-audience",
                                "verified-audience"
                            ],
                            "enumTitles": [
                                "All Critics",
                                "Top Critics",
                                "All Audience",
                                "Verified Audience"
                            ]
                        },
                        "default": [
                            "all-critics",
                            "all-audience"
                        ]
                    },
                    "maxItems": {
                        "title": "Maximum reviews",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum review records to save across all URLs and review types.",
                        "default": 20
                    },
                    "maxPagesPerUrl": {
                        "title": "Maximum pages per URL and type",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Safety limit for paginated Rotten Tomatoes API pages per input URL and selected review type.",
                        "default": 10
                    },
                    "pageSize": {
                        "title": "Reviews requested per API page",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Rotten Tomatoes may cap some tabs below this value; 20 is the stable default.",
                        "default": 20
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
