# Sephora Search Scraper (`automation-lab/sephora-search-scraper`) Actor

Extract Sephora product search results with product IDs, SKU IDs, brands, prices, ratings, reviews, badges, images, and URLs.

- **URL**: https://apify.com/automation-lab/sephora-search-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Sephora Search Scraper

Extract structured Sephora product search results from the public catalog JSON endpoint. Use it to monitor assortment, pricing, ratings, reviews, badges, SKU IDs, and product URLs for beauty keywords such as moisturizer, sunscreen, serum, cleanser, foundation, or fragrance.

### What does Sephora Search Scraper do?

Sephora Search Scraper turns keyword searches into clean product rows.

It collects product information that appears in Sephora search and catalog responses, including brand, product name, product ID, SKU ID, list price, rating, review count, image URL, product URL, bestseller flags, new-product flags, sponsored flags, and Sephora-exclusive markers.

The actor is HTTP-first and uses Sephora catalog JSON instead of browser automation, so it is designed for fast and inexpensive catalog monitoring.

### Who is it for?

- 🛍️ Ecommerce teams tracking Sephora assortment and search visibility.
- 💄 Beauty brands monitoring rank, pricing, and review counts for their own and competitor products.
- 📈 DTC growth teams watching bestseller and new-product badges.
- 🧴 Category managers researching skincare, haircare, makeup, fragrance, and wellness keywords.
- ✍️ SEO and content teams building product roundups from current Sephora catalog data.
- 🤖 Data teams feeding BI dashboards, enrichment jobs, and price monitors.

### Why use this actor?

Sephora catalog search pages contain high-value retail signals, but manually checking them is slow and inconsistent.

This actor gives you repeatable exports with:

- product IDs and SKU IDs for matching across runs,
- keyword and rank fields for search-position tracking,
- prices and badge flags for merchandising analysis,
- ratings and reviews for social-proof monitoring,
- product URLs and image URLs for downstream enrichment.

### Data you can extract

| Field | Description |
| --- | --- |
| `query` | Keyword used for the Sephora search. |
| `rank` | Product position within the keyword result set. |
| `brandName` | Brand shown by Sephora. |
| `displayName` | Product display name. |
| `productId` | Sephora product ID. |
| `skuId` | Current SKU ID. |
| `listPrice` | Price string from the catalog row. |
| `rating` | Product rating when available. |
| `reviews` | Review count when available. |
| `isBestseller` | Bestseller badge flag. |
| `isNew` | New product flag. |
| `isSephoraExclusive` | Sephora-exclusive flag. |
| `productUrl` | Sephora product page URL. |
| `imageUrl` | Product image URL. |

### How much does it cost to scrape Sephora search results?

This actor uses pay-per-event pricing.

- A small `start` event is charged once per run.
- An `item` event is charged for each product row saved to the dataset.

Your exact cost depends on how many keywords you run and the `maxItemsPerQuery` value. Start with a small test, review output quality, then scale to larger recurring monitoring jobs.

### How to use Sephora Search Scraper

1. Add one or more keywords in `queries`.
2. Set `maxItemsPerQuery` to the number of products you need for each keyword.
3. Leave `pageSize` at 60 for efficient catalog paging.
4. Choose whether to include category or refinement context.
5. Run the actor and download the dataset as JSON, CSV, Excel, XML, or RSS.

### Input configuration

The most important fields are:

- `queries` — keywords such as `moisturizer`, `sunscreen`, `vitamin c serum`, or `foundation`.
- `startUrls` — optional Sephora search URLs if you prefer URL-based input.
- `maxItemsPerQuery` — how many product rows to collect per keyword.
- `pageSize` — API page size, capped at 60.
- `includeCategories` — adds category names returned by Sephora search.
- `includeRefinements` — adds available filter groups and values.
- `proxyConfiguration` — optional; the public JSON endpoint typically works without proxy.

### Example input

```json
{
  "queries": ["moisturizer", "sunscreen"],
  "maxItemsPerQuery": 100,
  "pageSize": 60,
  "includeCategories": true,
  "includeRefinements": false
}
````

### Example output

```json
{
  "query": "moisturizer",
  "rank": 1,
  "page": 1,
  "productId": "P517477",
  "skuId": "2895787",
  "brandName": "rhode",
  "displayName": "Barrier Restore Cream Hydrating Daily Moisturizer",
  "listPrice": "$20.00 - $32.00",
  "rating": 4.1755,
  "reviews": 245,
  "isBestseller": true,
  "isSephoraExclusive": true,
  "productUrl": "https://www.sephora.com/product/barrier-restore-cream-P517477?skuId=2895787"
}
```

### Tips for better results

- Use exact retail search terms, not long natural-language prompts.
- Run multiple related keywords to compare assortment overlap.
- Keep `includeRefinements` off unless you need filter metadata.
- Use product IDs and SKU IDs for deduplication across recurring runs.
- Track `rank`, `rating`, and `reviews` over time to spot changes.

### Common workflows

#### Beauty brand monitoring

Track your own product lines and competitor terms weekly. Export product ranks, badges, ratings, and review counts to a spreadsheet or BI tool.

#### Price and assortment research

Collect product rows for category terms such as `retinol`, `cleanser`, `mascara`, or `fragrance` to compare current Sephora assortment.

#### SEO and editorial research

Use the dataset to identify products, brands, and price ranges currently visible for high-intent beauty searches.

### Integrations

You can connect the actor to:

- Google Sheets for recurring catalog exports,
- Airtable for product-monitoring tables,
- Make or Zapier for scheduled alerts,
- BI tools for assortment dashboards,
- data warehouses using Apify API dataset exports.

### API usage with Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/sephora-search-scraper').call({
  queries: ['moisturizer'],
  maxItemsPerQuery: 100
});
console.log(run.defaultDatasetId);
```

### API usage with Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/sephora-search-scraper').call(run_input={
    'queries': ['sunscreen'],
    'maxItemsPerQuery': 100,
})
print(run['defaultDatasetId'])
```

### API usage with cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~sephora-search-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"queries":["vitamin c serum"],"maxItemsPerQuery":100}'
```

### MCP usage

Use this actor from Claude Desktop, Claude Code, or other MCP-compatible clients through the Apify MCP server.

MCP URL:

`https://mcp.apify.com/?tools=automation-lab/sephora-search-scraper`

Claude Code setup:

```bash
claude mcp add apify-sephora-search https://mcp.apify.com/?tools=automation-lab/sephora-search-scraper
```

Claude Desktop JSON config:

```json
{
  "mcpServers": {
    "apify-sephora-search": {
      "url": "https://mcp.apify.com/?tools=automation-lab/sephora-search-scraper"
    }
  }
}
```

Example prompts:

- "Run the Sephora Search Scraper for moisturizer and summarize the top brands."
- "Export Sephora sunscreen product prices, ratings, and review counts."
- "Compare bestseller flags for retinol and vitamin C serum searches."

### Proxy and rate-limit notes

The tested endpoint returned JSON without login, cookies, or proxy. Leave proxy disabled for normal use.

If you see geo-specific differences, temporary rate limits, or unusual empty responses, enable Apify Proxy in the input. Start with low volume before scaling.

### Data quality notes

The actor saves the fields returned by Sephora's search API. Some products may not have ratings, reviews, or every badge flag. Price values are strings because Sephora can return ranges such as `$20.00 - $32.00`.

### Legality

This actor extracts publicly reachable catalog data. You are responsible for using the results in a lawful way and respecting applicable terms, privacy rules, and data-use requirements. Do not use the data for spam, harassment, or unlawful profiling.

### FAQ

#### Does it scrape product reviews?

No. Version 1 focuses on search and catalog rows. Reviews are a separate data type and should be collected only through a stable, validated endpoint.

#### Does it need a Sephora account?

No. The catalog search endpoint used by this actor worked without login in feasibility testing.

#### Why is price a string?

Sephora may return price ranges, sale labels, or formatted currency strings. Keeping the original string avoids losing meaning.

#### Why did I get fewer rows than requested?

The keyword may have fewer products than your `maxItemsPerQuery`, or Sephora may return fewer products for that query and region.

### Related scrapers

Explore related Automation Lab actors when building retail and ecommerce pipelines:

- https://apify.com/automation-lab/google-shopping-scraper
- https://apify.com/automation-lab/amazon-product-scraper
- https://apify.com/automation-lab/walmart-search-scraper
- https://apify.com/automation-lab/target-product-scraper

### Changelog

#### 0.1

Initial private build for Sephora keyword search/catalog extraction.

### Support

If you need a new field from search rows, include a sample keyword and expected field. If you need product details, reviews, or ingredients, describe the workflow so it can be assessed as a separate feature.

# Actor input Schema

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

Sephora keyword searches to run, such as moisturizer, sunscreen, foundation, or retinol serum.

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

Optional Sephora search URLs. The actor extracts q, keyword, query, searchTerm, or the final path segment as the search term.

## `maxItemsPerQuery` (type: `integer`):

How many catalog product rows to save for each keyword.

## `pageSize` (type: `integer`):

Sephora API page size. Use 20 for cheap first runs; increase to 60 for larger jobs.

## `includeCategories` (type: `boolean`):

Save category names returned by Sephora search on each product row.

## `includeRefinements` (type: `boolean`):

Save available filter/refinement names and values on each product row. This adds larger nested fields.

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

Optional proxy settings for geo variance or rate-limit recovery. The public JSON endpoint usually works without a proxy.

## Actor input object example

```json
{
  "queries": [
    "moisturizer",
    "sunscreen"
  ],
  "startUrls": [
    {
      "url": "https://www.sephora.com/search?keyword=vitamin%20c%20serum"
    }
  ],
  "maxItemsPerQuery": 20,
  "pageSize": 20,
  "includeCategories": true,
  "includeRefinements": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "queries": [
        "moisturizer",
        "sunscreen"
    ],
    "startUrls": [
        {
            "url": "https://www.sephora.com/search?keyword=vitamin%20c%20serum"
        }
    ],
    "maxItemsPerQuery": 20,
    "pageSize": 20,
    "includeCategories": true,
    "includeRefinements": false,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/sephora-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 = {
    "queries": [
        "moisturizer",
        "sunscreen",
    ],
    "startUrls": [{ "url": "https://www.sephora.com/search?keyword=vitamin%20c%20serum" }],
    "maxItemsPerQuery": 20,
    "pageSize": 20,
    "includeCategories": True,
    "includeRefinements": False,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/sephora-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 '{
  "queries": [
    "moisturizer",
    "sunscreen"
  ],
  "startUrls": [
    {
      "url": "https://www.sephora.com/search?keyword=vitamin%20c%20serum"
    }
  ],
  "maxItemsPerQuery": 20,
  "pageSize": 20,
  "includeCategories": true,
  "includeRefinements": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call automation-lab/sephora-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Sephora Search Scraper",
        "description": "Extract Sephora product search results with product IDs, SKU IDs, brands, prices, ratings, reviews, badges, images, and URLs.",
        "version": "0.1",
        "x-build-id": "nsanrFCLITywP74GF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~sephora-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-sephora-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/automation-lab~sephora-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-sephora-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/automation-lab~sephora-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-sephora-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": {
                    "queries": {
                        "title": "🔎 Search keywords",
                        "type": "array",
                        "description": "Sephora keyword searches to run, such as moisturizer, sunscreen, foundation, or retinol serum.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Sephora search URLs",
                        "type": "array",
                        "description": "Optional Sephora search URLs. The actor extracts q, keyword, query, searchTerm, or the final path segment as the search term.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItemsPerQuery": {
                        "title": "Maximum products per keyword",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "How many catalog product rows to save for each keyword.",
                        "default": 20
                    },
                    "pageSize": {
                        "title": "Products per API page",
                        "minimum": 1,
                        "maximum": 60,
                        "type": "integer",
                        "description": "Sephora API page size. Use 20 for cheap first runs; increase to 60 for larger jobs.",
                        "default": 20
                    },
                    "includeCategories": {
                        "title": "Include category context",
                        "type": "boolean",
                        "description": "Save category names returned by Sephora search on each product row.",
                        "default": true
                    },
                    "includeRefinements": {
                        "title": "Include refinement context",
                        "type": "boolean",
                        "description": "Save available filter/refinement names and values on each product row. This adds larger nested fields.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional proxy settings for geo variance or rate-limit recovery. The public JSON endpoint usually works without a proxy."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
