# Walmart Scraper (Pay-Per-Event) (`prodiger/walmart-scraper`) Actor

Scrape Walmart search results for prices, discounts, ratings, review counts, sellers, and deal badges. Pay-per-event pricing — only pay for the products you actually scrape.

- **URL**: https://apify.com/prodiger/walmart-scraper.md
- **Developed by:** [Arnas](https://apify.com/prodiger) (community)
- **Categories:** E-commerce, Lead generation, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

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

Scrape Walmart product data including prices, ratings, reviews, seller info, brand, and deal badges from search results.

### What does Walmart Scraper do?

**Walmart Scraper** extracts product data from [Walmart](https://www.walmart.com) search results. For every keyword you provide, it returns one structured record per unique product including current price, original "was" price, savings amount and percent, rating, review count, seller name, deal badges (Rollback, Best seller, "100+ bought since yesterday"), brand, and the direct product URL.

Use it for **price monitoring**, **competitive intelligence**, **dropshipping research**, **market analysis**, and **deal tracking** — without managing proxies, retries, or HTML parsing yourself.

Run it once on demand or [schedule it](https://docs.apify.com/platform/schedules) to track price changes over time. Results download as **JSON, CSV, or Excel**, or stream live via the [Apify API](https://docs.apify.com/api/v2).

### Who is it for?

- **E-commerce analysts** building competitive pricing dashboards
- **Dropshippers** finding products with strong ratings and pricing gaps
- **Price comparison services** cross-referencing Walmart against Amazon, Target, and others
- **Market researchers** analyzing product availability and seller distribution
- **Deal trackers** finding Rollback and Clearance items in specific categories

### Use cases

- **Price monitoring** — track current vs original prices, savings, and discount percentages over time.
- **Competitive intelligence** — research product listings, seller distribution, and pricing strategies.
- **Dropshipping research** — find high-rated products with strong margins.
- **Market analysis** — analyze availability, rating distributions, and seller competition across categories.
- **Deal tracking** — monitor Rollback deals, Clearance items, and "Best seller" badges.
- **E-commerce analytics** — build price-history datasets by keyword and category.

### Why use Walmart Scraper?

- **Rich data extraction** — price, original price, savings, discount percent, rating, review count, seller, deal badge, brand, thumbnail, product URL.
- **Run-level deduplication** — duplicate products that appear in overlapping searches or sponsored-then-organic placements are written once and **billed once**, not twice.
- **Numeric prices** — `price` and `wasPriceValue` are returned as numbers, ready for math without string parsing.
- **Computed `discountPercent`** — Walmart returns the savings dollar amount; we also calculate the percentage so you can sort by deepest discount directly.
- **Multiple sort options** — best match, best seller, price low/high, highest rating, new arrivals.
- **Multi-page pagination** — up to 25 pages per keyword (~1000 products).
- **Residential proxy** — uses Apify's residential proxy for reliability against Walmart's bot detection.
- **Pay-per-event pricing** — only pay for products written to the dataset. No monthly subscription.

### What data can you extract?

Each product in the output includes:

| Field | Description |
|---|---|
| `usItemId` | Walmart item identifier (stable across pages — used for deduplication) |
| `name` | Product name |
| `price` | Current price as a number (USD) |
| `priceString` | Formatted price string (e.g., `"$23.78"`) |
| `wasPrice` | Original price as a string (e.g., `"$29.38"`) |
| `wasPriceValue` | Original price as a number — easier to math against |
| `savings` | Savings text (e.g., `"SAVE $5.60"`) |
| `onSale` | Whether the product is discounted |
| `discountPercent` | Computed discount percentage (1 decimal place) |
| `rating` | Average rating (0–5) |
| `reviewCount` | Number of customer reviews |
| `seller` | Seller name (e.g., `"Walmart.com"`) |
| `fulfillmentType` | Delivery / fulfillment method |
| `flag` | Deal badge (e.g., `"Rollback"`, `"Best seller"`, `"100+ bought since yesterday"`) |
| `thumbnail` | Product image URL |
| `url` | Direct link to the Walmart product page |
| `isSponsored` | Whether the listing is a sponsored placement |
| `brand` | Product brand. Best-effort: read from Walmart when present, otherwise inferred from the first token of `name` against a generic-word denylist. Null when neither path is confident. |
| `currency` | ISO 4217 currency code (always `"USD"`) |
| `pageNumber` | Which search result page this product appeared on |
| `searchQuery` | Which input keyword surfaced this product |
| `scrapedAt` | ISO 8601 timestamp when the record was extracted |

### Output example

```json
{
  "usItemId": "17828556665",
  "name": "JLab Go Air Pop Bluetooth Earbuds, True Wireless with Charging Case",
  "price": 23.78,
  "priceString": "$23.78",
  "wasPrice": "$29.38",
  "wasPriceValue": 29.38,
  "savings": "SAVE $5.60",
  "onSale": true,
  "discountPercent": 19.1,
  "rating": 4.5,
  "reviewCount": 34286,
  "seller": "Walmart.com",
  "fulfillmentType": "Free shipping, arrives tomorrow",
  "flag": "500+ bought since yesterday",
  "thumbnail": "https://i5.walmartimages.com/seo/...",
  "url": "https://www.walmart.com/ip/JLab-Go-Air-Pop-Bluetooth-Earbuds/...",
  "isSponsored": false,
  "brand": "JLab",
  "currency": "USD",
  "pageNumber": 1,
  "searchQuery": "wireless earbuds",
  "scrapedAt": "2026-05-22T13:40:32.821Z"
}
````

### Input parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `searchQueries` | array | — | **Required.** List of keywords to search on Walmart. Each keyword runs a separate search. |
| `maxProductsPerSearch` | integer | 100 | Maximum number of unique products to return for each keyword. |
| `maxSearchPages` | integer | 5 | Max search result pages per keyword (capped at 25; ~40 products per page). |
| `sort` | string | `"best_match"` | One of `best_match`, `best_seller`, `price_low`, `price_high`, `rating_high`, `new`. |
| `maxRequestRetries` | integer | 5 | Number of retry attempts for failed requests (1–10). |
| `proxyConfiguration` | object | residential | Apify proxy configuration. Residential is strongly recommended. |

### How to scrape Walmart products

1. Open **Walmart Scraper** in Apify Console.
2. Enter one or more search keywords (e.g., `laptop`, `wireless earbuds`).
3. Choose a sort order.
4. Set `maxProductsPerSearch` and `maxSearchPages`.
5. Click **Start** and download results as **JSON, CSV, or Excel**.

### How much does it cost to scrape Walmart?

Walmart Scraper uses **pay-per-event** pricing — you only pay for products written to the dataset. Duplicates across keywords and pages are deduplicated by `usItemId` and **not double-billed**.

| Event | Price (Free / Bronze) | Price (Business Gold, –48%) |
|---|---|---|
| Actor start (per run) | $0.001 | $0.001 |
| Product scraped | $4.60 / 1,000 | $2.40 / 1,000 |

**Cost examples:**

- 40 products (1 page): ~$0.18
- 100 products (2–3 pages): ~$0.46
- 200 products (5 pages): ~$0.92
- 1000 products (25 pages): ~$4.60

Platform usage costs (compute, residential proxy) are **included** in the per-event price.

### API usage

#### Node.js

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

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });

const run = await client.actor('prodiger/walmart-scraper').call({
    searchQueries: ['laptop'],
    maxProductsPerSearch: 40,
    sort: 'price_low',
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((product) => {
    console.log(`$${product.price} - ${product.name} (${product.rating}/5, ${product.reviewCount} reviews)`);
});
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')

run = client.actor('prodiger/walmart-scraper').call(run_input={
    'searchQueries': ['laptop'],
    'maxProductsPerSearch': 40,
    'sort': 'price_low',
})

for product in client.dataset(run['defaultDatasetId']).list_items().items:
    print(f"${product['price']} - {product['name']} ({product['rating']}/5, {product['reviewCount']} reviews)")
```

#### cURL

```sh
curl "https://api.apify.com/v2/acts/prodiger~walmart-scraper/runs" \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "searchQueries": ["organic coffee"],
    "maxProductsPerSearch": 40,
    "sort": "best_match"
  }'
```

### Use with AI agents via MCP

Walmart Scraper is available as a tool for AI assistants that support the **Model Context Protocol (MCP)**.

#### Setup for Claude Code

```sh
claude mcp add --transport http apify "https://mcp.apify.com?tools=prodiger/walmart-scraper"
```

#### Setup for Claude Desktop, Cursor, or VS Code

```json
{
    "mcpServers": {
        "apify": {
            "url": "https://mcp.apify.com?tools=prodiger/walmart-scraper"
        }
    }
}
```

#### Example prompts

- "Search Walmart for organic coffee and show me the cheapest 20 products."
- "Find the best-selling laptops on Walmart sorted by rating."
- "Compare Walmart prices for these 10 product keywords."

### Integrations

Walmart Scraper works with all standard Apify integrations:

- **Webhooks** — get notified when a run finishes.
- **API** — start runs and fetch results programmatically.
- **Scheduling** — run daily to build price history datasets.
- **Storage** — export as JSON, CSV, or Excel; push to Google Sheets, Slack, or email.
- **Zapier / Make / n8n** — connect Walmart data to thousands of apps.

### Tips and best practices

- **Use `price_low`** to surface deep discounts first.
- **Check `onSale` and `discountPercent`** to filter for genuine deals — `discountPercent` is computed for you.
- **Filter by `seller === "Walmart.com"`** to isolate first-party listings from third-party marketplace sellers.
- **Schedule daily** with the same keywords to build a price history. At ~$0.0046 per product, tracking 200 products daily costs about $0.92/day on Free tier or $0.48/day on Business Gold.
- **Combine keywords** — passing multiple keywords in one run is cheaper than starting multiple runs because of run-level deduplication on overlapping items.

### Limitations

- Walmart uses aggressive bot detection. The scraper uses residential proxies and automatic retries. Increase `maxRequestRetries` to 7–10 for noisier IP pools.
- Returns ~40 products per page, up to 25 pages (~1000 products per keyword).
- `brand` may be null for sponsored placements that omit it.
- Walmart.com (US) only. Does not support international Walmart sites.
- Does not scrape individual product pages, reviews, or seller profiles.

### FAQ

**The scraper returns 0 results for my keyword. What's wrong?** Walmart's bot detection may temporarily block a request. Try increasing `maxRequestRetries` to 7–10 and re-running. Verify the keyword returns results on walmart.com directly — very niche or misspelled terms may return empty pages.

**Are duplicate products charged twice?** No. We deduplicate by `usItemId` across the whole run, so the same item showing up under two keywords (or as sponsored on page 1 and organic on page 2) is written and billed exactly once.

**Can I filter by seller (Walmart.com vs third-party)?** There's no input filter for seller, but the output includes the `seller` field. Filter in your pipeline by `seller === "Walmart.com"` to isolate first-party listings.

### Legality

Scraping publicly accessible product data from Walmart.com — prices, ratings, and other information visible to any shopper without logging in — is generally legal based on established case law (notably *hiQ Labs v. LinkedIn*, 9th Cir. 2022).

Walmart Scraper:

- Does not require authentication or bypass any login
- Does not access private account data or restricted pages
- Does not download or reproduce copyrighted content beyond facts (prices, ratings, product names)
- Uses publicly visible search results that any shopper can see

Walmart's Terms of Use prohibit scraping. For personal research or small-scale use, enforcement is rare. For enterprise or legally sensitive use cases, consult legal counsel about the specific application.

# Actor input Schema

## `searchQueries` (type: `array`):

List of keywords to search on Walmart. Each keyword runs a separate search. Examples: 'wireless earbuds', 'laptop', 'organic coffee'.

## `maxProductsPerSearch` (type: `integer`):

Maximum number of unique products to return for each keyword. Walmart returns roughly 40 products per page.

## `maxSearchPages` (type: `integer`):

Maximum number of search result pages per keyword. Each page has ~40 products. Pagination stops when this limit OR maxProductsPerSearch is reached, whichever comes first.

## `sort` (type: `string`):

How to sort search results.

## `maxRequestRetries` (type: `integer`):

Number of retry attempts for failed requests (429, 5xx, 403 from bot-detection gateways). Higher values improve reliability on flaky residential IPs.

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

Apify proxy. Residential proxies are strongly recommended — Walmart blocks datacenter IPs almost immediately. Leaving the default keeps you on RESIDENTIAL.

## Actor input object example

```json
{
  "searchQueries": [
    "wireless earbuds"
  ],
  "maxProductsPerSearch": 100,
  "maxSearchPages": 5,
  "sort": "best_match",
  "maxRequestRetries": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Scraped Walmart products. One record per unique usItemId across the run.

# 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 = {
    "searchQueries": [
        "wireless earbuds"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("prodiger/walmart-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 = {
    "searchQueries": ["wireless earbuds"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("prodiger/walmart-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 '{
  "searchQueries": [
    "wireless earbuds"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call prodiger/walmart-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Walmart Scraper (Pay-Per-Event)",
        "description": "Scrape Walmart search results for prices, discounts, ratings, review counts, sellers, and deal badges. Pay-per-event pricing — only pay for the products you actually scrape.",
        "version": "0.1",
        "x-build-id": "kEuvQd8aSJf6g0Vyd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/prodiger~walmart-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-prodiger-walmart-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/prodiger~walmart-scraper/runs": {
            "post": {
                "operationId": "runs-sync-prodiger-walmart-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/prodiger~walmart-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-prodiger-walmart-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "searchQueries"
                ],
                "properties": {
                    "searchQueries": {
                        "title": "Search keywords",
                        "type": "array",
                        "description": "List of keywords to search on Walmart. Each keyword runs a separate search. Examples: 'wireless earbuds', 'laptop', 'organic coffee'.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxProductsPerSearch": {
                        "title": "Max products per search",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of unique products to return for each keyword. Walmart returns roughly 40 products per page.",
                        "default": 100
                    },
                    "maxSearchPages": {
                        "title": "Max search pages",
                        "minimum": 1,
                        "maximum": 25,
                        "type": "integer",
                        "description": "Maximum number of search result pages per keyword. Each page has ~40 products. Pagination stops when this limit OR maxProductsPerSearch is reached, whichever comes first.",
                        "default": 5
                    },
                    "sort": {
                        "title": "Sort results by",
                        "enum": [
                            "best_match",
                            "best_seller",
                            "price_low",
                            "price_high",
                            "rating_high",
                            "new"
                        ],
                        "type": "string",
                        "description": "How to sort search results.",
                        "default": "best_match"
                    },
                    "maxRequestRetries": {
                        "title": "Max request retries",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of retry attempts for failed requests (429, 5xx, 403 from bot-detection gateways). Higher values improve reliability on flaky residential IPs.",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy. Residential proxies are strongly recommended — Walmart blocks datacenter IPs almost immediately. Leaving the default keeps you on RESIDENTIAL.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
