# Lenskart Scraper: Eyewear Prices, Specs & Variants (`getascraper/lenskart-scraper`) Actor

Download Lenskart's complete eyewear catalog: prices, discounts, frame shapes, color options, ratings, and stock levels per product. Covers India, Singapore, UAE, and US stores. Built for price tracking, competitor research, and product analysis. $4.99 per 1,000 products.

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

## Pricing

from $4.99 / 1,000 products

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

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

## Lenskart Scraper: Eyewear Prices, Specs & Variants

**Get Lenskart's complete eyewear catalog in minutes, with nothing to install or build.** Download prices, discounts, frame shapes, color options, stock levels, and ratings for every product across India, Singapore, UAE, and US stores. The only dedicated Lenskart scraper on the Apify Store. The first 50 results of every run are free, with pricing set at $4.99 per 1,000 products.

---

### Why use Lenskart Scraper

*   **Track prices and discounts**: Monitor how Lenskart prices its in-house brands (John Jacobs, Vincent Chase) against third-party labels. Catch discount changes on specific models the moment they happen.
*   **Build a product catalog**: Download every frame in a category with colors, sizes, and specifications in one spreadsheet. Use it for competitor benchmarking or internal product research.
*   **Find in-stock products**: Filter to only products currently available. Spot restocks on popular models before they sell out again.
*   **Compare markets**: Pull the same category across India, Singapore, UAE, and the US to see how prices, discounts, and product selection differ by region.
*   **Research for virtual try-on and AI projects**: Each product includes 3D model download links and precise frame measurements for building virtual eyewear experiences or training datasets.

---

### How to use Lenskart Scraper

1.  **Pick a category**: Select Eyeglasses or Contact Lenses from the dropdown, or enter a specific numeric category ID for sunglasses and other categories.
2.  **Set your filters**: Narrow by brand, gender, frame shape, price range, or minimum rating. Leave all filters blank to get the full category.
3.  **Click Start**: The scraper collects every matching product and builds a flat spreadsheet.
4.  **Download your results**: Export as Excel, CSV, JSON, or HTML from the Output tab.

---

### Input

| Field | Type | Required | Description |
| --- | --- | :---: | --- |
| `category` | enum | No | Category to scrape: Eyeglasses or Contact Lenses. Defaults to Eyeglasses. |
| `categoryId` | integer | No | Numeric Lenskart category ID. Use this for sunglasses, kids frames, or any category not listed above. |
| `brand` | string | No | Keep only products from a specific brand, for example: `Ray-Ban`, `John Jacobs`, `Oakley`. |
| `gender` | enum | No | Filter by audience: Men, Women, Kids, or Unisex. |
| `frameShape` | string | No | Filter to a specific shape, for example: `Aviator`, `Round`, `Cat Eye`. |
| `frameMaterial` | string | No | Filter to a specific material, for example: `Acetate`, `TR90`, `Metal`. |
| `frameSize` | enum | No | Filter by size: Extra Narrow, Narrow, Medium, Wide, or Extra Wide. |
| `minPrice` | integer | No | Keep only products at or above this price in the selected currency. |
| `maxPrice` | integer | No | Keep only products at or below this price. |
| `minRating` | integer | No | Keep only products with an average rating of this value or above, from 0 to 5. |
| `inStockOnly` | boolean | No | Keep only products currently in stock. Default: off. |
| `maxItems` | integer | No | Maximum number of products to collect. Default: 500. Maximum: 50,000. |
| `country` | enum | No | Store to use: India (INR), Singapore (SGD), UAE (AED), or United States (USD). Default: India. |
| `scrapeProductDetails` | boolean | No | Collect full frame measurements and specifications per product. Default: on. Turn off for a faster run with pricing data only. |
| `dedupeByModel` | boolean | No | Show one row per model instead of one row per color option. Default: off. |
| `proxyConfiguration` | object | No | Connection settings. The default shared proxy is sufficient for this scraper. |

---

### Output

Each row in your dataset is one color variant of a product. All fields are flat with no nested data, so the file opens cleanly in any spreadsheet program.

Here is a realistic example of an output row:

```json
{
  "productId": "224845",
  "url": "https://www.lenskart.com/john-jacobs-jj-e11686-c6-eyeglasses.html",
  "brand": "John Jacobs",
  "isInhouseBrand": true,
  "modelName": "JJ E11686",
  "title": "John Jacobs JJ E11686 C6",
  "gender": "men",
  "category": "Eyeglasses",
  "price": 3000,
  "lenskartPrice": 3000,
  "marketPrice": 5000,
  "discountPct": 40,
  "currency": "INR",
  "availability": "InStock",
  "inStock": true,
  "qty": 12,
  "frameColor": "Black",
  "colorCode": "C6",
  "colorHex": "#1a1a1a",
  "frameShape": "Aviator",
  "frameSize": "Medium",
  "frameType": "Full Rim",
  "frameMaterial": "Stainless Steel",
  "lensWidthMm": 53,
  "bridgeMm": 15,
  "templeMm": 145,
  "frameWeightGm": 22,
  "rating": 4.5,
  "reviewCount": 128,
  "imagePrimary": "https://static5.lenskart.com/media/catalog/product/...",
  "arModelAndroidUrl": "https://static5.lenskart.com/3d-assets/jj-e11686-c6.glb",
  "salesLabel": "with Free BLU lenses",
  "scrapedAt": "2026-06-21T10:00:00.000Z"
}
````

***

### Data table

| Field | Type | Description |
| --- | :---: | --- |
| `productId` | string | Unique product variant ID from Lenskart's catalog. |
| `url` | string | Direct link to the product page. |
| `brand` | string | Brand name, for example: John Jacobs, Ray-Ban, Oakley. |
| `isInhouseBrand` | boolean | True for Lenskart's own brands: John Jacobs, Vincent Chase, Lenskart Air, Hustlr. |
| `modelName` | string | Model identifier, for example: JJ E11686. |
| `title` | string | Full display name including color variant. |
| `gender` | string | Target audience: men, women, kids, or unisex. |
| `category` | string | Product category: Eyeglasses or Contact Lenses. |
| `price` | number | Current selling price. |
| `lenskartPrice` | number | Lenskart's listed price before any sale. |
| `marketPrice` | number | Original full retail price shown as the crossed-out price. |
| `discountPct` | number | Discount percentage off the retail price. |
| `currency` | string | Currency code, for example: INR, USD, SGD. |
| `availability` | string | Stock status: InStock or OutOfStock. |
| `inStock` | boolean | True when the variant is available to buy. |
| `qty` | number | Number of units in stock. |
| `frameColor` | string | Frame color name, for example: Black, Gold, Tortoise. |
| `colorCode` | string | Lenskart's internal color code, for example: C6. |
| `colorHex` | string | Hex color value, for example: #1a1a1a. |
| `frameShape` | string | Shape: Aviator, Round, Wayfarer, Rectangle, Cat Eye. |
| `frameSize` | string | Size label: Small, Medium, Large. |
| `frameType` | string | Rim design: Full Rim, Half Rim, or Rimless. |
| `frameMaterial` | string | Material: Stainless Steel, TR90, Acetate. |
| `lensWidthMm` | number | Lens width in millimeters. |
| `lensHeightMm` | number | Lens height in millimeters. |
| `bridgeMm` | number | Bridge width in millimeters. |
| `templeMm` | number | Temple arm length in millimeters. |
| `frameWidthMm` | number | Total frame width in millimeters. |
| `frameWeightGm` | number | Frame weight in grams. |
| `prescriptionType` | string | Prescription capability, for example: Single Vision, Progressive. |
| `rating` | number | Average customer rating out of 5. |
| `reviewCount` | number | Total number of customer reviews. |
| `imagePrimary` | string | Main product image URL. |
| `arModelAndroidUrl` | string | 3D model download link for Android. |
| `arModelIosUrl` | string | 3D model download link for iPhone and iPad. |
| `salesLabel` | string | Promotional badge text, for example: with Free BLU lenses. |
| `scrapedAt` | string | Timestamp of when this record was collected. |

***

### Pricing

**$4.99 per 1,000 products. The first 50 results of every run are completely free.** No monthly subscriptions and no minimum commits.

The scraper reads data directly from Lenskart's product catalog without launching a browser. This keeps compute costs near zero. A full category of 3,000 eyeglasses completes with minimal overhead, so you pay almost nothing beyond the per-record fee.

***

### Tips and optimization

- **Start with a small run**: Set Max products to 100 first to check the output format and field availability before running the full catalog.
- **Use One row per model for catalog overviews**: Enable the deduplication option to reduce your dataset by 60 to 70 percent when you need model-level data rather than per-color data.
- **Schedule for daily price monitoring**: Set up a daily run and compare the `price` and `discountPct` columns between runs to catch price changes the moment they happen.
- **Switch country for multi-market research**: Run the same category with India, UAE, and US selected to see how pricing and catalog selection differ across markets.
- **Use Category ID for full control**: To scrape sunglasses or kids frames, leave Category blank and enter the numeric Category ID instead. Find it in the URL of any Lenskart category page.

***

### FAQ

**Is it legal to collect this data?**
This scraper collects publicly visible product and pricing data that anyone can see on Lenskart.com without an account. You are responsible for ensuring your use complies with Lenskart's terms of service and applicable laws.

**Why are some measurement fields empty?**
Frame measurements come from the individual product detail pages. If you turn off Fetch full specifications, those fields will be empty. They are filled in by default.

**What does One row per model do?**
By default, each color option for a model gets its own row. Enabling this option collapses all color variants into a single row so you see one entry per model. Useful for counting distinct models rather than total variants.

**Can I scrape sunglasses or kids frames?**
Yes. Leave the Category field empty and enter the numeric Category ID for the category you want. Open any Lenskart category page and find the ID in the page URL.

***

### Disclaimers and support

- **Disclaimer**: This scraper retrieves publicly available product catalog data from Lenskart.com. It is not affiliated with, endorsed by, or sponsored by Lenskart. Ensure your use complies with applicable laws and the site's terms of service.
- **Support**: For bug reports, missing fields, or feature requests, open a ticket under the **Issues** tab.

# Actor input Schema

## `category` (type: `string`):

Common Lenskart category to scrape. For any category not listed here, leave this empty and use Category ID instead.

## `categoryId` (type: `integer`):

Numeric Lenskart category id. Overrides Category. Use this to scrape any category: open a Lenskart category page, the id is in its page data (e.g. 3363 = Eyeglasses, 30531 = Contact Lenses).

## `brand` (type: `string`):

Keep only products whose brand contains this text, e.g. Ray-Ban, John Jacobs, Vincent Chase, Oakley.

## `gender` (type: `string`):

Keep only products for this audience. Men and Women also include Unisex frames.

## `frameShape` (type: `string`):

Keep only this frame shape, e.g. Aviator, Round, Square, Wayfarer, Cat Eye. Turns on full specifications automatically.

## `frameMaterial` (type: `string`):

Keep only this frame material, e.g. Acetate, TR90, Metal, Stainless Steel. Turns on full specifications automatically.

## `frameSize` (type: `string`):

Keep only this frame size: Extra Narrow, Narrow, Medium, Wide, Extra Wide.

## `minPrice` (type: `integer`):

Keep only products with an effective price at or above this value (in the selected currency).

## `maxPrice` (type: `integer`):

Keep only products with an effective price at or below this value.

## `minRating` (type: `integer`):

Keep only products with an average rating at or above this value (0 to 5).

## `inStockOnly` (type: `boolean`):

Keep only products that are currently in stock.

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

Maximum number of products to collect. The full catalog of a category can be several thousand items.

## `country` (type: `string`):

Storefront country (sets currency and catalog). India has the largest catalog.

## `scrapeProductDetails` (type: `boolean`):

Fetch each product's detail to fill frame shape, material, rim type, lens dimensions, weight and more. On by default. Turn off for a faster, lighter run with listing fields only (price, brand, model, color, size, rating).

## `dedupeByModel` (type: `boolean`):

Collapse color variants so each model appears once. Off by default (each color variant is its own row).

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

Defaults to Apify shared datacenter proxy, which is all this actor needs. The Lenskart API sets locale by parameter, not by IP, so residential proxies are not required.

## `debugLogging` (type: `boolean`):

Enable verbose debug logs.

## Actor input object example

```json
{
  "category": "eyeglasses",
  "inStockOnly": false,
  "maxItems": 500,
  "country": "IN",
  "scrapeProductDetails": true,
  "dedupeByModel": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  },
  "debugLogging": false
}
```

# 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 = {
    "category": "eyeglasses",
    "maxItems": 500,
    "country": "IN",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": []
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/lenskart-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 = {
    "category": "eyeglasses",
    "maxItems": 500,
    "country": "IN",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": [],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/lenskart-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 '{
  "category": "eyeglasses",
  "maxItems": 500,
  "country": "IN",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}' |
apify call getascraper/lenskart-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Lenskart Scraper: Eyewear Prices, Specs & Variants",
        "description": "Download Lenskart's complete eyewear catalog: prices, discounts, frame shapes, color options, ratings, and stock levels per product. Covers India, Singapore, UAE, and US stores. Built for price tracking, competitor research, and product analysis. $4.99 per 1,000 products.",
        "version": "0.1",
        "x-build-id": "yIChs3HoyftRqgOoH"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getascraper~lenskart-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getascraper-lenskart-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/getascraper~lenskart-scraper/runs": {
            "post": {
                "operationId": "runs-sync-getascraper-lenskart-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/getascraper~lenskart-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-getascraper-lenskart-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": {
                    "category": {
                        "title": "Category",
                        "enum": [
                            "eyeglasses",
                            "contact-lenses"
                        ],
                        "type": "string",
                        "description": "Common Lenskart category to scrape. For any category not listed here, leave this empty and use Category ID instead.",
                        "default": "eyeglasses"
                    },
                    "categoryId": {
                        "title": "Category ID (advanced)",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Numeric Lenskart category id. Overrides Category. Use this to scrape any category: open a Lenskart category page, the id is in its page data (e.g. 3363 = Eyeglasses, 30531 = Contact Lenses)."
                    },
                    "brand": {
                        "title": "Brand",
                        "type": "string",
                        "description": "Keep only products whose brand contains this text, e.g. Ray-Ban, John Jacobs, Vincent Chase, Oakley."
                    },
                    "gender": {
                        "title": "Gender",
                        "enum": [
                            "men",
                            "women",
                            "kids",
                            "unisex"
                        ],
                        "type": "string",
                        "description": "Keep only products for this audience. Men and Women also include Unisex frames."
                    },
                    "frameShape": {
                        "title": "Frame shape",
                        "type": "string",
                        "description": "Keep only this frame shape, e.g. Aviator, Round, Square, Wayfarer, Cat Eye. Turns on full specifications automatically."
                    },
                    "frameMaterial": {
                        "title": "Frame material",
                        "type": "string",
                        "description": "Keep only this frame material, e.g. Acetate, TR90, Metal, Stainless Steel. Turns on full specifications automatically."
                    },
                    "frameSize": {
                        "title": "Frame size",
                        "enum": [
                            "Extra Narrow",
                            "Narrow",
                            "Medium",
                            "Wide",
                            "Extra Wide"
                        ],
                        "type": "string",
                        "description": "Keep only this frame size: Extra Narrow, Narrow, Medium, Wide, Extra Wide."
                    },
                    "minPrice": {
                        "title": "Minimum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Keep only products with an effective price at or above this value (in the selected currency)."
                    },
                    "maxPrice": {
                        "title": "Maximum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Keep only products with an effective price at or below this value."
                    },
                    "minRating": {
                        "title": "Minimum rating",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Keep only products with an average rating at or above this value (0 to 5)."
                    },
                    "inStockOnly": {
                        "title": "In stock only",
                        "type": "boolean",
                        "description": "Keep only products that are currently in stock.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max products",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of products to collect. The full catalog of a category can be several thousand items.",
                        "default": 500
                    },
                    "country": {
                        "title": "Country",
                        "enum": [
                            "IN",
                            "SG",
                            "AE",
                            "US"
                        ],
                        "type": "string",
                        "description": "Storefront country (sets currency and catalog). India has the largest catalog.",
                        "default": "IN"
                    },
                    "scrapeProductDetails": {
                        "title": "Fetch full specifications",
                        "type": "boolean",
                        "description": "Fetch each product's detail to fill frame shape, material, rim type, lens dimensions, weight and more. On by default. Turn off for a faster, lighter run with listing fields only (price, brand, model, color, size, rating).",
                        "default": true
                    },
                    "dedupeByModel": {
                        "title": "One row per model",
                        "type": "boolean",
                        "description": "Collapse color variants so each model appears once. Off by default (each color variant is its own row).",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Defaults to Apify shared datacenter proxy, which is all this actor needs. The Lenskart API sets locale by parameter, not by IP, so residential proxies are not required.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": []
                        }
                    },
                    "debugLogging": {
                        "title": "Debug logging",
                        "type": "boolean",
                        "description": "Enable verbose debug logs.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
