# Talabat Scraper | 1$/1k Cheap (`trev0n/talabat-scraper`) Actor

Scrape restaurants, full menus, prices, ratings, cuisines and delivery info from Talabat across 9 Middle Eastern countries. Search by keyword or target restaurants directly. API-first, no proxy needed, fast,

- **URL**: https://apify.com/trev0n/talabat-scraper.md
- **Developed by:** [Paweł](https://apify.com/trev0n) (community)
- **Categories:** Developer tools, E-commerce, Automation
- **Stats:** 8 total users, 4 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

## 🍔 Talabat Scraper

🎯 **Pull restaurant data, full menus and prices from Talabat across 9 Middle Eastern countries — fast, no proxy needed.**

This scraper collects **structured, ready-to-use data** from Talabat: restaurant names, ratings, cuisines, delivery fees and times, popular items, payment methods, and complete menus with item prices, descriptions and images. Search by keyword or target specific restaurants directly — across the UAE, Saudi Arabia, Kuwait, Bahrain, Oman, Qatar, Jordan, Egypt and Iraq.

### 🚀 What Does It Do?

This scraper automatically finds restaurants on Talabat and collects **structured, ready-to-use data** — no manual browsing needed. Just set your search terms, pick a country, and hit Start.

💡 **Two ways to use it:**

1. **🔍 Search Mode** — Enter search terms like `pizza`, `burger` or `sushi` and get every matching restaurant in your chosen country, complete with ratings, delivery info and popular items.
2. **📋 Direct Mode** — Already know the restaurants you want? Drop in their slugs or full Talabat URLs and pull their full menus straight away.

Flip on **Scrape Menu** to add every category, item, price and photo. Flip on **Scrape Menu Choices** to also capture sizes, add-ons and extras for customizable items.

### 👥 Who Is This For?

| 🏢 Use Case                          | 💬 How It Helps                                                    |
| ------------------------------------ | ------------------------------------------------------------------ |
| 📊 **Market researchers**            | Track restaurant coverage, cuisines and pricing across 9 countries |
| 🍽️ **Restaurant owners**             | Monitor competitors' menus, prices and promotions in real time     |
| 💰 **Price analysts**                | Build menu-level price datasets for any cuisine or city            |
| 📈 **Food-tech & delivery startups** | Seed your catalog with thousands of real restaurants and menus     |
| 🤝 **Agencies & consultants**        | Deliver fresh market intelligence to food & beverage clients       |
| 🧠 **Data teams**                    | Feed clean menu data into dashboards, ML models or BI tools        |

### ✨ Features

- 🌍 **9 Countries** — UAE, Saudi Arabia, Kuwait, Bahrain, Oman, Qatar, Jordan, Egypt and Iraq
- 🔍 **Keyword Search** — Find restaurants by cuisine, brand or dish in any country
- 📋 **Full Menus** — Categories, items, prices, descriptions and images for every restaurant
- 🧩 **Menu Choices** — Optional sizes, add-ons and extras with their prices
- ⭐ **Ratings & Reviews** — Star ratings, rating counts and rating labels
- 🚚 **Delivery Details** — Delivery fee, delivery time, minimum order and pickup info
- 💳 **Payment Methods** — Cash, credit and debit acceptance flags
- 🔥 **Popular Items** — The top picks shown on each restaurant's card
- 🎛️ **Smart Filters** — Country selector, per-query result limits and direct-URL targeting
- ⚡ **Fast & Scalable** — Runs without a proxy and pulls thousands of restaurants per run
- 🧹 **Deduplication** — The same restaurant is never returned twice in one run
- 📤 **Export Anywhere** — Download results as JSON, CSV, Excel, or push to Google Sheets, Zapier, Make, or your CRM

### 🎛️ Filters & Options

| Option                     | What It Does                                                          |
| -------------------------- | --------------------------------------------------------------------- |
| 🔍 **Search Queries**      | Search terms to find restaurants (e.g. `pizza`, `mcdonalds`, `sushi`) |
| 🏷️ **Restaurant Slugs**    | Scrape specific restaurants directly by their Talabat slug            |
| 🌍 **Country**             | Pick which Talabat storefront to scrape                               |
| 🍽️ **Scrape Menu**         | Add the full menu — categories, items, prices, images                 |
| 🧩 **Scrape Menu Choices** | Add sizes, add-ons and extras for customizable items                  |
| ⚙️ **Max Concurrency**     | Control how many requests run in parallel                             |
| 🔢 **Max Results**         | Control how many restaurants to extract per query                     |
| 🔗 **Direct URLs**         | Optionally provide specific Talabat restaurant URLs to scrape         |

### 📦 What You Get (Output Fields)

Every restaurant includes:

#### Restaurant Info

| Field        | Example                                                             |
| ------------ | ------------------------------------------------------------------- |
| name         | `Papa Johns Pizza`                                                  |
| branchName   | `Papa Johns Pizza, Bay Avenue`                                      |
| country      | `uae`                                                               |
| restaurantId | `609078`                                                            |
| chainId      | `12802`                                                             |
| cuisines     | `[{ "id": 112, "name": "Pizza", "slug": "pizza" }]`                 |
| logo         | `https://images.deliveryhero.io/image/talabat/PapaJohnsLogo.jpg`    |
| url          | `https://www.talabat.com/uae/restaurant/609078/papa-johns?aid=9553` |

#### Ratings & Delivery

| Field              | Example      |
| ------------------ | ------------ |
| rating             | `4.6`        |
| ratingText         | `Awesome`    |
| totalRatings       | `1000`       |
| deliveryTime       | `30`         |
| deliveryTimeText   | `25-40 mins` |
| deliveryFee        | `0`          |
| minimumOrderAmount | `20`         |
| isTalabatGo        | `true`       |
| isTalabatPro       | `false`      |

#### Offers & Popular Items

| Field         | Example                                                                 |
| ------------- | ----------------------------------------------------------------------- |
| discountText  | `50% off`                                                               |
| promotionText | `Free delivery`                                                         |
| tags          | `["50% off"]`                                                           |
| popularItems  | `[{ "id": "3086165973", "name": "Pizza Tower + Drink", "price": 125 }]` |

#### Menu (when Scrape Menu is enabled)

| Field                     | Example                                                                           |
| ------------------------- | --------------------------------------------------------------------------------- |
| menu.itemsCount           | `91`                                                                              |
| menu.categories           | `[{ "id": 1, "name": "Pizzas", "items": [...] }]`                                 |
| menu.categories[].items[] | `{ "name": "Margherita", "price": 32, "description": "...", "hasChoices": true }` |

### 📊 Example Output

```json
{
    "source": "search",
    "query": "pizza",
    "country": "uae",
    "restaurantId": 609078,
    "chainId": 12802,
    "name": "Papa Johns Pizza",
    "branchName": "Papa Johns Pizza, Bay Avenue",
    "cuisines": [
        { "id": 112, "name": "Pizza", "slug": "pizza" },
        { "id": 89, "name": "American", "slug": "american" }
    ],
    "rating": 4.6,
    "ratingText": "Awesome",
    "totalRatings": 1000,
    "deliveryTime": 30,
    "deliveryTimeText": "25-40 mins",
    "deliveryFee": 0,
    "minimumOrderAmount": 20,
    "isTalabatGo": true,
    "isTalabatPro": false,
    "discountText": "50% off",
    "tags": ["50% off"],
    "logo": "https://images.deliveryhero.io/image/talabat/PapaJohnsLogo.jpg",
    "popularItems": [
        {
            "id": "3086165973",
            "name": "Pizza Tower + Drink + Mix Box",
            "price": 125,
            "image": "https://images.deliveryhero.io/image/talabat/Menuitems/11E0F945.jpg"
        }
    ],
    "menu": {
        "itemsCount": 91,
        "categories": [
            {
                "id": 1,
                "name": "Signature Pizzas",
                "items": [
                    {
                        "id": 3380469140,
                        "name": "Double Cheddar Nashville Burger Pizza",
                        "description": "A bold Nashville-inspired pizza topped with Thousand Island sauce.",
                        "price": 64,
                        "oldPrice": null,
                        "image": "https://images.deliveryhero.io/image/talabat/Menuitems/ABC123.jpg",
                        "section": "Signature Pizzas",
                        "hasChoices": true
                    }
                ]
            }
        ]
    },
    "url": "https://www.talabat.com/uae/restaurant/609078/papa-johns?aid=9553",
    "scrapedAt": "2026-06-24T12:00:00.000Z"
}
````

### 📋 Dataset Views

The Apify Console gives you **2 ready-made table views** to quickly browse your results:

| View            | What It Shows                                                               |
| --------------- | --------------------------------------------------------------------------- |
| 📊 **Overview** | Restaurant name, country, rating, delivery time, fee, discount and link     |
| 📋 **Detailed** | Every single field — ratings, delivery, offers, popular items and full menu |

### ❓ FAQ

**🤔 Which countries are supported?**
All 9 Talabat markets: the UAE, Saudi Arabia, Kuwait, Bahrain, Oman, Qatar, Jordan, Egypt and Iraq.

**🤔 Do I need to enter a delivery address?**
No. Just pick a country and search — the scraper anchors each country to a central city automatically.

**🤔 Can I scrape full menus with prices?**
Yes — turn on **Scrape Menu** for categories, items, prices, descriptions and images. Add **Scrape Menu Choices** for sizes, add-ons and extras.

**🤔 How do I scrape a specific restaurant?**
Paste its slug (the last part of its Talabat URL, e.g. `blue-fig`) into Restaurant Slugs, or drop the full URL into Start URLs.

**🤔 Can I export the data?**
Yes — JSON, CSV, Excel, XML, HTML, RSS. You can also push data directly to Google Sheets, Zapier, Make, or any webhook/API endpoint.

**🤔 How often should I run this?**
For fresh data, run daily or weekly. You can schedule automatic runs on Apify with just a few clicks.

**🤔 Does it work with proxies?**
It runs perfectly without a proxy — search, menus and choices all work out of the box. A proxy is only needed for very large jobs. The scraper works with Apify's built-in proxy service.

### 🛠️ Need Custom Filters or Features?

**I'm happy to customize this scraper for your specific needs!** 🤝

Whether you need:

- 🎯 Additional filters (by cuisine, rating threshold, delivery fee, specific city/area)
- 📊 Extra data fields or custom output formats
- 🔄 Integration with your CRM, Google Sheets, or database
- ⏰ Scheduled scraping with automatic deduplication
- 🌐 Scraping from other food-delivery platforms alongside Talabat

👉 **Don't hesitate to reach out via private message** — I respond quickly and I'm always open to building exactly what you need. No request is too small or too specific!

### ⚖️ Legal & Ethical Use

This scraper collects **only publicly available information** from Talabat. It does not access private data, bypass authentication, or place orders. Please use the data responsibly and in compliance with applicable laws and platform terms of service.

# Actor input Schema

## `queries` (type: `array`):

Search terms to find restaurants (e.g. 'pizza', 'mcdonalds', 'sushi'). Each query returns up to Max Results Per Query restaurants in the selected Country. Leave empty if you only want specific restaurants via Restaurant Slugs or Start URLs.

## `restaurantSlugs` (type: `array`):

Scrape specific restaurants directly by slug, skipping search. The slug is the last segment of a Talabat restaurant URL — for https://www.talabat.com/jordan/blue-fig the slug is 'blue-fig'. Each slug uses the Country selected below.

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

Full Talabat restaurant or brand URLs to scrape directly (e.g. https://www.talabat.com/uae/restaurant/609078/papa-johns or https://www.talabat.com/jordan/blue-fig). The country is read from the URL.

## `country` (type: `string`):

Talabat country storefront to scrape. Applies to Search Queries and Restaurant Slugs (Start URLs carry their own country).

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

Maximum number of restaurants to return per search query. Set to 0 for no limit. Does not apply to Restaurant Slugs / Start URLs.

## `scrapeMenu` (type: `boolean`):

Also fetch the full menu (categories, items, prices, descriptions, images) for each restaurant. Adds a 'menu' object to each result.

## `scrapeMenuChoices` (type: `boolean`):

For every customizable menu item, also fetch its choice tree: sections (e.g. 'Size', 'Add-ons'), options with prices, and min/max selection rules. Requires Scrape Menu. Note: this makes one extra request per customizable item, so large menus take longer.

## `maxConcurrency` (type: `integer`):

Maximum number of menu/choice requests made in parallel.

## `excludeEmptyFields` (type: `boolean`):

Drop null / empty fields from each output record for a more compact dataset.

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

Everything works without a proxy. Enable one only if you hit rate limits on very large jobs.

## Actor input object example

```json
{
  "queries": [
    "pizza"
  ],
  "restaurantSlugs": [],
  "startUrls": [],
  "country": "uae",
  "maxResults": 20,
  "scrapeMenu": false,
  "scrapeMenuChoices": false,
  "maxConcurrency": 5,
  "excludeEmptyFields": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

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

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "queries": [
        "pizza"
    ],
    "restaurantSlugs": [],
    "startUrls": [],
    "country": "uae",
    "maxResults": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("trev0n/talabat-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 = {
    "queries": ["pizza"],
    "restaurantSlugs": [],
    "startUrls": [],
    "country": "uae",
    "maxResults": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("trev0n/talabat-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 '{
  "queries": [
    "pizza"
  ],
  "restaurantSlugs": [],
  "startUrls": [],
  "country": "uae",
  "maxResults": 20
}' |
apify call trev0n/talabat-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Talabat Scraper | 1$/1k Cheap",
        "description": "Scrape restaurants, full menus, prices, ratings, cuisines and delivery info from Talabat across 9 Middle Eastern countries. Search by keyword or target restaurants directly. API-first, no proxy needed, fast,",
        "version": "1.0",
        "x-build-id": "yh5mcf9b5o0a7c9gq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/trev0n~talabat-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-trev0n-talabat-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/trev0n~talabat-scraper/runs": {
            "post": {
                "operationId": "runs-sync-trev0n-talabat-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/trev0n~talabat-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-trev0n-talabat-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": {
                    "queries": {
                        "title": "Search Queries",
                        "type": "array",
                        "description": "Search terms to find restaurants (e.g. 'pizza', 'mcdonalds', 'sushi'). Each query returns up to Max Results Per Query restaurants in the selected Country. Leave empty if you only want specific restaurants via Restaurant Slugs or Start URLs.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "restaurantSlugs": {
                        "title": "Restaurant Slugs",
                        "type": "array",
                        "description": "Scrape specific restaurants directly by slug, skipping search. The slug is the last segment of a Talabat restaurant URL — for https://www.talabat.com/jordan/blue-fig the slug is 'blue-fig'. Each slug uses the Country selected below.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Full Talabat restaurant or brand URLs to scrape directly (e.g. https://www.talabat.com/uae/restaurant/609078/papa-johns or https://www.talabat.com/jordan/blue-fig). The country is read from the URL.",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "country": {
                        "title": "Country",
                        "enum": [
                            "uae",
                            "sa",
                            "kw",
                            "bh",
                            "om",
                            "qa",
                            "jo",
                            "eg",
                            "iq"
                        ],
                        "type": "string",
                        "description": "Talabat country storefront to scrape. Applies to Search Queries and Restaurant Slugs (Start URLs carry their own country).",
                        "default": "uae"
                    },
                    "maxResults": {
                        "title": "Max Results Per Query",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of restaurants to return per search query. Set to 0 for no limit. Does not apply to Restaurant Slugs / Start URLs.",
                        "default": 20
                    },
                    "scrapeMenu": {
                        "title": "Scrape Menu",
                        "type": "boolean",
                        "description": "Also fetch the full menu (categories, items, prices, descriptions, images) for each restaurant. Adds a 'menu' object to each result.",
                        "default": false
                    },
                    "scrapeMenuChoices": {
                        "title": "Scrape Menu Choices (sizes, extras, add-ons)",
                        "type": "boolean",
                        "description": "For every customizable menu item, also fetch its choice tree: sections (e.g. 'Size', 'Add-ons'), options with prices, and min/max selection rules. Requires Scrape Menu. Note: this makes one extra request per customizable item, so large menus take longer.",
                        "default": false
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of menu/choice requests made in parallel.",
                        "default": 5
                    },
                    "excludeEmptyFields": {
                        "title": "Exclude Empty Fields",
                        "type": "boolean",
                        "description": "Drop null / empty fields from each output record for a more compact dataset.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Everything works without a proxy. Enable one only if you hit rate limits on very large jobs.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
