# Yale LUX Cultural Objects Scraper (`parseforge/yale-lux-collections-scraper`) Actor

Search Yale LUX across Yale museums, libraries, and archives to gather cultural objects from one cross collection catalog. Each record returns the title, maker, production date, materials, classification, holding unit, and image reference. Built for researchers and curators.

- **URL**: https://apify.com/parseforge/yale-lux-collections-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.07 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🏛 Yale LUX Cultural Objects Scraper

> 🚀 **Turn the Yale LUX catalog into clean, structured records.** Search across Yale's museums, libraries, and archives and pull cultural objects from a single cross collection index of more than 76,000 paintings alone.

> 🕒 **Last updated:** 2026-06-08 · **📊 Up to 13 fields** per record · cross collection · live Linked.Art API

Yale LUX unifies the collections of the Yale University Art Gallery, the Yale Center for British Art, the Peabody Museum, the Yale University Library, and more into one searchable index built on the Linked.Art standard. This Actor searches that index by keyword and optional object type, then returns one tidy record per object with its title, maker, date, materials, classification, holding unit, and image reference.

Coverage is the public Yale LUX cross collection catalog as Yale publishes it. A single keyword like `painting` matches tens of thousands of objects, and you can narrow by classification such as `photographs`, `manuscripts`, or `sculpture` to focus on one object type.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Museum and gallery staff | Build and refresh cross collection catalogs |
| Digital humanities researchers | Assemble datasets of objects, makers, and dates |
| Art historians and curators | Track works by classification, material, or holding unit |
| Educators and students | Source images and metadata for teaching and study |

### 📋 What the Yale LUX Cultural Objects Scraper does

This Actor calls the public Yale LUX search API, walks the result pages, and fetches each object's Linked.Art document to return one clean record per object:

- **Search** any keyword across titles, makers, classifications, and descriptions.
- **Filter** by an optional object type classification to focus the results.
- **Map** the Linked.Art document into flat, stable fields you can drop into a spreadsheet or database.

You control how many records come back, and every record carries a `scrapedAt` timestamp.

### 🎬 Full Demo (_🚧 Coming soon_)

### ⚙️ Input

| Field | Type | Description |
|---|---|---|
| `query` | textfield | Free-text search across Yale LUX objects, for example `painting`, `dog`, or `manuscript`. |
| `objectType` | textfield | Optional classification to narrow results, for example `photographs` or `sculpture`. Leave empty to search every type. |
| `maxItems` | integer | How many records to return. Free plan is capped at 10. |

**Example 1 — search all paintings**
```json
{
    "query": "painting",
    "maxItems": 25
}
````

**Example 2 — photographs matching a keyword**

```json
{
    "query": "dog",
    "objectType": "photographs",
    "maxItems": 50
}
```

> ⚠️ **Good to Know:** Yale LUX spans many collections, so titles, makers, dates, materials, and images vary by object. Some records are untitled or credited to an unknown maker, and not every object has a digitized image. Each field is filled when the source provides it.

### 📊 Output

Each object record looks like this:

| Field | Description |
|---|---|
| 🖼 `imageUrl` | Primary image reference for the object |
| 📌 `title` | Object title or name |
| 🔗 `url` | Yale LUX Linked.Art document URL |
| 🆔 `id` | Object UUID |
| 🏷 `objectType` | Linked.Art type, for example HumanMadeObject |
| 🗂 `classification` | Array of classification terms, for example Paintings |
| 🎨 `maker` | Array of makers or agents |
| 📅 `date` | Display date of production |
| 🧱 `materials` | Array of materials the object is made of |
| 📐 `dimensions` | Readable height, width, and depth string |
| 🔢 `accessionNumber` | Accession or call number |
| 🏛 `holdingUnit` | Owning department or collection |
| 🕒 `scrapedAt` | Collection timestamp |
| ❌ `error` | Null on success |

**Real sample — painting by Kerry James Marshall**

```json
{
    "imageUrl": "https://media.collections.yale.edu/thumbnail/yuag/obj/138261",
    "title": "Untitled",
    "url": "https://lux.collections.yale.edu/data/object/80a46f5f-4816-4d81-a920-29d3bfdc9082",
    "id": "80a46f5f-4816-4d81-a920-29d3bfdc9082",
    "objectType": "HumanMadeObject",
    "classification": ["Paintings", "Visual Works", "human figures (visual works)", "portraits"],
    "maker": ["Kerry James Marshall (American, born 1955)"],
    "date": "2009",
    "materials": ["acrylic paint"],
    "dimensions": "height 155.26 cm, width 185.1 cm, depth 9.84 cm",
    "accessionNumber": "2009.161.1",
    "holdingUnit": "Yale University Art Gallery",
    "scrapedAt": "2026-06-08T22:06:29.624Z",
    "error": null
}
```

**Real sample — painted tile**

```json
{
    "imageUrl": "https://media.collections.yale.edu/thumbnail/yuag/obj/5729",
    "title": "Painted Tile with Sea Monster",
    "url": "https://lux.collections.yale.edu/data/object/d3174125-8445-407f-8571-db60eed8649e",
    "id": "d3174125-8445-407f-8571-db60eed8649e",
    "objectType": "HumanMadeObject",
    "classification": ["Paintings", "Visual Works", "tiles"],
    "maker": ["Unknown"],
    "date": null,
    "materials": ["clay", "paint", "plaster"],
    "dimensions": "height 39 cm, width 39 cm, depth 4.5 cm",
    "accessionNumber": "1933.275",
    "holdingUnit": "Yale University Art Gallery",
    "scrapedAt": "2026-06-08T22:06:29.701Z",
    "error": null
}
```

**Real sample — Jackson Pollock**

```json
{
    "imageUrl": "https://media.collections.yale.edu/thumbnail/yuag/obj/60600",
    "title": "Number 13A: Arabesque",
    "url": "https://lux.collections.yale.edu/data/object/8dc90054-443a-4191-ac9f-64b30c449d96",
    "id": "8dc90054-443a-4191-ac9f-64b30c449d96",
    "objectType": "HumanMadeObject",
    "classification": ["Paintings", "Visual Works", "abstract (general art genre)"],
    "maker": ["Jackson Pollock (American, 1912–1956)"],
    "date": "1948",
    "materials": [],
    "dimensions": "height 94 cm, width 297.2 cm, height 97.8 cm, width 298.5 cm, depth 5.4 cm",
    "accessionNumber": "1995.32.1",
    "holdingUnit": "Yale University Art Gallery",
    "scrapedAt": "2026-06-08T22:06:29.767Z",
    "error": null
}
```

### ✨ Why choose this Actor

- One clean record per object, with the image reference placed first for instant previews.
- Flat fields parsed out of the nested Linked.Art document, so you skip the graph traversal.
- One search reaches across every Yale collection in the LUX index at once.
- No account, no key, and no login required.
- Stable field names that map cleanly onto a catalog schema.

### 📈 How it compares to alternatives

| Approach | Effort | Structured fields | Images included | Maintenance |
|---|---|---|---|---|
| This Actor | One run | Yes | When available | None on your side |
| Browsing the LUX site by hand | Hours | Manual | Manual | Constant |
| Writing your own Linked.Art client | Days | You build it | Manual | You own the upkeep |

### 🚀 How to use

1. Create a free Apify account using [this sign-up link](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the Yale LUX Cultural Objects Scraper.
3. Type a `query` such as `painting`, `manuscript`, or an artist name.
4. Optionally set an `objectType` and a `maxItems` value.
5. Click **Start** and grab your results when the run finishes.

### 💼 Business use cases

#### Museums and galleries

| Goal | How this helps |
|---|---|
| Build a cross collection catalog | Pull objects from every Yale collection at once |
| Audit holdings by material or type | Filter by classification and read the materials field |

#### Research and digital humanities

| Goal | How this helps |
|---|---|
| Assemble a study dataset | Collect titles, makers, dates, and holding units |
| Map an artist's works | Search a maker name and group the results |

#### Education

| Goal | How this helps |
|---|---|
| Source teaching material | Use object images and metadata in lessons |
| Build student assignments | Hand learners a clean object dataset |

#### Content and curation

| Goal | How this helps |
|---|---|
| Plan an exhibition checklist | Gather candidate objects by theme |
| Credit works accurately | Read maker, date, and accession number fields |

### 🔌 Automating Yale LUX Cultural Objects Scraper

Connect runs to the tools you already use:

- **Make** and **Zapier** to trigger runs and route records into sheets or databases.
- **Slack** to post a summary when a run finishes.
- **Airbyte** to load results into a warehouse.
- **GitHub** Actions to schedule periodic snapshots.
- **Google Drive** to archive each run's output.

### 🌟 Beyond business use cases

- **Research:** study how cultural objects cluster by maker, material, or period.
- **Personal:** build a reading list of artworks that interest you.
- **Non-profit:** power a community arts education resource.
- **Experimentation:** prototype a collections app without learning the Linked.Art graph.

### 🤖 Ask an AI assistant

Paste your results into [ChatGPT](https://chat.openai.com), [Claude](https://claude.ai), [Perplexity](https://www.perplexity.ai), or [Microsoft Copilot](https://copilot.microsoft.com) and ask it to group objects by classification, summarize a maker's body of work, or draft exhibition labels from the metadata.

### ❓ Frequently Asked Questions

**Do I need a Yale account?**
No. The Actor reads the public Yale LUX API, which needs no login.

**Do I need an API key?**
No key is required.

**What does Yale LUX cover?**
LUX is a cross collection index that unifies the Yale University Art Gallery, the Yale Center for British Art, the Peabody Museum, the Yale University Library, and other Yale collections.

**How do I narrow my search?**
Use the `objectType` field with a classification term such as `photographs`, `manuscripts`, or `sculpture`.

**Why are some objects untitled?**
Yale LUX includes many works that have no formal title. The Actor returns the name the source provides, or marks the title accordingly.

**Why does a maker show as Unknown?**
Some objects have no attributed maker. The Actor passes through what Yale LUX records.

**Does every object have an image?**
No. Not every object is digitized. When an image reference exists it appears first in the record.

**What does the date field contain?**
It is the display date of production as Yale records it, for example `2009` or a date range.

**How fresh is the data?**
Each run queries Yale LUX live, so results reflect the catalog at run time.

**Can I schedule this?**
Yes. Use Apify Schedules to snapshot a search on any cadence.

### 🔌 Integrate with any app

Results are available through the Apify API, so you can pull them into any app, database, or workflow you already run.

### 🔗 Recommended Actors

- [Have I Been Pwned Breaches Catalog Scraper](https://apify.com/parseforge)
- More reference and open data Actors in the [ParseForge collection](https://apify.com/parseforge)

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** independent tool, not affiliated with Yale University or Yale LUX. Only publicly available data is collected.

# Actor input Schema

## `query` (type: `string`):

Free-text search across Yale LUX cultural objects, for example 'painting', 'dog', 'manuscript', or 'Van Gogh'. Matches titles, makers, classifications, and descriptions.

## `objectType` (type: `string`):

Optional classification term to narrow results, for example 'paintings', 'photographs', 'manuscripts', or 'sculpture'. Leave empty to search every object type.

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## Actor input object example

```json
{
  "query": "painting",
  "maxItems": 10
}
```

# Actor output Schema

## `results` (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 = {
    "query": "painting",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/yale-lux-collections-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 = {
    "query": "painting",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/yale-lux-collections-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 '{
  "query": "painting",
  "maxItems": 10
}' |
apify call parseforge/yale-lux-collections-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Yale LUX Cultural Objects Scraper",
        "description": "Search Yale LUX across Yale museums, libraries, and archives to gather cultural objects from one cross collection catalog. Each record returns the title, maker, production date, materials, classification, holding unit, and image reference. Built for researchers and curators.",
        "version": "0.1",
        "x-build-id": "S5ZXZIpWgMHRnQtDz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~yale-lux-collections-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-yale-lux-collections-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/parseforge~yale-lux-collections-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-yale-lux-collections-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/parseforge~yale-lux-collections-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-yale-lux-collections-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": {
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Free-text search across Yale LUX cultural objects, for example 'painting', 'dog', 'manuscript', or 'Van Gogh'. Matches titles, makers, classifications, and descriptions."
                    },
                    "objectType": {
                        "title": "Object type filter",
                        "type": "string",
                        "description": "Optional classification term to narrow results, for example 'paintings', 'photographs', 'manuscripts', or 'sculpture'. Leave empty to search every object type."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
