# Mozilla Extensions Category Parser Spider (`getdataforme/mozilla-extensions-category-parser-spider`) Actor

This Apify actor scrapes Mozilla's Firefox extensions site, extracting comprehensive metadata like ratings, downloads, and author details. Ideal for market research, competitive analysis, and data integration. Features category-specific scraping, pagination handling, and structured JSON output.

- **URL**: https://apify.com/getdataforme/mozilla-extensions-category-parser-spider.md
- **Developed by:** [GetDataForMe](https://apify.com/getdataforme) (community)
- **Categories:** AI, Automation, E-commerce
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.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

### Description

This Apify actor scrapes Mozilla's Firefox extensions site, extracting comprehensive metadata like ratings, downloads, and author details. Ideal for market research, competitive analysis, and data integration. Features category-specific scraping, pagination handling, and structured JSON output.

---

## Mozilla Extensions Category Parser Spider

### Introduction

The Mozilla Extensions Category Parser Spider is a powerful Apify Actor designed to scrape and extract detailed information about Firefox extensions from Mozilla's official add-ons website. It efficiently navigates category pages, collecting comprehensive metadata for each extension, including ratings, downloads, and author details. This tool is ideal for developers, researchers, and businesses needing structured data on Firefox extensions for analysis, monitoring, or integration purposes.

### Features

- **Comprehensive Data Extraction**: Captures key details like extension names, summaries, ratings, download counts, and author information from Mozilla's add-ons pages.
- **Category-Specific Scraping**: Targets specific extension categories, allowing focused data collection on topics like productivity, security, or entertainment.
- **Pagination Handling**: Automatically processes multiple pages within a category to ensure complete data retrieval.
- **Structured JSON Output**: Delivers clean, machine-readable data with consistent fields for easy integration into databases or analytics tools.
- **Configurable Limits**: Supports item limits to control the volume of data extracted, optimizing performance and costs.
- **Reliable and Fast**: Built on Apify's robust infrastructure for high-speed, error-resistant scraping.
- **Privacy-Compliant**: Respects website terms and focuses on publicly available data without invasive tracking.

### Input Parameters

| Parameter | Type | Required | Description | Example |
|-----------|------|----------|-------------|---------|
| Urls | array | No | An array of URLs pointing to Mozilla Firefox extension category pages to scrape. Each URL must be a valid HTTP/HTTPS link. | ["https://addons.mozilla.org/en-US/firefox/extensions/category/productivity/"] |
| itemLimit | integer | No | The maximum number of extension items to process and extract. Set to 0 for unlimited (subject to Apify limits). | 50 |

### Example Usage

#### Input Configuration
```json
{
  "Urls": [
    "https://addons.mozilla.org/en-US/firefox/extensions/category/bookmarks/"
  ],
  "itemLimit": 20
}
````

#### Output Example

```json
[
  {
    "slug": "onetab",
    "name": "OneTab",
    "addon_url": "https://addons.mozilla.org/en-US/firefox/addon/onetab/",
    "summary": "Save up to 95% memory and reduce tab clutter",
    "description": "Whenever you find yourself with too many tabs open, click the OneTab icon to convert your tabs into a list. When you need them again, you can restore tabs individually or all at once. By moving your tabs into the OneTab list, you can save up to 95% of memory because fewer tabs remain open in your browser. Privacy assurance OneTab is designed with privacy in mind. Your tab URLs are never transmitted to or shared with the OneTab developers or any third party. Domain icons for tab URLs are generated by Google. The only exception is if you intentionally use the \u201cshare as a web page\u201d feature, which uploads your tab list to a web page so you can share it with others. Tabs are never shared unless you explicitly use this feature. Additional benefits Storing tabs in OneTab can also improve your computer\u2019s performance by reducing your browser\u2019s CPU and memory (RAM) usage. Even high-end computers can slow down when many browser windows and tabs are open, since each open tab continuously consumes system resources.",
    "type": "extension",
    "categories": [
      "bookmarks",
      "tabs"
    ],
    "average_daily_users": 162393,
    "weekly_downloads": 1833,
    "rating_average": 4.1334,
    "rating_count": 2743,
    "version": "2.13",
    "file_url": "https://addons.mozilla.org/firefox/downloads/file/4713960/onetab-2.13.xpi",
    "firefox_min_version": "140.0",
    "firefox_max_version": "*",
    "icon_url": "https://addons.mozilla.org/user-media/addon_icons/525/525044-64.png?modified=mcrushed",
    "author_name": "OneTab Team",
    "author_url": "https://addons.mozilla.org/en-US/firefox/user/10945418/",
    "author_username": "onetab",
    "guid": "extension@one-tab.com",
    "status": "public",
    "is_disabled": false,
    "created": "2014-06-23T14:30:41Z",
    "last_updated": "2026-03-23T10:01:51Z",
    "actor_id": "CnqHz4KxTjXu5tent",
    "run_id": "vRhYc6udzRhTxugln"
  },
  {
    "slug": "sidebery",
    "name": "Sidebery",
    "addon_url": "https://addons.mozilla.org/en-US/firefox/addon/sidebery/",
    "summary": "Vertical tabs tree and bookmarks in sidebar with advanced containers configuration, grouping and many other features.",
    "description": "Sidebery provides the list of tabs structured in a tree, bookmarks and history within the customizable panels. It aims to be fast and configurable. <strong>Notice: </strong>Sidebery may conflict with addons that handle position of new tabs (e.g. Tree Style Tabs) or addons that move/sort tabs, which may result in unexpected behavior or broken tabs state at initialization. To avoid potential issues, please, disable such addons in Add-ons Manager page (about:addons). <strong>Some of the key features:</strong> <ul><strong>- Tabs</strong><ul>- Simple flat list or tree with the option to set tree limit. - Group tabs (aka folders) with a custom name helps organize open pages. - Tabs colorization: Automatic per-domain/URL or manual. - Tabs sorting: by title, url or access time - Automatic unloading of tabs in a folded branch / inactive panel. - Customizable tab title. - ...</ul><strong>- Bookmarks</strong><ul>- Tree or chronological view. - Sort by name, URL or creation time - Basic operations: open in... / create / edit / delete. - Ability to highlight open bookmarks and activate the corresponding tab instead of opening a new one when clicked. - Automatically delete a bookmark on opening from \"Other Bookmarks\" folder or configured bookmarks panel. - ...</ul><strong>- Tabs / Bookmarks panels</strong><ul>- Organize your browsing with panels of tabs/bookmarks. - Convert open tabs in the panel to bookmarks and vice versa. - Automatically move tabs by URL to configured panel. - ...</ul><strong>- Containers</strong><ul>- Bind container to the tabs panel. - Automatically reopen tab in the target container by URL. - Setup proxy config and UserAgent header for tabs in a container. - ...</ul><strong>- Customizable context menu</strong><ul>Sidebery allows you to change the context menu for tabs and bookmarks. You can enable/disable/move options, create sub-menus/separators.</ul><strong>- Customizable mouse/keyboard controls</strong><ul>- Option to switch tabs with mouse-wheel. - Configurable drag and drop behavior. - A growing list of available actions for mouse/keyboard bindings.</ul><strong>- Customizable styles</strong><ul>Sidebery provides full control of styles for sidebar and group page via variables and custom CSS.</ul><strong>- Snapshots</strong><ul>You can setup auto snapshots that will keep info about open windows and tabs.</ul></ul> <strong>Privacy policy</strong> <ul>- Sidebery does not engage in ad targeting, data collection, or other activities that could compromise your privacy. - By default, all data is stored locally on your machine. - Sidebery sends data only when synchronization is enabled and only to chosen provider. - You can optionally enable one or more synchronization providers (third-party services) to sync your data across multiple devices. More detailed information can be found on this page: <a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/c811ae0071e07243a92f0ec682304de80cdab07aaa77915e2248ed17b3f5f66c/https%3A//github.com/mbnuqw/sidebery/blob/v5/PRIVACY.md\" rel=\"nofollow\">https://github.com/mbnuqw/sidebery/blob/v5/PRIVACY.md</a></ul> <strong>Source code</strong> <ul>Source code can be found here: <a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/176b20d58a82cb3204b15a8abdeabcc5758cc92b19ae704e19e4befe9726bbf3/https%3A//github.com/mbnuqw/sidebery\" rel=\"nofollow\">https://github.com/mbnuqw/sidebery</a></ul> <strong>Permissions</strong> <ul>- \"Access recently closed tabs\" - needed for the \"Undo close tab\" function. - \"Access browser tabs\" - needed to get info and control tabs. - \"Store unlimited amount of client-side data\" - needed to store favicons cache and snapshots.</ul> <strong>Optional permissions</strong> <ul>- \"Access your data for all websites\" and \"Control browser proxy settings\" <ul>Required for the next features: - Context menu option for cleaning cookies - Proxy and url rules of containers - Page-screenshots for the group page and windows selection panel - Changing the User-Agent per container</ul>- \"Hide and show browser tabs\"<ul>Required for the next features: - Hiding tabs on inactive panels - Hiding folded tabs</ul>- \"Read and modify bookmarks\" - needed for bookmarking the tabs and bookmarks panel functionality. - \"Access browsing history\" - for history panel functionality. - \"Input data to the clipboard\" - Context menu option for copying urls of tabs and bookmarks - \"Download files and read and modify the browser\u2019s download history\" - Auto-export of snapshots. Note: You can deny these permissions at any time on the settings page.</ul> <strong>Notes</strong> <ul>- Firefox doesn't allow addons to hide the native (horizontal) tab bar. To achieve that, you can use <a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/70228785c1124f70125c984e7b83ad136111d5039bbe3f74c8fa220e855742d8/https%3A//github.com/mbnuqw/sidebery/wiki/Firefox-Styles-Snippets-%28via-userChrome.css%29\" rel=\"nofollow\">userChrome.css hacks</a>.</ul> <strong>Donate to support the development of this project</strong> <ul>- Payeer: <code>P1128042154</code> - Bitcoin (BTC): <code>bc1q2drx3x5pfl0c68urwztvjrwgksg9u3l7mn4g4m</code> - Ethereum (ETH), USDT (ERC20), USDC (ERC20): <code>0x11667D20AB328194AEEc68F9385CCcf713607929</code> - Tron (TRX), USDT (TRC20), USDC (TRC20): <code>TJEdp1TnsN7Jfhfi9Db8yXKDK8NEUovCZb</code> - Litecoin (LTC): <code>ltc1qpv4c4kaahdzhcwzj8yyrwlvnfcw2hw5qpxqr62</code> - Solana (SOL): <code>GdWipUmnhdDa7kqkF3SJm5jTYqp3UsTdbcGCC1xLbVJf</code> - TON: <code>UQAxwOfvZQz1YR4qieiE-J4wHiz3zrMXAyxDiRJQQXIDX8MH</code></ul> <strong><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/ae2372cc68ffeab033051b5f10c0e9bb7787100f86d184a7a9548a9708209409/https%3A//github.com/mbnuqw/sidebery%23readme\" rel=\"nofollow\">More info you can find here</a></strong>",
    "type": "extension",
    "categories": [
      "bookmarks",
      "tabs"
    ],
    "average_daily_users": 56643,
    "weekly_downloads": 1120,
    "rating_average": 4.7006,
    "rating_count": 1052,
    "version": "5.5.0",
    "file_url": "https://addons.mozilla.org/firefox/downloads/file/4688454/sidebery-5.5.0.xpi",
    "firefox_min_version": "140.0",
    "firefox_max_version": "*",
    "icon_url": "https://addons.mozilla.org/user-media/addon_icons/999/999984-64.png?modified=524534e3",
    "author_name": "mbnuqw",
    "author_url": "https://addons.mozilla.org/en-US/firefox/user/13304480/",
    "author_username": "mbnuqw",
    "guid": "{3c078156-979c-498b-8990-85f7987dd929}",
    "status": "public",
    "is_disabled": false,
    "created": "2018-09-23T11:13:46Z",
    "last_updated": "2026-04-05T19:46:01Z",
    "actor_id": "CnqHz4KxTjXu5tent",
    "run_id": "vRhYc6udzRhTxugln"
  },
  {
    "slug": "tab-stash",
    "name": "Tab Stash",
    "addon_url": "https://addons.mozilla.org/en-US/firefox/addon/tab-stash/",
    "summary": "Easily save and organize batches of tabs as bookmarks. Clear your tabs, clear your mind. Only for Firefox.",
    "description": "Tab Stash is a no-fuss way to save and organize batches of tabs as bookmarks. Sweep your browser clean with one click of the Tab Stash icon (if configured). Your open tabs will be stashed away in your bookmarks, conveniently organized into groups. When it's time to pick up where you left off, open Tab Stash and restore just the tabs or groups you want. Because Tab Stash stores your tabs as bookmarks, they will even sync to your other computers or mobile devices. Uses Firefox Sync, if configured\u2014no need to keep track of yet another account. <strong>Features</strong> <ul><li>Stash your open tabs with the Tab Stash toolbar button, or individual tabs with the button in the address bar</li><li>View your stash in the Firefox sidebar, a popup, or a full-browser tab view</li><li>Restore individual tabs, or whole groups of tabs, with a single click</li><li>Search your stash with the quick-search bar</li><li>Organize your stash into groups and sub-groups</li><li>Recover recently-deleted items</li><li>Drag and drop items to re-organize them (multi-select supported)</li><li>Import and export your stash in rich text, Markdown, OneTab and more</li><li>Customize the behavior of Tab Stash's toolbar button</li><li>Dark mode</li></ul> For more usage tips, privacy information, and details about how Tab Stash uses its permissions, check out <a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/d4fe5a84d85fe0f2c4cbd83164236b4980eed6ae29b6ff1abc440ac6d22cb90c/https%3A//josh-berry.github.io/tab-stash/\" rel=\"nofollow\">the website</a>.",
    "type": "extension",
    "categories": [
      "bookmarks",
      "tabs"
    ],
    "average_daily_users": 46868,
    "weekly_downloads": 487,
    "rating_average": 4.6652,
    "rating_count": 693,
    "version": "3.4",
    "file_url": "https://addons.mozilla.org/firefox/downloads/file/4640621/tab_stash-3.4_H1fOxyH.xpi",
    "firefox_min_version": "78.0",
    "firefox_max_version": "*",
    "icon_url": "https://addons.mozilla.org/user-media/addon_icons/986/986969-64.png?modified=104258fb",
    "author_name": "Josh Berry",
    "author_url": "https://addons.mozilla.org/en-US/firefox/user/14084455/",
    "author_username": "josh-berry",
    "guid": "tab-stash@condordes.net",
    "status": "public",
    "is_disabled": false,
    "created": "2018-07-15T06:49:39Z",
    "last_updated": "2026-01-16T14:31:15Z",
    "actor_id": "CnqHz4KxTjXu5tent",
    "run_id": "vRhYc6udzRhTxugln"
  }
]
```

### Use Cases

- **Market Research**: Analyze trends in Firefox extension popularity, ratings, and downloads to identify emerging tools or niches.
- **Competitive Intelligence**: Monitor competitors' extensions in specific categories for feature comparisons and user feedback.
- **Content Aggregation**: Build databases of extension metadata for blogs, directories, or recommendation engines.
- **Academic Research**: Study user adoption patterns, category distributions, and extension lifecycles for studies on browser ecosystems.
- **Business Automation**: Automate data collection for reports on extension performance metrics like daily users and ratings.
- **Developer Insights**: Track updates, versions, and compatibility for extensions to inform development strategies.

### Installation and Usage

1. Search for "Mozilla Extensions Category Parser Spider" in the Apify Store
2. Click "Try for free" or "Run"
3. Configure input parameters
4. Click "Start" to begin extraction
5. Monitor progress in the log
6. Export results in your preferred format (JSON, CSV, Excel)

### Output Format

The Actor outputs data in JSON format as an array of objects, each representing an extension. Key fields include: `slug` (unique identifier), `name`, `addon_url`, `summary`, `description`, `categories` (array), `average_daily_users`, `weekly_downloads`, \`rating\_average

# Actor input Schema

## `Urls` (type: `array`):

The urls for the spider.

## `itemLimit` (type: `integer`):

Specifies the maximum number of items to process.

## Actor input object example

```json
{
  "Urls": [
    "https://addons.mozilla.org/en-US/firefox/extensions/category/"
  ],
  "itemLimit": 20
}
```

# 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 = {
    "itemLimit": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("getdataforme/mozilla-extensions-category-parser-spider").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 = { "itemLimit": 20 }

# Run the Actor and wait for it to finish
run = client.actor("getdataforme/mozilla-extensions-category-parser-spider").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 '{
  "itemLimit": 20
}' |
apify call getdataforme/mozilla-extensions-category-parser-spider --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getdataforme/mozilla-extensions-category-parser-spider",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mozilla Extensions Category Parser Spider",
        "description": "This Apify actor scrapes Mozilla's Firefox extensions site, extracting comprehensive metadata like ratings, downloads, and author details. Ideal for market research, competitive analysis, and data integration. Features category-specific scraping, pagination handling, and structured JSON output.",
        "version": "0.0",
        "x-build-id": "aKWGH6GONjbvhjjIn"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getdataforme~mozilla-extensions-category-parser-spider/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getdataforme-mozilla-extensions-category-parser-spider",
                "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/getdataforme~mozilla-extensions-category-parser-spider/runs": {
            "post": {
                "operationId": "runs-sync-getdataforme-mozilla-extensions-category-parser-spider",
                "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/getdataforme~mozilla-extensions-category-parser-spider/run-sync": {
            "post": {
                "operationId": "run-sync-getdataforme-mozilla-extensions-category-parser-spider",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "Urls": {
                        "title": "Urls",
                        "minItems": 1,
                        "type": "array",
                        "description": "The urls for the spider.",
                        "default": [
                            "https://addons.mozilla.org/en-US/firefox/extensions/category/"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "itemLimit": {
                        "title": "Item Limit",
                        "type": "integer",
                        "description": "Specifies the maximum number of items to process.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
