# Groupon Search Scraper (`stealth_mode/groupon-search-scraper`) Actor

Scrape Groupon's "Things to Do" search results and local deals pages instantly. Extract 20+ fields including titles, prices, ratings, merchant info, discounts, and image URLs — perfect for deal aggregation, market research, and pricing intelligence platforms.

- **URL**: https://apify.com/stealth\_mode/groupon-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Developer tools, Automation, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 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.
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

## Groupon Search Scraper: Extract Local Deals & Offers Data

---

### What Is Groupon?

Groupon is a global e-commerce marketplace connecting millions of consumers with local deals on activities, dining, services, and products. The "Things to Do" section aggregates experiences, tours, entertainment, and lifestyle services across regions. Manually extracting deal data from Groupon's search results is tedious and error-prone — the **Groupon Search Scraper** automates this, turning deal listings into clean, structured datasets ready for analysis.

---

### Overview

The **Groupon Search Scraper** extracts deal and offer listings from Groupon's search and category pages, capturing comprehensive product and merchant data in a single run. It's built for:

- **Deal aggregators** building multi-source deal platforms
- **Market researchers** analyzing pricing trends and promotional strategies
- **E-commerce analysts** benchmarking competitor offers
- **Travel & experience platforms** sourcing local deals
- **Business intelligence teams** tracking merchant promotions

Key features include configurable item limits per page, resilient error handling, and detailed merchant and pricing data extraction.

---

### Input Format

The scraper accepts a JSON configuration to control which pages and how much data to collect:

```json
{
  "urls": [
    "https://www.groupon.com/local/things-to-do"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | URLs of Groupon search/category pages (e.g., Things to Do, local search results). Accepts multiple URLs for batch processing. |
| `max_items_per_url` | Integer | Maximum number of deals to extract per URL (default: 20, max: 200). Higher values collect more comprehensive data but take longer. |
| `ignore_url_failures` | Boolean | If `true`, the scraper continues running if a URL fails (network error, page structure change). If `false`, the run stops on first failure. Recommended: `true` for stability. |

> **Tip:** For broad category pages like "Things to Do," start with `max_items_per_url: 50` to sample data, then increase to `200` for full dataset collection.

***

### Output Format

**Sample output**

```json
{
  "id": "mayhem-rage-arena-3",
  "uuid": "41df1581-6e95-4638-90a3-1519c06f11b6",
  "option_id": "aad1d99a-6de0-4d45-8fd4-21af35c1f4cc",
  "url": "https://www.groupon.com/deals/mayhem-rage-arena-3",
  "title": "Immersive Rage Room Sessions for Stress Release & Fun",
  "ad_id": null,
  "category_guid": "b31adf54-542d-438b-b76d-09c6aaceb4d7",
  "prices": {
    "__typename": "StandardDealCardPrices",
    "price": {
      "__typename": "StandardPrice",
      "formatted": [
        {
          "__typename": "FormattedPriceItem",
          "align_top": false,
          "value": "$",
          "strike_through": false,
          "small": false,
          "bold": true,
          "hideable": null
        },
        {
          "__typename": "FormattedPriceItem",
          "align_top": false,
          "value": "35",
          "strike_through": false,
          "small": false,
          "bold": true,
          "hideable": null
        }
      ],
      "amount": 3500,
      "currency_code": "USD",
      "currency_exponent": 2,
      "included_fees": 0,
      "suffix": null
    },
    "strike_through_price": {
      "__typename": "StandardPrice",
      "formatted": [
        {
          "__typename": "FormattedPriceItem",
          "align_top": false,
          "value": "$",
          "strike_through": true,
          "small": false,
          "bold": false,
          "hideable": null
        },
        {
          "__typename": "FormattedPriceItem",
          "align_top": false,
          "value": "65",
          "strike_through": true,
          "small": false,
          "bold": false,
          "hideable": null
        }
      ],
      "amount": 6500,
      "currency_code": "USD",
      "currency_exponent": 2,
      "included_fees": 0,
      "suffix": null
    },
    "total_price": null,
    "is_starting_price": false
  },
  "options": null,
  "display_options": {
    "__typename": "StandardDisplayOptions",
    "discount_enabled": true,
    "show_discount_percentage_badge": true,
    "show_redemption_locations": true,
    "show_price": true,
    "timer_enabled": true,
    "quantity_enabled": true,
    "merchandising_type": "other",
    "hide_price_on_logged_out": null
  },
  "merchant": {
    "__typename": "StandardDealCardMerchant",
    "name": "Mayhem Rage Arena in Anytown, USA",
    "rating": 4.88
  },
  "promotion": {
    "__typename": "StandardDealCardPromotion",
    "promo_code": "FUN",
    "expiration": "2026-07-01T23:59:00-07:00",
    "price": {
      "__typename": "StandardPrice",
      "formatted": [
        {
          "__typename": "FormattedPriceItem",
          "align_top": false,
          "value": "$",
          "strike_through": false,
          "small": false,
          "bold": true,
          "hideable": false
        },
        {
          "__typename": "FormattedPriceItem",
          "align_top": false,
          "value": "28",
          "strike_through": false,
          "small": false,
          "bold": true,
          "hideable": false
        }
      ],
      "amount": 2800,
      "currency_code": "USD",
      "currency_exponent": 2,
      "included_fees": 0,
      "suffix": null
    },
    "event": "referenceId:166900,eventName:,dealId:41df1581-6e95-4638-90a3-1519c06f11b6,inventoryProductId:61750323-9b08-4ed0-ae65-84721a99155f,discountAmount:7,discountCeiling:"
  },
  "limited_sale": null,
  "image_urls": {
    "__typename": "StandardDealCardImageUrls",
    "small": "https://img.grouponcdn.com/deal/G6JF4WdA9boKeVb8sbaUxY/3F-1000x600/v1/t200x300.webp",
    "medium": "https://img.grouponcdn.com/deal/G6JF4WdA9boKeVb8sbaUxY/3F-1000x600/v1/t300x182.webp",
    "large": "https://img.grouponcdn.com/deal/G6JF4WdA9boKeVb8sbaUxY/3F-1000x600/v1/t600x362.webp",
    "medium_all": [
      "https://img.grouponcdn.com/deal/G6JF4WdA9boKeVb8sbaUxY/3F-1000x600/v1/t300x182.webp"
    ],
    "base_url": "https://img.grouponcdn.com/deal/G6JF4WdA9boKeVb8sbaUxY/3F-1000x600"
  },
  "rating": {
    "__typename": "StandardDealCardRating",
    "value": 4.88,
    "count": 115
  },
  "badges": [
    {
      "__typename": "StandardDealCardBadge",
      "badge_type": "POPULAR_GIFT",
      "display_text": "Popular Gift",
      "icon_image_url": null
    }
  ],
  "discount_percentage": 46,
  "locations_summary": {
    "__typename": "StandardDealCardLocationsSummary",
    "total": 1,
    "closest": {
      "__typename": "StandardDealCardRedemptionLocation",
      "uuid": "b25fa0ff-000a-bb80-08fc-01978aa19ac4",
      "lat": 32.7129615,
      "lng": -97.0498437,
      "address": "East Arlington, Arlington",
      "name": "East Arlington"
    }
  },
  "icon": "VrHeadset",
  "flags": {
    "__typename": "StandardDealCardFlags",
    "is_coupon_deal": false,
    "is_getaways_bookable_deal": false,
    "is_getaways_deal": false,
    "is_gift_card_deal": false,
    "is_top_rated_deal": false
  },
  "invalidate_at": "2050-07-03T04:59:59Z",
  "from_url": "https://www.groupon.com/local/things-to-do"
}
```

Each deal extracted returns a rich record with 20 fields describing the offer, pricing, merchant, and engagement metrics:

#### Deal Identification

| Field | Meaning |
|---|---|
| `ID` | Unique Groupon identifier for this deal/offer |
| `UUID` | Universally unique identifier (format: UUID v4) |
| `Option ID` | Unique identifier for the specific pricing/option tier of the deal |
| `URL` | Direct link to the deal page on Groupon |
| `Ad ID` | Advertising or tracking identifier (if applicable) |

#### Core Deal Information

| Field | Meaning |
|---|---|
| `Title` | Deal name/headline as displayed on the listing (e.g., "Cooking Class for Two") |
| `Category GUID` | Unique category identifier (e.g., "classes-workshops," "tours-attractions") — used to organize deals by type |
| `Promotion` | Brief promotional text or tagline accompanying the deal |
| `Limited Sale` | Boolean flag: `true` if the deal has limited-time or limited-quantity availability |

#### Pricing & Value

| Field | Meaning |
|---|---|
| `Prices` | Array of price tiers; typically includes original price, discounted price, and savings amount. Example: `{"original": 100, "discounted": 50, "currency": "USD"}` |
| `Options` | Deal variants or tiers (e.g., "1 pass," "2 passes," "Group rate"); includes pricing for each option |
| `Display Options` | Customer-facing option labels shown on the product page |
| `Discount Percentage` | Savings as a percentage (e.g., `50` for 50% off) |

#### Merchant & Company Data

| Field | Meaning |
|---|---|
| `Merchant` | Seller/business information: name, ratings, location, contact details, and business category |
| `Locations Summary` | Array of physical locations where the deal is valid (address, city, coordinates if available) |

#### User Engagement & Trust Signals

| Field | Meaning |
|---|---|
| `Rating` | Average customer rating (e.g., `4.5` out of 5 stars) |
| `Badges` | Trust badges, certifications, or special designations (e.g., "Verified Merchant," "Local Favorite") |

#### Visual Assets

| Field | Meaning |
|---|---|
| `Image URLs` | Array of image URLs for the deal (hero image, product photos, merchant branding) |
| `Icon` | Small icon or logo URL representing the deal category or merchant |

#### Metadata & System Fields

| Field | Meaning |
|---|---|
| `Flags` | System flags indicating special properties (e.g., "featured," "bestseller," "expiring-soon") |
| `Invalidate At` | Timestamp when the deal expires or becomes invalid; used to refresh data in downstream systems |

***

### How to Use

1. **Gather URLs** — Navigate to Groupon, find the search or category page you want to scrape (e.g., "Things to Do" in your city), and copy the page URL.
2. **Configure input** — Paste the URL(s) into the `urls` array. For multiple cities or categories, add multiple URLs.
3. **Set item limit** — Choose `max_items_per_url` based on your needs:
   - `20–50` for quick sampling
   - `100–200` for comprehensive category snapshots
4. **Run the scraper** — Execute and monitor the run. Logs show progress, found items, and any failed URLs.
5. **Export & integrate** — Download results as JSON or CSV. Parse the `Prices`, `Options`, and `Locations Summary` arrays in downstream systems.

**Best practices:**

- Test with a single URL and smaller `max_items_per_url` first (e.g., 20) to verify output quality.
- Use `ignore_url_failures: true` when scraping multiple URLs to avoid interruptions.
- The scraper captures dynamic data; re-run periodically to track price changes and new deals.

***

### Use Cases & Business Value

**Deal aggregators:** Build price comparison platforms or deal discovery apps by combining Groupon with other deal sources.

**Market intelligence:** Track competitor pricing, promotional cadence, and seasonal deal trends in experiences and services.

**Revenue optimization:** Merchants can monitor peer pricing and adjust their Groupon offers strategically.

**Travel & experience platforms:** Auto-populate local activities and dining deals without manual curation.

**Business analytics:** Analyze merchant ratings, discount depth, and inventory (limited-sale data) to forecast market dynamics.

The **Groupon Search Scraper** eliminates manual browsing and copy-paste work, delivering deal data in minutes instead of hours — enabling faster market research and data-driven product decisions.

***

### Conclusion

The **Groupon Search Scraper** is your gateway to structured, scalable deal data. Whether building aggregators, tracking market trends, or powering analytics dashboards, this scraper transforms Groupon's deals into actionable business intelligence. Start scraping today and unlock competitive insights at scale.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the items list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.groupon.com/local/things-to-do"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "urls": [
        "https://www.groupon.com/local/things-to-do"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/groupon-search-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 = {
    "urls": ["https://www.groupon.com/local/things-to-do"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/groupon-search-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 '{
  "urls": [
    "https://www.groupon.com/local/things-to-do"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/groupon-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Groupon Search Scraper",
        "description": "Scrape Groupon's \"Things to Do\" search results and local deals pages instantly. Extract 20+ fields including titles, prices, ratings, merchant info, discounts, and image URLs — perfect for deal aggregation, market research, and pricing intelligence platforms.",
        "version": "0.0",
        "x-build-id": "HJ7Lo8B5TLeQnOmHO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~groupon-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-groupon-search-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/stealth_mode~groupon-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-groupon-search-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/stealth_mode~groupon-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-groupon-search-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": {
                    "urls": {
                        "title": "URLs of the items list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the items list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
