# Otelpuan Reviews Scraper (`valiant_quarter/otelpuan-reviews-scraper`) Actor

Scrape guest reviews, ratings, category scores and hotel (facility) responses from otelpuan.com hotel pages. Extracts review text, 1-10 rating, stay/trip details, reviewer info, photos and owner replies.

- **URL**: https://apify.com/valiant\_quarter/otelpuan-reviews-scraper.md
- **Developed by:** [valiant quarter](https://apify.com/valiant_quarter) (community)
- **Categories:** Travel, Integrations, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$29.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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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

## Otelpuan Reviews Scraper 🏨⭐

**Scrape otelpuan.com hotel reviews, ratings and guest feedback at scale — no login, no API key.**
Just paste an otelpuan.com hotel URL and export clean, structured review data (JSON, CSV, Excel)
for competitive analysis, sentiment analysis, reputation monitoring and Turkish travel market research.

otelpuan.com is Etstur's dedicated hotel-review platform for Turkish resorts and hotels. This
**otelpuan review scraper** extracts every review the hotel page exposes — review text, 1-10
rating, category sub-scores (food/room/service/pool), stay details, traveler type and the hotel's
own reply — and hands it back to you as a ready-to-use dataset.

---

### ✨ What this Otelpuan scraper does

- ⭐ **Scrapes hotel reviews from otelpuan.com** by hotel page URL
- 📝 Extracts **review text, 1-10 rating, per-category sub-scores, stay month/year and traveler type**
- 💬 Captures **hotel (owner) responses** ("Tesis Yanıtı") when the property has replied
- 🔢 Reads the property's **total review count**
- 📸 Collects review photos when present
- 📦 Outputs structured **JSON / CSV / Excel / HTML** via the Apify dataset
- 🤖 Solves otelpuan.com's Cloudflare Managed Challenge with a real fingerprinted browser

### 💡 Use cases

- **Hotel reputation monitoring** — track new guest reviews and scores over time
- **Sentiment analysis** — feed review text into an NLP/LLM model
- **Competitive analysis** — compare guest feedback across competing Turkish resorts
- **Market research** — understand what Turkish travelers praise or complain about
- **Review aggregation** — combine otelpuan.com reviews with other OTA sources

### 🚀 How to scrape otelpuan.com reviews (step by step)

1. Open the hotel on otelpuan.com, e.g. `https://www.otelpuan.com/Lago-Hotel`.
2. Paste that URL into the **Hotel URLs** field.
3. Set **Max reviews per hotel** (`0` = all).
4. Click **Start** and download the results from the dataset.

### ⚙️ Input

| Field | Type | Description |
|-------|------|-------------|
| `startUrls` | array | otelpuan.com hotel page URLs. |
| `maxReviewsPerHotel` | integer | Stop after this many reviews per hotel. `0` = all. Default `0`. |
| `includeRawData` | boolean | Attach the raw `/review/list` payload under `raw`. |
| `dateFrom` / `dateTo` | string | **Not enforceable on this site** — otelpuan.com carries no review-publish-date field (only guest stay month/year). Left in for schema consistency; setting them logs a warning and has no filtering effect. |
| `proxyConfiguration` | object | Proxy settings. **Residential proxies (ideally Turkish) strongly recommended** — datacenter IPs rarely clear the Cloudflare Managed Challenge. |
| `headless` | boolean | Disable only for local debugging. |

#### Example input

```json
{
    "startUrls": [{ "url": "https://www.otelpuan.com/Lago-Hotel" }],
    "maxReviewsPerHotel": 100,
    "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "TR" }
}
````

### 📤 Output

Each dataset item is a single review:

```json
{
    "hotelId": "287288",
    "hotelName": "Lago Hotel",
    "hotelUrl": "https://www.otelpuan.com/Lago-Hotel",
    "reviewId": "5186242",
    "reviewUrl": "https://www.otelpuan.com/Lago-Hotel/yorum/5186242",
    "title": "Oteli her şeye ulaşımı çok kolaydı...",
    "text": "Oteli her şeye ulaşımı çok kolaydı sadece sevmediğim tek tarafı...",
    "extraTexts": { "food": "Yiyecek ve içeceklerde çeşit çok azdı..." },
    "ratings": { "food": 4, "room": 10, "service": 6, "pool": 6 },
    "generalRating": 6.5,
    "ratingScale": 10,
    "ratingLabel": "AVERAGE",
    "recommendation": true,
    "traveledWith": "FAMILY",
    "travelDate": "2026-07-01T00:00:00.000Z",
    "entryDate": null,
    "helpfulVotes": 0,
    "user": { "name": "H*** D***", "avatarUrl": null },
    "media": null,
    "ownerResponse": {
        "text": "Değerli Misafirimiz,\r\n\r\nZaman ayırıp tesisimiz ile ilgili duygu ve düşüncelerinizi diğer ziyaretçilerimiz ile paylaştığınız için teşekkür ederiz...",
        "respondedAt": "2024-04-25T00:00:00.000Z"
    },
    "channel": "ETSTUR",
    "verifiedBooking": true,
    "roomName": "SUPERIOR DENIZ MANZARALI"
}
```

#### Output fields

| Field | Description |
|-------|-------------|
| `hotelId`, `hotelName`, `hotelUrl` | Property the review belongs to (`hotelId` = otelpuan's internal `vendorId`) |
| `reviewId`, `reviewUrl` | otelpuan's unique review id and its permalink |
| `text`, `title` | Full review text and headline |
| `extraTexts`, `ratings` | Per-category free-text answers and 1-10 sub-scores (food/room/service/pool/...) |
| `generalRating`, `ratingScale`, `ratingLabel` | Overall guest score (1-10, can be a half point) and its label code |
| `recommendation`, `traveledWith` | Whether the guest recommends the hotel, and who they traveled with |
| `travelDate` | Stay month/year (day defaults to the 1st — otelpuan.com only gives month precision) |
| `entryDate` | **Always `null`** on this site — see Limitations |
| `user`, `media` | Reviewer display name/avatar and review photos, when present |
| `ownerResponse` | The hotel's own reply ("Tesis Yanıtı"), when present |
| `channel`, `verifiedBooking`, `roomName` | Review source, verified-booking flag, and booked room name |

### 🔌 Integrations & export

Results are stored in an Apify dataset, so you can **export to JSON, CSV, Excel, HTML or XML**,
or push them to Google Sheets, Slack, Zapier, Make, a webhook or your own database via
Apify Integrations and the API.

### 🛡️ How it works & reliability

otelpuan.com sits behind a site-wide **Cloudflare Managed Challenge**, and reviews are not present
in the raw HTML — they load via a `POST /review/list` call the page fires itself. This actor opens
each hotel page in a real Chromium browser with fingerprint rotation, waits for the challenge to
auto-resolve, reads the review data straight from the page's own network traffic, and pages
further by driving the site's real "Daha Fazla Yorum" (load more) button — never replaying requests
outside the browser, which anti-bot systems catch easily.

For **reliable, high-volume scraping use Apify Residential proxies, ideally Turkish**. Datacenter
IPs rarely clear the Cloudflare challenge. If a run reports zero reviews, it was most likely
blocked — simply re-run, ideally with residential proxies enabled.

### ⚠️ Known limitations

- **No review publish date on this site.** otelpuan.com exposes only the guest's stay month/year
  (`travelDate`), never when the review itself was posted. `entryDate` is therefore always `null`,
  and the `dateFrom`/`dateTo` inputs have no effect here (kept only for schema consistency with our
  other review-scraper actors).
- Reviews are returned in otelpuan.com's own relevance ranking, not guaranteed newest-first.
- Not every hotel has owner replies — many properties never respond to reviews.

### ❓ FAQ

**Do I need an otelpuan.com account or API key?** No. Just a public hotel page URL.

**How many reviews can I scrape?** Set `maxReviewsPerHotel` (`0` for all). Reliable pagination
depends on a residential proxy clearing the Cloudflare challenge.

**Which fields are returned?** Review text, 1-10 rating and sub-scores, stay month/year, traveler
type, photos and the hotel's own reply — see the Output section.

**Can I filter by review date?** Not on this site — see Known limitations.

**Is scraping otelpuan.com reviews legal?** This actor collects only **publicly available** review
data. You are responsible for using scraped data in line with otelpuan.com's terms and applicable
laws (e.g. GDPR/KVKK). Do not scrape personal data you are not entitled to process.

***

⭐ Found this useful? Star and review the actor to help others discover it.

**Keywords:** otelpuan scraper, otelpuan reviews scraper, otelpuan hotel reviews, etstur reviews, scrape otelpuan, hotel review scraper, guest reviews api, travel data scraping, apify actor, hotel reputation monitoring, sentiment analysis, web scraping, Turkish hotel reviews.

# Actor input Schema

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

otelpuan.com hotel page URLs, e.g. https://www.otelpuan.com/Lago-Hotel

## `maxReviewsPerHotel` (type: `integer`):

Maximum number of reviews to scrape per hotel. Use 0 to scrape all reviews.

## `includeRawData` (type: `boolean`):

Attach the raw /review/list payload for each review under the `raw` key.

## `dateFrom` (type: `string`):

Only return reviews published (entryDate) on or after this date (YYYY-MM-DD). Leave empty for no lower bound.

## `dateTo` (type: `string`):

Only return reviews published (entryDate) on or before this date (YYYY-MM-DD). Leave empty for no upper bound.

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

otelpuan.com sits behind a site-wide Cloudflare Managed Challenge that datacenter IPs almost never clear. Residential proxies (ideally Turkish) are strongly recommended.

## `headless` (type: `boolean`):

Disable only for local debugging if the Cloudflare challenge does not clear headless.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.otelpuan.com/Lago-Hotel"
    }
  ],
  "maxReviewsPerHotel": 30,
  "includeRawData": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "TR"
  },
  "headless": true
}
```

# Actor output Schema

## `reviews` (type: `string`):

All scraped reviews with text, ratings and hotel (owner) responses (JSON)

## `summary` (type: `string`):

Per-hotel counts: reviews scraped, owner responses found, total on site

# 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 = {
    "startUrls": [
        {
            "url": "https://www.otelpuan.com/Lago-Hotel"
        }
    ],
    "maxReviewsPerHotel": 30,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "TR"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("valiant_quarter/otelpuan-reviews-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 = {
    "startUrls": [{ "url": "https://www.otelpuan.com/Lago-Hotel" }],
    "maxReviewsPerHotel": 30,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "TR",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("valiant_quarter/otelpuan-reviews-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 '{
  "startUrls": [
    {
      "url": "https://www.otelpuan.com/Lago-Hotel"
    }
  ],
  "maxReviewsPerHotel": 30,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "TR"
  }
}' |
apify call valiant_quarter/otelpuan-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Otelpuan Reviews Scraper",
        "description": "Scrape guest reviews, ratings, category scores and hotel (facility) responses from otelpuan.com hotel pages. Extracts review text, 1-10 rating, stay/trip details, reviewer info, photos and owner replies.",
        "version": "1.0",
        "x-build-id": "1FjiBMQ9bwU6ippTw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/valiant_quarter~otelpuan-reviews-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-valiant_quarter-otelpuan-reviews-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/valiant_quarter~otelpuan-reviews-scraper/runs": {
            "post": {
                "operationId": "runs-sync-valiant_quarter-otelpuan-reviews-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/valiant_quarter~otelpuan-reviews-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-valiant_quarter-otelpuan-reviews-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",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Hotel URLs",
                        "type": "array",
                        "description": "otelpuan.com hotel page URLs, e.g. https://www.otelpuan.com/Lago-Hotel",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxReviewsPerHotel": {
                        "title": "Max reviews per hotel",
                        "minimum": 0,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of reviews to scrape per hotel. Use 0 to scrape all reviews.",
                        "default": 0
                    },
                    "includeRawData": {
                        "title": "Include raw data",
                        "type": "boolean",
                        "description": "Attach the raw /review/list payload for each review under the `raw` key.",
                        "default": false
                    },
                    "dateFrom": {
                        "title": "Date from",
                        "type": "string",
                        "description": "Only return reviews published (entryDate) on or after this date (YYYY-MM-DD). Leave empty for no lower bound."
                    },
                    "dateTo": {
                        "title": "Date to",
                        "type": "string",
                        "description": "Only return reviews published (entryDate) on or before this date (YYYY-MM-DD). Leave empty for no upper bound."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "otelpuan.com sits behind a site-wide Cloudflare Managed Challenge that datacenter IPs almost never clear. Residential proxies (ideally Turkish) are strongly recommended.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "TR"
                        }
                    },
                    "headless": {
                        "title": "Run browser in headless mode",
                        "type": "boolean",
                        "description": "Disable only for local debugging if the Cloudflare challenge does not clear headless.",
                        "default": true
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
