# Ulta Beauty Store Data Scraper - Hours & Phone (`datacach/ulta-beauty-store-details-scraper`) Actor

Scrape Ulta Beauty store details from store URLs - address, phone, latitude/longitude, and hours. Pairs with the Ulta Store Locator. Export to JSON or CSV.

- **URL**: https://apify.com/datacach/ulta-beauty-store-details-scraper.md
- **Developed by:** [DataCach](https://apify.com/datacach) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 stores

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 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

## Ulta Beauty Store Data Scraper

**Extract full Ulta Beauty store data** — address, phone number, geolocation, weekly hours, curbside hours, mall name, timezone, in-store services, and every brand carried — from any Ulta store page URL. No coding, no CSS selectors, no browser required: just paste in store URLs and run.

### What is Ulta Beauty Store Data Scraper?

Ulta Beauty Store Data Scraper is an [Apify Actor](https://apify.com) that turns a list of **Ulta Beauty store page URLs** into structured **JSON data** — one clean record per store. It reads the same schema.org / JSON-LD markup and store-locator widget data that Ulta publishes on each store page, so the data is accurate, structured, and ready to export.

Give it URLs like `https://www.ulta.com/stores/abilene-tx-409` (typically produced by the **Ulta Beauty Store Links** Actor) and it returns each store's **address, phone, latitude/longitude, timezone, mall name, weekly opening hours, curbside-pickup hours, service availability, and brand assortment** — in seconds.

### What can Ulta Beauty Store Data Scraper do?

- 📍 **Extract full store metadata** — address, phone, geolocation, and IANA timezone for every store URL you provide
- 🕒 **Pull weekly store hours and curbside-pickup hours** as structured day-by-day entries
- 🛍️ **Detect in-store services** — makeup, hair, brow, and skin services, ear piercing, in-store pickup, curbside pickup, same-day delivery, in-store shopping, wellness shop, and beauty-packaging collection
- 🏷️ **List every brand a store carries**, plus brands coming soon
- ⚡ **Run URLs concurrently** with an adjustable `maxConcurrency` setting for faster crawls
- 📤 **Export to JSON, CSV, Excel, HTML, or XML** directly from the Apify platform
- 🕐 **Timestamp every record** with the exact UTC extraction time, so you always know how fresh the data is
- ☁️ **Run on autopilot** — schedule recurring runs, trigger via the [Apify API](https://docs.apify.com/api/v2), and monitor runs from the Apify Console
- 🔌 **Integrate anywhere** — connect to Zapier, Make, Google Sheets, and other tools through Apify Integrations, or pull results straight from the Dataset API
- 🌐 **Built-in proxy support** — route requests through Apify Proxy to stay reliable at scale

### Free vs. Premium: how many Ulta stores can I scrape per run?

This is the most important thing to know before you run this Actor:

| Plan | Store URLs processed per run |
|---|---|
| **Free / non-paying Apify account** | Only the **first 5 URLs** in your `links` input are processed — the rest are silently skipped |
| **Paid Apify account (Premium)** | **Unlimited** — every URL you provide in `links` is processed, with no cap |

The Actor checks your Apify account's plan automatically at the start of every run (via `Actor.get_env().user_is_paying`). If your account is not on a paid plan, it deduplicates your `links` array and keeps only the **first 5 unique URLs**, logging a warning in the run log so you know the limit was applied. Paid accounts have this cap fully removed — you can pass in hundreds or thousands of store URLs and every one of them will be scraped, subject only to your `maxConcurrency` setting and run timeout.

**In short:** if you want to bulk-extract data for an entire Ulta store directory or a large multi-state list of locations, you'll need a paid Apify plan. For testing the Actor on a handful of stores, the free tier works fine.

### What store data does Ulta Beauty Store Data Scraper extract?

| Field | Description |
|---|---|
| `name` | Store brand name |
| `branch` | Ulta's internal store/branch number |
| `street`, `city`, `state`, `zipcode`, `country` | Full store address |
| `phone` | Store phone number |
| `latitude`, `longitude` | Store geolocation coordinates |
| `timezone` | Store's IANA timezone (e.g. `America/Chicago`) |
| `mall_name` | Mall or shopping center name, if applicable |
| `hours` | Weekly opening hours as `{ day, opens, closes }` entries |
| `curbside_hours` | Separate curbside-pickup hours, if published |
| `makeup_services`, `hair_services`, `brow_services`, `skin_services`, `ear_piercing` | Booleans for available in-store services |
| `in_store_pickup`, `curbside_pickup`, `same_day_delivery`, `in_store_shopping` | Booleans for fulfillment options |
| `wellness_shop`, `beauty_packaging_collection` | Booleans for additional store features |
| `brands` | Full list of brands currently carried at this store |
| `brands_coming_soon` | Brands scheduled to arrive at this store |
| `extraction_datetime` | UTC timestamp (ISO 8601) of exactly when the record was extracted |
| `extraction_date` | Extraction date in `mm-dd-yyyy` format, for easy filtering by scrape day |

### How do I scrape Ulta Beauty store hours, address, and phone number?

1. Get Ulta store page URLs — run the **Ulta Beauty Store Links** Actor, or collect them yourself from the [Ulta store directory](https://www.ulta.com/stores/directory).
2. Open this Actor's **Input** tab and paste the URLs into the `links` field (one per line, or as an array).
3. Optionally adjust `maxConcurrency` — how many store pages fetch in parallel (default `5`, max `20`).
4. Click **Start**.
5. When the run finishes, open the **Output** tab and export your data as JSON, CSV, Excel, or HTML.

<!-- TODO: embed a demo GIF or YouTube walkthrough of running this Actor -->

<!-- TODO: screenshot of the Input tab showing the links field and maxConcurrency -->

### Input

The Actor takes two input fields — see the **Input** tab for the full form:

- **`links`** (required) — an array of Ulta Beauty store page URLs to extract data from, e.g. `https://www.ulta.com/stores/abilene-tx-409`. These typically come straight from the **Ulta Beauty Store Links** Actor's output.
- **`maxConcurrency`** (optional, default `5`, max `20`) — how many store pages to fetch in parallel. Higher values finish faster; lower values are gentler on Ulta's servers and reduce the risk of being rate-limited.

Remember: **free-plan accounts only process the first 5 URLs per run** — see the [Free vs. Premium](#free-vs-premium-how-many-ulta-stores-can-i-scrape-per-run) section above.

### Output example

```json
{
    "url": "https://www.ulta.com/stores/abilene-tx-409",
    "name": "Ulta",
    "branch": "409",
    "street": "4310 Buffalo Gap Road, # 31",
    "city": "Abilene",
    "state": "TX",
    "zipcode": "79606",
    "country": "US",
    "phone": "+1 325-691-1394",
    "latitude": 32.4008496,
    "longitude": -99.7619005,
    "timezone": "America/Chicago",
    "mall_name": "Mall of Abilene",
    "hours": [
        { "day": "Mon", "opens": "10:00", "closes": "21:00" },
        { "day": "Sun", "opens": "10:00", "closes": "19:00" }
    ],
    "curbside_hours": null,
    "makeup_services": true,
    "hair_services": true,
    "brow_services": null,
    "skin_services": null,
    "ear_piercing": true,
    "in_store_pickup": true,
    "curbside_pickup": false,
    "same_day_delivery": false,
    "in_store_shopping": true,
    "wellness_shop": true,
    "beauty_packaging_collection": true,
    "brands": ["Makeup Revolution", "ARMANI", "CHANEL", "MAC", "..."],
    "brands_coming_soon": ["Bath & Body Works", "Sam Edelman", "..."],
    "extraction_datetime": "2026-07-24T14:30:00.123456+00:00",
    "extraction_date": "07-24-2026"
}
````

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### Use cases

- **Store locator apps** — power a store-finder page with live address, hours, and geolocation data
- **Competitive & market research** — track which brands each Ulta location carries and where new brands are launching first
- **Retail location intelligence** — build datasets of store density, mall placements, and service availability by region
- **Hours and service monitoring** — schedule recurring runs to catch changes in curbside pickup, wellness shop availability, or holiday hours
- **Data enrichment** — append verified phone numbers, timezones, and coordinates to an internal store database
- **Beauty brand distribution analysis** — see exactly which stores carry a given brand, or which brands are "coming soon" across a region

### Ulta Beauty-related Actors

| Actor | What it does |
|---|---|
| **Ulta Beauty Store Links** | Crawls the Ulta store directory and outputs the store page URLs this Actor needs as input |
|  | |

### FAQ

#### Is it legal to scrape Ulta Beauty store data?

This Actor only extracts **publicly available data** — the same structured schema.org/JSON-LD data and store-locator widget data that Ulta Beauty already publishes on its public store pages for search engines and browsers to read. It does not access any account-gated or private information. That said, you're responsible for reviewing Ulta's Terms of Service and applicable laws before scraping, and for how you use the resulting data. See the Apify [blog post on the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/) for more background.

#### How many stores can I scrape for free?

Free Apify accounts are limited to the **first 5 store URLs** per run. Upgrading to a paid Apify plan removes this cap entirely — see [Free vs. Premium](#free-vs-premium-how-many-ulta-stores-can-i-scrape-per-run) above for full details.

#### Can I get Ulta store data through an API instead of the Console?

Yes. Every Apify Actor run — including this one — can be triggered and its results retrieved through the [Apify API](https://docs.apify.com/api/v2) and official SDKs for JavaScript and Python. You can also schedule recurring runs and connect results to Zapier, Make, or Google Sheets via Apify Integrations.

#### What if a store URL fails or gets blocked?

Links that fail or are blocked by anti-bot protection are automatically skipped and logged — they don't stop the rest of the run. The run only fails if **no** link succeeds. Check the run log for a summary of how many stores were extracted, blocked, or failed.

#### Do I need the Ulta Beauty Store Links Actor first?

Not strictly — you can supply any valid Ulta store page URL yourself. But pairing this Actor with **Ulta Beauty Store Links** lets you go from "every store in a region" to "every store's full metadata" in two clicks, without manually collecting URLs.

#### Why are some service fields `null`?

Fields like `brow_services` or `skin_services` are `null` when Ulta doesn't publish that information for a given store — it's not a missing-data error, it simply means the store page doesn't declare that service either way.

### Support

Found a bug, a store page format Ulta changed, or a missing field you need? Open an issue on this Actor's **Issues** tab in Apify Console and it'll be looked at. Need a custom scraper, a different data shape, or ongoing monitoring set up for you? Reach out through the Actor's **Contact developer** button on its Store page.

# Actor input Schema

## `links` (type: `array`):

Ulta Beauty store page URLs to extract metadata from, e.g. <code>https://www.ulta.com/stores/abilene-tx-409</code>. Typically these come straight from the output of the Ulta Beauty Store Links Actor. Free plan accounts process only the first 5 URLs; upgrade to remove this limit.

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

How many store pages to fetch in parallel. Higher values finish faster but increase the chance of being rate-limited or blocked; lower values are gentler on Ulta's servers.

## Actor input object example

```json
{
  "links": [
    "https://www.ulta.com/stores/abilene-tx-409"
  ],
  "maxConcurrency": 5
}
```

# Actor output Schema

## `dataset` (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 = {
    "links": [
        "https://www.ulta.com/stores/abilene-tx-409"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("datacach/ulta-beauty-store-details-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 = { "links": ["https://www.ulta.com/stores/abilene-tx-409"] }

# Run the Actor and wait for it to finish
run = client.actor("datacach/ulta-beauty-store-details-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 '{
  "links": [
    "https://www.ulta.com/stores/abilene-tx-409"
  ]
}' |
apify call datacach/ulta-beauty-store-details-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Ulta Beauty Store Data Scraper - Hours & Phone",
        "description": "Scrape Ulta Beauty store details from store URLs - address, phone, latitude/longitude, and hours. Pairs with the Ulta Store Locator. Export to JSON or CSV.",
        "version": "0.0",
        "x-build-id": "c8iCEIHEbJ7B2mzBS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/datacach~ulta-beauty-store-details-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-datacach-ulta-beauty-store-details-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/datacach~ulta-beauty-store-details-scraper/runs": {
            "post": {
                "operationId": "runs-sync-datacach-ulta-beauty-store-details-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/datacach~ulta-beauty-store-details-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-datacach-ulta-beauty-store-details-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": [
                    "links"
                ],
                "properties": {
                    "links": {
                        "title": "Store URLs",
                        "type": "array",
                        "description": "Ulta Beauty store page URLs to extract metadata from, e.g. <code>https://www.ulta.com/stores/abilene-tx-409</code>. Typically these come straight from the output of the Ulta Beauty Store Links Actor. Free plan accounts process only the first 5 URLs; upgrade to remove this limit.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many store pages to fetch in parallel. Higher values finish faster but increase the chance of being rate-limited or blocked; lower values are gentler on Ulta's servers.",
                        "default": 5
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
