# JioMart Scraper (`solidcode/jiomart-scraper`) Actor

\[💰 $1 / 1K] Extract products from JioMart India by keyword or URL. Get name, brand, selling price, MRP, discount, stock, seller type, category, country of origin, and image. Sort by price, popularity, or biggest discount.

- **URL**: https://apify.com/solidcode/jiomart-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (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 $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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/docs.md):

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

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

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

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

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

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

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

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

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


# README

## JioMart Scraper

Pull products from JioMart — India's Reliance-backed grocery and retail marketplace — at scale, with selling price, MRP, computed discount percentage, brand, stock status, first-party vs third-party seller, four-level category path, country of origin, and images on every row. Search by keyword or paste any JioMart search, category, or collection link. Built for India e-commerce analysts, FMCG brand managers, and competitive pricing teams who need a clean, structured JioMart price dataset without babysitting a browser through thousands of product tiles.

### Why This Scraper?

- **Selling price, MRP, and discount % on the same row** — most product extractors hand you one price. You get what the shopper pays, the list price it's marked down from, and the exact discount percentage, so markdown analysis needs no second data source.
- **JioMart's own discount field is empty — this one isn't** — the marketplace ships a blank discount on every listing. This actor derives `discountPercent` and a ready-to-read `discountLabel` ("23% OFF") from the MRP-to-price gap on every product.
- **Five verified sort orders, each proven to really work** — Relevance, Most popular, Price: low to high, Price: high to low, and Biggest discount. Every one was checked against live results and genuinely re-orders the catalog rather than being accepted and quietly ignored, so a `price_asc` first page really is the cheapest end of the category. JioMart's own default order is available too.
- **First-party vs third-party seller flag** — `sellerType` marks each product 1P (sold by Reliance) or 3P (marketplace seller), separating Reliance's own retail from its marketplace long tail.
- **Country of origin on every product** — a mandatory Indian e-commerce disclosure, captured as a plain field for import-mix and sourcing analysis.
- **Batch many searches and links in one run** — pass a whole list of keywords *and* a list of JioMart links together. Comparable actors accept a single keyword or a single link per run.
- **Up to 5,000 products per search term or link** — with automatic deduplication, so a term that spans 100+ result pages still returns each product exactly once.
- **Four-level category path** — `Groceries > Staples > Rice > Basmati Rice` on every row, plus a flat `category` for grouping, so you can pivot at any depth of JioMart's taxonomy.
- **Every row carries its provenance** — `searchTerm` and `sourceUrl` tell you which query or link produced each product, so multi-term runs stay attributable in one flat table.

### Use Cases

**Competitive Pricing Intelligence**
- Track selling price against MRP to measure real discount depth by category
- Monitor a competitor's product range and price moves week over week
- Find the cheapest option in a category with a single price-ascending run
- Benchmark your brand's shelf price against rivals on the same search term

**FMCG & Brand Monitoring**
- Audit which of your SKUs are listed and in stock across the JioMart catalog
- Detect unauthorized third-party sellers listing your brand via the `sellerType` flag
- Verify that country-of-origin labelling on your listings is correct
- Measure share of search — how many of the top results for a term are yours

**Market & Category Research**
- Map an entire JioMart category with a collection or category link
- Size a category by brand mix, price bands, and stock availability
- Track catalog movement week over week by re-running the same term on a schedule
- Compare grocery, electronics, fashion, and home pricing in one dataset

**Deal & Promotion Tracking**
- Surface the steepest markdowns in any category with Biggest discount
- Build a daily discount feed for a price-comparison or cashback site
- Spot promotional cycles by trending discount percentage over time
- Alert on price drops for a watchlist of search terms

**Data Enrichment & Integration**
- Enrich a product catalog with current JioMart pricing and stock status
- Feed price and discount data into BI dashboards and pricing models
- Power comparison tools with structured product records and images
- Build a longitudinal India retail price index from scheduled runs

### Getting Started

#### Simplest — one keyword

```json
{
    "searchTerms": ["milk"]
}
````

#### Find the best deals in a category

Sort by biggest discount and collect a few pages:

```json
{
    "searchTerms": ["chocolate", "biscuits", "namkeen"],
    "sortBy": "discount_dsc",
    "maxResults": 200
}
```

#### Sweep a whole category by link

Paste JioMart links straight from your browser and collect everything available:

```json
{
    "startUrls": [
        "https://www.jiomart.com/products?department=electronics&l1_category=mobiles-tablets",
        "https://www.jiomart.com/collection/all-vegetable--fruits"
    ],
    "maxResults": 0
}
```

#### Advanced — keywords and links together, cheapest first

```json
{
    "searchTerms": ["basmati rice", "sunscreen", "washing machine"],
    "startUrls": ["https://www.jiomart.com/search/atta"],
    "sortBy": "price_asc",
    "maxResults": 500
}
```

### Input Reference

#### What to Collect

Provide at least one of these two. You can use either or both.

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchTerms` | array | `["milk"]` | Products to search JioMart for, one per line — for example `milk`, `basmati rice`, `sunscreen`. Search links are built for you. Each term is searched separately. |
| `startUrls` | array | `[]` | JioMart links pasted directly — search result pages, category pages, or collection pages. Copy the address straight from your browser. |

#### Sorting

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `sortBy` | select | `"latest"` | The order JioMart returns products in. Applies to every search term and link in the run. |

Available `sortBy` values:

| Value | Shown as | Best for |
|-------|----------|----------|
| `latest` | All products (default order) | JioMart's own default catalog order |
| `relevance` | Relevance | Closest keyword matches |
| `popular` | Most popular | Best-sellers |
| `price_asc` | Price: low to high | The cheapest option in a category |
| `price_dsc` | Price: high to low | Premium and flagship products |
| `discount_dsc` | Biggest discount | The best deals |

#### Limits

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `20` | Maximum products per search term and per link. Products arrive in full pages of about 50 and whole pages are always kept, so the smallest run returns about 50 products and your number rounds up to the next full page. Set `0` to collect everything available, up to a safety limit of 5,000 products per term or link. A full sweep takes several minutes per term. |

### Output

Every product is one flat row. Example:

```json
{
    "productId": "18147760",
    "name": "Yogabar Almond Milk 1L | Vegan, Dairy-Free, Plant-Based Drink | Ideal for Vegan Diets, Dairy Alternative",
    "sku": "RVNOBPE76M",
    "brand": "Yogabar",
    "sellingPrice": 149,
    "mrp": 299,
    "currency": "INR",
    "discountPercent": 50,
    "discountLabel": "50% OFF",
    "inStock": true,
    "sellerType": "3P",
    "category": "Nutritional Drinks",
    "categoryPath": "Groceries > Biscuits, Drinks & Packaged Foods > Drinks & Juices > Nutritional Drinks",
    "countryOfOrigin": "India",
    "imageUrl": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/ldddiy/.j/pg/almond-drink-fop.jpg.1fe1b1b0b8.jpg",
    "imageUrls": [
        "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/ldddiy/.j/pg/almond-drink-fop.jpg.1fe1b1b0b8.jpg",
        "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/ldddiy/.j/pg/almond-drink-bop.jpg.65d64df979.jpg",
        "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/ldddiy/.j/pg/almond-drink-side-1.jpg.f01e2c9d96.jpg"
    ],
    "productUrl": "https://www.jiomart.com/product/yogabar-almond-milk-1ltr-mi7e31-18147760",
    "searchTerm": "milk",
    "sourceUrl": "https://www.jiomart.com/products?q=milk"
}
```

#### Product & Pricing

| Field | Type | Description |
|-------|------|-------------|
| `productId` | string | JioMart's unique product identifier. Stable across runs — use it as your join key. |
| `sku` | string | JioMart's SKU code — the retail identifier to match against your own catalog. |
| `name` | string | Full product title, including pack size where JioMart lists it. |
| `brand` | string | Brand name. |
| `sellingPrice` | number | The price the shopper actually pays. |
| `mrp` | number | Maximum Retail Price — the list price before markdown. |
| `currency` | string | Currency code, `INR`. |
| `discountPercent` | number | Discount off MRP, as a whole percentage. `null` when there is no markdown. |
| `discountLabel` | string | Human-readable discount, e.g. `"23% OFF"`. `null` when there is no markdown. |

#### Availability & Seller

| Field | Type | Description |
|-------|------|-------------|
| `inStock` | boolean | Whether JioMart currently lists the product as purchasable. |
| `sellerType` | string | `1P` for products sold by Reliance, `3P` for marketplace sellers. |
| `countryOfOrigin` | string | Declared country of manufacture or origin. |

#### Category & Links

| Field | Type | Description |
|-------|------|-------------|
| `category` | string | The most specific category the product sits in. |
| `categoryPath` | string | Full taxonomy from department down to leaf, joined with `>`. |
| `imageUrl` | string | Primary product image. |
| `imageUrls` | array | Every image in the product gallery, primary first — typically 3 to 7, including pack front, back, and label shots. |
| `productUrl` | string | Direct link to the product page on JioMart. |

#### Provenance

| Field | Type | Description |
|-------|------|-------------|
| `searchTerm` | string | The keyword that produced this row. `null` for rows from a category or collection link. |
| `sourceUrl` | string | The JioMart page this row came from. For keyword searches, this is the search link built for you. Always populated. |

### Tips for Best Results

- **Results arrive in full pages of about 50.** Setting `maxResults` to 10 still returns about 50 products, and 60 returns about 100 — whole pages are always kept rather than cut short. Budget in multiples of 50.
- **Start at 50–100 to sanity-check a term, then raise the cap.** A quick first run tells you whether the term returns the products you expect before you commit to a full sweep.
- **Keep search terms broad.** `milk` returns a rich, well-ranked catalog; a full product title with pack size often matches nothing. If a term returns zero, shorten it or paste a category link instead.
- **Use `price_asc` for price-floor analysis, `discount_dsc` for markdown depth.** Both are genuinely applied by JioMart, so the first page of a `price_asc` run really is the cheapest end of the category — no need to collect everything and sort locally.
- **Category and collection links beat keywords for whole-category sweeps.** A keyword search is ranked and drifts; a category link walks JioMart's own taxonomy, so `categoryPath` stays consistent across the run.
- **Pair `sellerType` with `brand` for counterfeit and grey-market monitoring.** A `3P` row carrying your brand is a marketplace seller, not Reliance retail — that's usually the list worth reviewing.
- **Sort by `discount_dsc` and read `mrp` against `sellingPrice` to size a markdown.** The first page of a Biggest discount run is the deepest-cut end of the category, and because every row carries both the list price and what the shopper pays, you can rank promotions by rupee value rather than headline percentage — a 20% cut on a ₹40,000 TV outranks 70% off a ₹90 snack.
- **Results are the nationwide standard JioMart catalog.** Prices and availability reflect the national listing rather than any single delivery address, which makes runs directly comparable over time.

### Pricing

**From $1.00 per 1,000 results** — matching the going rate for JioMart product data while returning batched multi-term runs, computed discount percentages, and seller-type flags. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.12 | $0.12 | $0.11 | $0.10 |
| 1,000 | $1.20 | $1.15 | $1.05 | $1.00 |
| 10,000 | $12.00 | $11.50 | $10.50 | $10.00 |
| 100,000 | $120.00 | $115.00 | $105.00 | $100.00 |

A "result" is one product row. **No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.** Standard Apify platform fees apply on top.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor collects only publicly available product information from JioMart — the same listings any visitor can browse without signing in. It does not collect personal data, and it does not access accounts, carts, or order history.

You are responsible for how you use the data you collect. Review JioMart's terms of service before running at scale, respect applicable laws including India's data protection rules and the GDPR where relevant, and keep usage reasonable. Product data is intended for market research, pricing analysis, and competitive intelligence — not for republishing JioMart's catalog wholesale or for any use that infringes their rights.

# Actor input Schema

## `searchTerms` (type: `array`):

Products to search JioMart for, one per line — for example 'milk', 'basmati rice', 'sunscreen'. We build the search for you, so there is no need to create URLs. Each term is searched separately. Leave empty if you are only pasting URLs below.

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

Paste JioMart links directly — search result pages, category pages, or collection pages. Copy the address straight from your browser. Use this when you already know the exact pages you want. Leave empty if you are only searching by keyword above.

## `sortBy` (type: `string`):

The order JioMart returns products in. 'Price: low to high' is handy for finding the cheapest option in a category, 'Biggest discount' for spotting the best deals, and 'Most popular' for best-sellers. 'All products' is JioMart's own default ordering.

## `maxResults` (type: `integer`):

Maximum number of products to collect for each search term and each URL. Products arrive in full pages of about 50, and we always keep the whole page rather than cutting it short — so the smallest possible run returns about 50 products, and the number you enter is rounded up to the next full page (for example, entering 10 still returns about 50, and entering 60 returns about 100). Set 0 to collect everything available, up to a safety limit of 5,000 products per search term or URL. A full sweep takes a few minutes per term. Tip: start at 50-100 to test, then raise it.

## Actor input object example

```json
{
  "searchTerms": [
    "milk"
  ],
  "startUrls": [],
  "sortBy": "latest",
  "maxResults": 20
}
```

# Actor output Schema

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

Every product collected in the run, with pricing, discount, brand, stock, seller type, and category.

# 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 = {
    "searchTerms": [
        "milk"
    ],
    "startUrls": [],
    "sortBy": "latest",
    "maxResults": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/jiomart-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 = {
    "searchTerms": ["milk"],
    "startUrls": [],
    "sortBy": "latest",
    "maxResults": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/jiomart-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 '{
  "searchTerms": [
    "milk"
  ],
  "startUrls": [],
  "sortBy": "latest",
  "maxResults": 20
}' |
apify call solidcode/jiomart-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "JioMart Scraper",
        "description": "[💰 $1 / 1K] Extract products from JioMart India by keyword or URL. Get name, brand, selling price, MRP, discount, stock, seller type, category, country of origin, and image. Sort by price, popularity, or biggest discount.",
        "version": "1.0",
        "x-build-id": "NHGW4cqs4JY7oRYrS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~jiomart-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-jiomart-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/solidcode~jiomart-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-jiomart-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/solidcode~jiomart-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-jiomart-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": {
                    "searchTerms": {
                        "title": "Search Terms",
                        "type": "array",
                        "description": "Products to search JioMart for, one per line — for example 'milk', 'basmati rice', 'sunscreen'. We build the search for you, so there is no need to create URLs. Each term is searched separately. Leave empty if you are only pasting URLs below.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "JioMart Page URLs",
                        "type": "array",
                        "description": "Paste JioMart links directly — search result pages, category pages, or collection pages. Copy the address straight from your browser. Use this when you already know the exact pages you want. Leave empty if you are only searching by keyword above.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sortBy": {
                        "title": "Sort Products By",
                        "enum": [
                            "latest",
                            "relevance",
                            "popular",
                            "price_asc",
                            "price_dsc",
                            "discount_dsc"
                        ],
                        "type": "string",
                        "description": "The order JioMart returns products in. 'Price: low to high' is handy for finding the cheapest option in a category, 'Biggest discount' for spotting the best deals, and 'Most popular' for best-sellers. 'All products' is JioMart's own default ordering."
                    },
                    "maxResults": {
                        "title": "Max Products Per Search",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of products to collect for each search term and each URL. Products arrive in full pages of about 50, and we always keep the whole page rather than cutting it short — so the smallest possible run returns about 50 products, and the number you enter is rounded up to the next full page (for example, entering 10 still returns about 50, and entering 60 returns about 100). Set 0 to collect everything available, up to a safety limit of 5,000 products per search term or URL. A full sweep takes a few minutes per term. Tip: start at 50-100 to test, then raise it."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
