# Fragrantica Scraper (`solidcode/fragrantica-scraper`) Actor

\[💰 $2.0 / 1K] Extract perfume data from Fragrantica: names, brands, the full note pyramid, main accords, perfumers, ratings, and longevity/sillage/season vote breakdowns. Search by keyword or paste perfume, designer, note, or perfumer URLs. Optional user reviews.

- **URL**: https://apify.com/solidcode/fragrantica-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Developer tools, Automation, E-commerce
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

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

## Fragrantica Scraper

Pull structured fragrance data from Fragrantica at scale — the full top/middle/base note pyramid, main accords with strength percentages, perfumer credits, community ratings with exact vote counts, and optional user reviews for any perfume. Built for fragrance e-commerce teams, perfume bloggers and reviewers, market researchers, and scent-app developers who need clean, structured fragrance data without copy-pasting perfume pages one bottle at a time.

### Why This Scraper?

- **Full 3-tier note pyramid per perfume** — every fragrance returns its complete top, middle, and base notes as separate arrays, so you can model how a scent opens, settles, and dries down.
- **Main accords with strength percentages** — not just labels like "woody" or "sweet", but each accord's 0–100% intensity bar exactly as Fragrantica scores it.
- **Perfumer ("nose") attribution** — the named creators behind each fragrance, captured per perfume for designer-roster and house analysis.
- **Community rating plus exact rating count** — the average score and the precise number of votes behind it (e.g. 11,876 ratings on Chanel No 5), so you can weight popularity by sample size.
- **Up to ~200 most-recent user reviews per perfume** — opt-in full review text with author, date, and language, capped per perfume so result counts stay predictable.
- **Four entry points in one actor** — keyword search, or paste a perfume, designer, note, or perfumer URL. Designer, note, and perfumer pages auto-expand into their full perfume roster (every Tom Ford fragrance, or every perfume that features Oud).
- **13 international Fragrantica editions** — pull results in English, French, German, Spanish, Italian, Portuguese, Dutch, Polish, Russian, Japanese, Korean, Arabic, or Turkish.
- **Launch year, gender, brand, and popularity ranking** — each perfume carries its release year, gender classification, designer/brand, and a popularity score for trend and catalog analysis.

### Use Cases

**E-commerce & Retail**
- Enrich product catalogs with note pyramids and accords for "shop by scent" filters
- Build fragrance comparison pages backed by real community ratings
- Map a competitor's full house roster from a single designer URL
- Surface launch-year data to flag new releases versus discontinued classics

**Market Research**
- Track which notes and accords dominate top-rated fragrances by year
- Benchmark a brand's average rating and vote volume against rivals
- Analyze gender classification trends across a category or house
- Quantify popularity by combining rating count and popularity score

**Fragrance Apps & Recommendation Engines**
- Power scent-matching engines with structured top/middle/base note data
- Cluster perfumes by shared accords and perfumer signatures
- Feed "smells like" recommendations from note-pyramid similarity
- Build note-based discovery (pull every perfume featuring a given note)

**Content & Affiliate**
- Generate data-rich fragrance roundups and "best of" lists with ratings
- Source perfumer credits and launch years for editorial accuracy
- Aggregate real user reviews to summarize community sentiment
- Localize content for 13 markets from a single run

**Brand Monitoring**
- Watch a house's roster, ratings, and review volume over time
- Detect newly indexed fragrances on a designer page
- Track rating-count growth to gauge momentum on key releases

### Getting Started

#### Basic Keyword Search

The simplest run — one search, defaults for everything else:

```json
{
    "searchQueries": ["Chanel No 5"],
    "maxResults": 25
}
````

#### Scrape a Designer's Full Roster

Paste a designer, note, or perfumer URL and it expands into every listed perfume:

```json
{
    "startUrls": [
        "https://www.fragrantica.com/designers/Tom-Ford.html",
        "https://www.fragrantica.com/notes/Oud-75.html"
    ],
    "maxResults": 100
}
```

#### Full-Featured Run (Reviews + Localization)

Search and direct URLs together, with reviews enabled and a Spanish-edition locale:

```json
{
    "searchQueries": ["vanilla", "Sauvage"],
    "startUrls": [
        "https://www.fragrantica.com/perfume/Creed/Aventus-9828.html"
    ],
    "maxResults": 200,
    "includeReviews": true,
    "maxReviewsPerPerfume": 50,
    "language": "es"
}
```

### Input Reference

#### What to Scrape

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchQueries` | string\[] | `["Chanel No 5"]` | Keywords to search — a perfume name, brand, or note. Each query runs independently. |
| `startUrls` | string\[] | `[]` | Fragrantica URLs to scrape. Supports a single perfume, or a designer, note, or perfumer page. Designer/note/perfumer pages expand into all of their listed perfumes. Type is auto-detected. |

#### Results

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `100` | Maximum perfumes to return across all queries and URLs. Set to `0` for unlimited. Start with 10–50 to test, then scale up. |

#### Reviews

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeReviews` | boolean | `false` | Also collect user reviews for each perfume. Off by default. When on, each review is returned as its own result. |
| `maxReviewsPerPerfume` | integer | `20` | Maximum reviews per perfume when reviews are on. Set to `0` for all available (up to ~200 most-recent). Ignored when reviews are off. |

#### Localization

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `language` | select | `English` | Edition/locale for results: English, French, German, Spanish, Italian, Portuguese, Dutch, Polish, Russian, Japanese, Korean, Arabic, or Turkish. |

### Output

Every row carries a `recordType` field — `perfume`, `designer`, or `review` — so you can filter cleanly downstream.

#### Perfume (`recordType: "perfume"`)

```json
{
    "recordType": "perfume",
    "perfumeId": "9828",
    "name": "Aventus",
    "url": "https://www.fragrantica.com/perfume/Creed/Aventus-9828.html",
    "brand": "Creed",
    "brandUrl": "https://www.fragrantica.com/designers/Creed.html",
    "gender": "for men",
    "year": 2010,
    "imageUrl": "https://fimgs.net/mdimg/perfume/375x500.9828.jpg",
    "ratingValue": 4.36,
    "ratingCount": 25431,
    "reviewsCount": 210,
    "mainAccords": [
        { "name": "fruity", "strength": 100 },
        { "name": "woody", "strength": 78 },
        { "name": "smoky", "strength": 52 }
    ],
    "notesTop": ["Bergamot", "Black Currant", "Apple", "Pineapple"],
    "notesMiddle": ["Birch", "Patchouli", "Moroccan Jasmine", "Rose"],
    "notesBase": ["Musk", "Oak Moss", "Ambergris", "Vanilla"],
    "perfumers": ["Olivier Creed", "Erwin Creed"],
    "popularityScore": 18742,
    "language": "en"
}
```

##### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `recordType` | string | Always `"perfume"` |
| `perfumeId` | string | Fragrantica numeric perfume ID |
| `name` | string | Perfume name |
| `url` | string | Canonical perfume URL |
| `brand` | string | Designer / brand name |
| `brandUrl` | string | Designer page URL |
| `gender` | string | `for women`, `for men`, or `unisex` |
| `year` | number | Launch year (nullable) |
| `imageUrl` | string | Bottle image URL |
| `language` | string | Edition/locale of the result |

##### Scent Profile

| Field | Type | Description |
|-------|------|-------------|
| `mainAccords` | object\[] | Accords as `{name, strength}`, strength 0–100 |
| `notesTop` | string\[] | Top (opening) notes |
| `notesMiddle` | string\[] | Middle (heart) notes |
| `notesBase` | string\[] | Base (dry-down) notes |
| `perfumers` | string\[] | Perfumer ("nose") names |

##### Ratings & Popularity

| Field | Type | Description |
|-------|------|-------------|
| `ratingValue` | number | Average community rating, 0–5 (nullable) |
| `ratingCount` | number | Exact number of ratings behind the average |
| `reviewsCount` | number | Number of user reviews on the perfume |
| `popularityScore` | number | Popularity metric (populated for search-sourced perfumes) |

#### Designer (`recordType: "designer"`)

Emitted when a designer, note, or perfumer URL is the entry point — followed by a `perfume` row for each fragrance in the roster.

```json
{
    "recordType": "designer",
    "name": "Tom Ford",
    "url": "https://www.fragrantica.com/designers/Tom-Ford.html",
    "parentCompany": "The Estée Lauder Companies",
    "country": "United States",
    "perfumeCount": 156,
    "language": "en"
}
```

| Field | Type | Description |
|-------|------|-------------|
| `recordType` | string | Always `"designer"` |
| `name` | string | Designer / brand name |
| `url` | string | Designer page URL |
| `parentCompany` | string | Parent company (nullable) |
| `country` | string | Country of origin (nullable) |
| `perfumeCount` | number | Number of perfumes listed for the house |
| `language` | string | Edition/locale of the result |

#### Review (`recordType: "review"`)

Emitted only when `includeReviews: true`. Returns up to ~200 of the most-recent reviews per perfume, capped by `maxReviewsPerPerfume`.

```json
{
    "recordType": "review",
    "perfumeId": "9828",
    "perfumeUrl": "https://www.fragrantica.com/perfume/Creed/Aventus-9828.html",
    "author": "scenthunter",
    "date": "2026-03-12",
    "text": "The opening is an explosion of pineapple and bergamot that settles into a smoky birch...",
    "language": "en"
}
```

| Field | Type | Description |
|-------|------|-------------|
| `recordType` | string | Always `"review"` |
| `perfumeId` | string | Parent perfume ID |
| `perfumeUrl` | string | Parent perfume URL |
| `author` | string | Reviewer username |
| `date` | string | Review date (ISO when available) |
| `text` | string | Full review body |
| `language` | string | Edition/locale of the review |

### Tips for Best Results

- **Start small to test.** Set `maxResults` to 10–50 on a first run to confirm the data matches your needs, then scale up.
- **Paste a note URL to pull every perfume featuring a scent.** A note page like the one for Oud expands into hundreds of fragrances that share that note — the fastest way to build a single-note dataset.
- **Use a designer or perfumer URL to grab a whole roster.** One designer URL returns the brand's entire catalog; a perfumer URL returns every fragrance that nose created.
- **Keep reviews off unless you need them.** Reviews are opt-in and each one counts as a result — leave `includeReviews` off when you only need perfume profiles to keep runs lean.
- **Cap reviews on popular perfumes.** A blockbuster fragrance can carry ~200 reviews; set `maxReviewsPerPerfume` to a modest number (10–25) to bound result counts.
- **Mix searches and URLs in one run.** Combine `searchQueries` with `startUrls` to gather a topic survey and specific perfumes you already know in a single pass.
- **Match the locale to your audience.** Set `language` to one of the 13 editions to get perfume text and reviews in the right market language.

### Pricing

**$2.00 per 1,000 results** — flat, pay-per-result pricing for the richest structured fragrance dataset available, including the full note pyramid, accords, and perfumer credits.

| Results | Estimated Cost |
|---------|----------------|
| 100 | $0.20 |
| 1,000 | $2.00 |
| 10,000 | $20.00 |
| 100,000 | $200.00 |

No compute charges — you only pay per result returned. A perfume counts as one result, and a review counts as one result. Platform storage fees depend on your Apify plan.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor is designed for legitimate fragrance research, catalog enrichment, market analysis, and content creation. Users are responsible for complying with applicable laws and Fragrantica's terms of service, including making reasonable-rate requests and respecting content usage rules. User-generated reviews may contain personal opinions — handle this data responsibly and do not use it for spam, harassment, or any illegal purpose.

# Actor input Schema

## `searchQueries` (type: `array`):

Keywords to search on Fragrantica — a perfume name, brand, or note (e.g. 'Chanel No 5' or 'vanilla'). Each query runs independently. Leave empty if you only want to scrape specific URLs below.

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

Paste Fragrantica URLs directly. Supported: a single perfume (e.g. 'https://www.fragrantica.com/perfume/...'), a designer/brand page ('/designers/Zara.html'), a note page ('/notes/...'), or a perfumer page ('/noses/...'). The type is detected automatically — designer, note, and perfumer pages expand into all of their listed perfumes.

## `maxResults` (type: `integer`):

Maximum number of perfumes to return across all queries and URLs. Set to 0 for unlimited (up to the site's own limits). Keyword search returns up to several thousand results per query; for larger pulls, paste a specific designer, note, or perfumer URL below. Tip: start with 10-50 to test, then increase.

## `includeReviews` (type: `boolean`):

Also collect user reviews for each perfume. Off by default. When on, each review is returned as its own result, so the total result count grows with the number of reviews. Use the cap below to keep this predictable.

## `maxReviewsPerPerfume` (type: `integer`):

When Include User Reviews is on, the maximum number of reviews to collect for each perfume. Set to 0 for all available reviews. Each perfume page exposes up to ~200 most-recent reviews, so higher values are capped at what the page shows. Ignored when reviews are off.

## `language` (type: `string`):

Language/locale for results.

## Actor input object example

```json
{
  "searchQueries": [
    "Chanel No 5"
  ],
  "startUrls": [],
  "maxResults": 100,
  "includeReviews": false,
  "maxReviewsPerPerfume": 20,
  "language": "en"
}
```

# Actor output Schema

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

Table of scraped perfumes and designers with key fields.

# 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 = {
    "searchQueries": [
        "Chanel No 5"
    ],
    "startUrls": [],
    "maxResults": 100,
    "includeReviews": false,
    "maxReviewsPerPerfume": 20,
    "language": "en"
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/fragrantica-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 = {
    "searchQueries": ["Chanel No 5"],
    "startUrls": [],
    "maxResults": 100,
    "includeReviews": False,
    "maxReviewsPerPerfume": 20,
    "language": "en",
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/fragrantica-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 '{
  "searchQueries": [
    "Chanel No 5"
  ],
  "startUrls": [],
  "maxResults": 100,
  "includeReviews": false,
  "maxReviewsPerPerfume": 20,
  "language": "en"
}' |
apify call solidcode/fragrantica-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Fragrantica Scraper",
        "description": "[💰 $2.0 / 1K] Extract perfume data from Fragrantica: names, brands, the full note pyramid, main accords, perfumers, ratings, and longevity/sillage/season vote breakdowns. Search by keyword or paste perfume, designer, note, or perfumer URLs. Optional user reviews.",
        "version": "1.0",
        "x-build-id": "jdMJIAvL643JYtIQK"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~fragrantica-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-fragrantica-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/solidcode~fragrantica-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-fragrantica-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/solidcode~fragrantica-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-fragrantica-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",
                "properties": {
                    "searchQueries": {
                        "title": "Search Queries",
                        "type": "array",
                        "description": "Keywords to search on Fragrantica — a perfume name, brand, or note (e.g. 'Chanel No 5' or 'vanilla'). Each query runs independently. Leave empty if you only want to scrape specific URLs below.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Fragrantica URLs",
                        "type": "array",
                        "description": "Paste Fragrantica URLs directly. Supported: a single perfume (e.g. 'https://www.fragrantica.com/perfume/...'), a designer/brand page ('/designers/Zara.html'), a note page ('/notes/...'), or a perfumer page ('/noses/...'). The type is detected automatically — designer, note, and perfumer pages expand into all of their listed perfumes.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Maximum Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of perfumes to return across all queries and URLs. Set to 0 for unlimited (up to the site's own limits). Keyword search returns up to several thousand results per query; for larger pulls, paste a specific designer, note, or perfumer URL below. Tip: start with 10-50 to test, then increase.",
                        "default": 100
                    },
                    "includeReviews": {
                        "title": "Include User Reviews",
                        "type": "boolean",
                        "description": "Also collect user reviews for each perfume. Off by default. When on, each review is returned as its own result, so the total result count grows with the number of reviews. Use the cap below to keep this predictable.",
                        "default": false
                    },
                    "maxReviewsPerPerfume": {
                        "title": "Maximum Reviews per Perfume",
                        "minimum": 0,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "When Include User Reviews is on, the maximum number of reviews to collect for each perfume. Set to 0 for all available reviews. Each perfume page exposes up to ~200 most-recent reviews, so higher values are capped at what the page shows. Ignored when reviews are off.",
                        "default": 20
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "en",
                            "fr",
                            "de",
                            "es",
                            "it",
                            "pt",
                            "nl",
                            "pl",
                            "ru",
                            "ja",
                            "ko",
                            "ar",
                            "tr"
                        ],
                        "type": "string",
                        "description": "Language/locale for results.",
                        "default": "en"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
