# Deezer Scraper — Tracks, Artists, Albums & Charts (`logiover/deezer-music-scraper`) Actor

Scrape Deezer by keyword or chart. Extract track title, artist, album, duration, rank, preview URL, release date, and explicit flag. No API key, no login. Bulk-ready with pagination.

- **URL**: https://apify.com/logiover/deezer-music-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 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.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Deezer Scraper — Tracks, Artists, Albums & Charts

Scrape Deezer's full music catalog by keyword, chart position, artist, or album — no API key, no login required.

### What does Deezer Scraper do?

Deezer Scraper connects to the open `api.deezer.com` JSON API to extract structured music data at scale. It supports four scraping modes: **search** (query tracks, artists, or albums by keyword), **chart** (fetch global chart rankings for tracks, artists, and albums), **artistDetail** (pull an artist's full top track catalog by Deezer ID), and **albumTracks** (list every track in an album by album ID).

The engine uses paginated requests with `index` and `limit` parameters, batching up to 100 results per API call and looping until your `maxResults` cap is reached. Because the Deezer API is genuinely public and key-free, every request goes through Apify's datacenter proxies for reliability — no residential proxies needed. Each run can yield hundreds to thousands of rows depending on your query. Output fields include track title, artist name, album title, duration in seconds, rank score, explicit lyrics flag, 30-second preview URL, Deezer link, and release date.

### Who is it for?

- **Music researchers** who need bulk metadata on artists, songs, or albums for academic or industry studies.
- **Playlist curators and music bloggers** looking to programmatically discover tracks by keyword or genre chart.
- **Data engineers** building music recommendation datasets or training machine learning models.
- **Marketing analysts** tracking chart performance and fan counts for artists over time.
- **App developers** integrating music catalog data into their products without maintaining an API key.

### Use cases

- Build a dataset of the top 500 global chart tracks with rank, duration, and explicit status for genre analysis.
- Extract all tracks by a specific artist (e.g., all Eminem albums) and compute average BPM or duration.
- Monitor weekly chart changes by running scheduled scrapes and comparing rankings over time.
- Discover albums released in a specific year by searching album titles and filtering on `releaseDate`.
- Create a music quiz app by bulk-scraping preview URLs and track metadata for thousands of songs.

### Why use Deezer Scraper?

- **Completely keyless**: uses Deezer's open public API — no account, no OAuth, no API key required.
- **Rich output — 15 fields per item**: id, title, artist, artistId, album, albumId, duration, rank, explicit_lyrics, preview URL, link, releaseDate, cover image, chart position, and type.
- **Bulk-ready with full pagination**: scrape up to 2,000 results per run using index-based paging across all endpoints.
- **Four flexible modes**: search by keyword, browse global charts, drill into a specific artist, or list all tracks in an album.
- **Export to any format**: download as JSON, CSV, or Excel directly from the Apify dataset, or connect to Google Sheets.
- **Pay-per-result pricing**: only pay for the data you actually retrieve, making it efficient for both small and large jobs.

### What data can you extract?

The actor returns one row per track (or artist/album in search/chart modes). Here are all available fields:

| Field | Type | Description |
|---|---|---|
| `id` | string | Deezer unique ID for the item |
| `title` | string | Track title (or artist/album name in non-track modes) |
| `artist` | string | Artist display name |
| `artistId` | string | Deezer artist ID |
| `album` | string | Album title |
| `albumId` | string | Deezer album ID |
| `duration` | string | Track duration in seconds |
| `rank` | string | Deezer rank score (popularity metric) |
| `explicit_lyrics` | string | `"true"` if track has explicit lyrics, `"false"` otherwise |
| `preview` | string | Direct URL to 30-second MP3 preview |
| `link` | string | Full Deezer track/artist/album page URL |
| `releaseDate` | string | Album release date (YYYY-MM-DD) |
| `cover` | string | Album cover image URL (250x250) |
| `position` | string | Chart position (in chart mode) |
| `type` | string | Item type: `track`, `artist`, or `album` |

**Example output (single track):**

```json
{
  "id": "916424",
  "title": "Without Me",
  "artist": "Eminem",
  "artistId": "13",
  "album": "The Eminem Show",
  "albumId": "103248",
  "duration": "290",
  "rank": "961431",
  "explicit_lyrics": "true",
  "preview": "https://cdnt-preview.dzcdn.net/api/1/1/a/e/b/0/aeb58f2f63ee57fb9c47cbe8fb5ccdaa.mp3",
  "link": "https://www.deezer.com/track/916424",
  "releaseDate": "2002-05-26",
  "cover": "https://cdn-images.dzcdn.net/images/cover/ec3c8ed67427064c70f67e5815b74cef/250x250-000000-80-0-0.jpg",
  "position": "1",
  "type": "track"
}
````

### How to use

#### Option A — Search by keyword

Set `mode` to `search` and provide a `query`. Use `searchType` to choose whether you want tracks, artists, or albums.

**Example: Search for Eminem tracks**

```json
{
  "mode": "search",
  "query": "eminem",
  "searchType": "track",
  "maxResults": 200
}
```

**Example: Search for albums by Taylor Swift**

```json
{
  "mode": "search",
  "query": "taylor swift",
  "searchType": "album",
  "maxResults": 100
}
```

#### Option B — Browse charts or drill by ID

Use `mode=chart` to get global ranking lists. Use `mode=artistDetail` or `mode=albumTracks` with a list of Deezer IDs.

**Example: Global top 100 chart tracks**

```json
{
  "mode": "chart",
  "searchType": "track",
  "maxResults": 100
}
```

**Example: All top tracks for Eminem (artist ID 13)**

```json
{
  "mode": "artistDetail",
  "ids": [13],
  "maxResults": 500
}
```

**Example: All tracks in "The Eminem Show" (album ID 103248)**

```json
{
  "mode": "albumTracks",
  "ids": [103248],
  "maxResults": 50
}
```

### Input parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `search` | Scraping mode: `search`, `chart`, `artistDetail`, `albumTracks` |
| `query` | string | — | Keyword to search for. Required for `mode=search` |
| `searchType` | string | `track` | What to search or chart: `track`, `artist`, or `album` |
| `ids` | array | — | List of Deezer artist or album IDs for `artistDetail`/`albumTracks` modes |
| `maxResults` | integer | `200` | Max items to return per query or ID (1–2000) |
| `proxy` | object | Apify proxy | Proxy configuration. Datacenter proxies work fine |

**Full input example:**

```json
{
  "mode": "search",
  "query": "drake",
  "searchType": "track",
  "maxResults": 500,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}
```

### Output example

One fully-populated row from a real run:

```json
{
  "id": "1109731",
  "title": "Lose Yourself",
  "artist": "Eminem",
  "artistId": "13",
  "album": "Curtain Call: The Hits",
  "albumId": "119606",
  "duration": "326",
  "rank": "980436",
  "explicit_lyrics": "true",
  "preview": "https://cdnt-preview.dzcdn.net/api/1/1/2/7/a/0/27a14827ff1e82c5e40e8b6a934a8637.mp3",
  "link": "https://www.deezer.com/track/1109731",
  "releaseDate": "2005-12-06",
  "cover": "https://cdn-images.dzcdn.net/images/cover/e2b36a9fda865cb2e9ed1476b6291a7d/250x250-000000-80-0-0.jpg",
  "position": "2",
  "type": "track"
}
```

### Tips for best results

- Use `searchType=track` for the widest result set — Deezer's track index is far larger than album or artist indexes.
- Combine `mode=search` with `mode=artistDetail` for deeper coverage: first find artist IDs, then pull their full catalogs.
- The Deezer `rank` field is Deezer's own popularity score — higher = more popular. Sort by it to get the best-known tracks first.
- Set `maxResults` to at least 500 for comprehensive genre analysis; Deezer's search returns up to 2,000 results per query.
- For chart data, `mode=chart` with `searchType=track` returns the global Deezer top 100 tracks updated daily.
- The `preview` URL is a direct, publicly accessible 30-second MP3 — useful for building audio datasets or demos.
- Run multiple queries in sequence using Apify schedules or the API to build a time-series of chart changes.
- Filter results client-side on `explicit_lyrics` if you need family-safe content only.
- Use `mode=albumTracks` with album IDs from a prior search run to get complete track listings with consistent album metadata.
- Datacenter proxies are sufficient — Deezer's open API does not require residential proxies or browser automation.

### Integrations

Connect Deezer Scraper to your workflow without writing any code:

- **Google Sheets**: Use the Apify integration to stream results directly into a Google Sheet. Perfect for sharing music datasets with your team.
- **Slack**: Trigger a Slack notification via webhook when a scheduled run completes with new chart data.
- **Zapier / Make**: Connect to Zapier or Make to push scraped tracks into Airtable, Notion, or any CRM.
- **Webhooks**: Configure a POST webhook in actor settings to receive dataset URLs as soon as the run finishes.
- **Scheduler**: Set up a daily or weekly Apify schedule to monitor chart changes automatically.

### API usage

**cURL:**

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/logiover~deezer-music-scraper/runs?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode":"chart","searchType":"track","maxResults":100}'
```

**Node.js (Apify Client):**

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

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('logiover/deezer-music-scraper').call({
  mode: 'search',
  query: 'eminem',
  searchType: 'track',
  maxResults: 200,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**Python:**

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("logiover/deezer-music-scraper").call(run_input={
    "mode": "search",
    "query": "eminem",
    "searchType": "track",
    "maxResults": 200,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["title"], item["artist"])
```

### Use with AI agents (MCP)

Deezer Scraper is available as an MCP-compatible tool via the Apify platform. You can connect it to Claude, GPT-4, or any MCP-enabled AI agent to query the Deezer catalog in natural language. For example, prompt your agent: *"Use the Deezer scraper to get the top 50 hip-hop tracks from the global chart and list them with their rank and duration."* The agent will trigger the actor, wait for results, and return structured music data directly in its response.

### FAQ

#### Does this require a Deezer API key?

No. This actor uses Deezer's public open API at `api.deezer.com`, which requires no authentication, no API key, and no user account. It works out of the box.

#### How many results can I get per run?

Up to 2,000 items per run (configurable via `maxResults`). For larger datasets, run the actor multiple times with different queries or use the Apify API to batch runs.

#### What's the difference between the modes?

`search` finds tracks/artists/albums matching a keyword. `chart` returns Deezer's live global rankings. `artistDetail` pulls an artist's top tracks by their Deezer ID. `albumTracks` lists every track in a specific album by ID.

#### Why do some tracks return null for releaseDate?

Deezer's track-level search results don't always include `release_date`. The `albumTracks` mode fetches the album metadata separately and populates `releaseDate` for all tracks in the album.

#### How do I find an artist ID or album ID?

Run the actor in `search` mode with `searchType=artist` or `searchType=album`. The output includes `artistId` and `albumId` fields you can then use in subsequent runs.

#### Can I export to Excel or CSV?

Yes. In the Apify dataset view, click **Export** and choose CSV, Excel, JSON, or XML. You can also connect Google Sheets via the native Apify integration.

#### How fast does it run?

A typical search for 200 tracks completes in under 20 seconds. Scraping 2,000 results takes 60–120 seconds depending on Apify datacenter load.

#### Is the preview URL always available?

Most tracks include a 30-second MP3 preview URL. A small fraction of tracks (typically region-locked content) may have an empty `preview` field.

#### What happens if my query returns zero results?

The actor exits cleanly with an empty dataset. Try a different keyword, check spelling, or switch `searchType`. The Deezer API is case-insensitive and supports partial matches.

#### How often is Deezer's data updated?

Deezer's track catalog is updated continuously as new music is released. Chart data (mode=chart) is refreshed daily by Deezer. Running the actor on a schedule lets you track chart movements over time.

#### Can I scrape Deezer radio or playlist data?

The current actor covers tracks, artists, albums, and charts. Playlist and radio scraping are not included in this version.

#### Is this actor related to Deezer Inc.?

No. This is an independent third-party tool built on Deezer's public API. It is not affiliated with or endorsed by Deezer.

### Is it legal?

This actor only accesses data through Deezer's public, unauthenticated API — the same endpoints used by any web browser visiting deezer.com. The data returned is publicly available music catalog metadata. No paywalled content, personal user data, or authentication bypass is involved.

Scraping publicly available data is generally considered lawful in most jurisdictions (see *hiQ Labs v. LinkedIn* and similar rulings). However, you are responsible for reviewing Deezer's Terms of Service and ensuring your use case complies with applicable data protection laws (GDPR, CCPA) in your region. This actor does not download or redistribute full audio tracks — only publicly accessible 30-second preview clips and metadata.

### Related scrapers

- **[Discogs Scraper](https://apify.com/logiover/discogs-scraper)** — Scrape Discogs vinyl marketplace for release details, pricing, and seller data.
- **[Twitch Scraper](https://apify.com/logiover/twitch-scraper)** — Extract Twitch streamers, games, and live viewer counts.
- **[Reddit Search Scraper](https://apify.com/logiover/reddit-search-scraper)** — Search Reddit posts and comments for music discussions and recommendations.
- **[YouTube Channel Scraper](https://apify.com/logiover/youtube-channel-scraper)** — Scrape YouTube channel stats, video lists, and subscriber counts for music artists.

# Actor input Schema

## `mode` (type: `string`):

Scraping mode. 'search' finds tracks/artists/albums by keyword; 'chart' returns the global top tracks/artists/albums; 'artistDetail' returns an artist's top tracks by ID; 'albumTracks' returns all tracks in an album by ID. With empty input the actor returns the global chart.

## `query` (type: `string`):

Keyword to search for (used in search mode). Broad terms like 'love', 'rock', 'summer' return hundreds of results. Leave EMPTY to return the global Deezer chart instead.

## `searchType` (type: `string`):

What to return in search / chart mode: tracks, artists, or albums.

## `ids` (type: `array`):

List of Deezer artist IDs (for artistDetail mode) or album IDs (for albumTracks mode).

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

Maximum number of items to scrape per query/ID. Default 500, max 2000.

## `proxy` (type: `object`):

Apify proxy settings. Automatic Apify Proxy is recommended for Deezer's open API.

## Actor input object example

```json
{
  "mode": "search",
  "query": "love",
  "searchType": "track",
  "maxResults": 500,
  "proxy": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

All records extracted by this run. Open the Dataset tab to browse, filter, and export as CSV, JSON, or Excel.

# 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 = {
    "query": "love",
    "proxy": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/deezer-music-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 = {
    "query": "love",
    "proxy": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("logiover/deezer-music-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 '{
  "query": "love",
  "proxy": {
    "useApifyProxy": true
  }
}' |
apify call logiover/deezer-music-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Deezer Scraper — Tracks, Artists, Albums & Charts",
        "description": "Scrape Deezer by keyword or chart. Extract track title, artist, album, duration, rank, preview URL, release date, and explicit flag. No API key, no login. Bulk-ready with pagination.",
        "version": "1.0",
        "x-build-id": "tBarmZ3F00OySrUk7"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~deezer-music-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-deezer-music-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/logiover~deezer-music-scraper/runs": {
            "post": {
                "operationId": "runs-sync-logiover-deezer-music-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/logiover~deezer-music-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-deezer-music-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": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "chart",
                            "artistDetail",
                            "albumTracks"
                        ],
                        "type": "string",
                        "description": "Scraping mode. 'search' finds tracks/artists/albums by keyword; 'chart' returns the global top tracks/artists/albums; 'artistDetail' returns an artist's top tracks by ID; 'albumTracks' returns all tracks in an album by ID. With empty input the actor returns the global chart.",
                        "default": "search"
                    },
                    "query": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Keyword to search for (used in search mode). Broad terms like 'love', 'rock', 'summer' return hundreds of results. Leave EMPTY to return the global Deezer chart instead."
                    },
                    "searchType": {
                        "title": "Search Type",
                        "enum": [
                            "track",
                            "artist",
                            "album"
                        ],
                        "type": "string",
                        "description": "What to return in search / chart mode: tracks, artists, or albums.",
                        "default": "track"
                    },
                    "ids": {
                        "title": "Artist or Album IDs",
                        "type": "array",
                        "description": "List of Deezer artist IDs (for artistDetail mode) or album IDs (for albumTracks mode)."
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "Maximum number of items to scrape per query/ID. Default 500, max 2000.",
                        "default": 500
                    },
                    "proxy": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Apify proxy settings. Automatic Apify Proxy is recommended for Deezer's open API."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
