# 1688.com Search Scraper (`datacach/1688-search-scraper`) Actor

Searches 1688.com by keyword and returns product listings: title, price, image, seller, sales and location.

- **URL**: https://apify.com/datacach/1688-search-scraper.md
- **Developed by:** [DataCach](https://apify.com/datacach) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 5 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 product scrapeds

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

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

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

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

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

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

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

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

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

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


# README

## 1688.com Search Scraper

**Scrape product listings from [1688.com](https://www.1688.com/) — Alibaba's Chinese wholesale marketplace — by keyword.** Enter one or more search terms and this Actor returns structured **product data**: titles, prices, **quantity price tiers**, images, sellers, **supplier trust signals** and location, ready to **export as JSON, CSV or Excel**. Narrow results by **price range, minimum order quantity and marketplace**, and sort by relevance, sales or price. No login, no browser automation, no CSS selectors — just a keyword and Run.

<!-- TODO: demo video — paste a YouTube URL on its own line here so it auto-renders and boosts SEO ranking -->

### What is the 1688.com Search Scraper?

The **1688.com Search Scraper** is a fast, lightweight tool that turns a keyword search on **1688.com** into a clean dataset of products. It talks directly to 1688's internal search **API** (the same one the website uses), so it is quick and reliable — **no headless browser** required. For every product it captures the **title, unit price, quantity price tiers, main image, seller, supplier trust signals (factory / verified), repeat-purchase rate, sales count and location**. You can **filter by price range, minimum order quantity and consumer vs. industrial marketplace** and **sort by relevance, sales volume or price**, and it paginates automatically until it reaches your item limit or the end of the results.

Because 1688.com is a **Chinese wholesale marketplace**, product titles are returned in their **original Chinese** — perfect for sourcing agents, resellers and price-research tools.

### What can the 1688.com Search Scraper do?

- 🔍 **Search by keyword** — scrape any 1688.com search term; pass a whole list to scrape several searches in one run.
- 📦 **Extract full product listings** — title, price, **quantity price tiers**, supplier trust signals and location for each result.
- 🎯 **Filter and sort** — narrow results by **price range**, **minimum order quantity** and **consumer vs. industrial marketplace**, and sort by **relevance, sales volume or price**.
- 🏭 **Supplier trust signals** — see which suppliers are **factories** or **1688-verified/inspected**.
- 📄 **Auto-pagination** — fetches results in pages of 60 up to your chosen limit or 1688's ~2,000-result cap (use a price range to split past the cap).
- 💾 **Export anywhere** — download your data as **JSON, CSV, Excel, HTML or XML**, or pull it via the **Apify API**.
- 🌐 **Built-in proxy rotation** — route requests through **Apify Proxy** to avoid rate limiting and blocks.
- ⏱️ **Schedule & monitor** — run on a schedule, monitor runs, and get notified through the Apify platform.
- 🔗 **Integrate** — connect the output to **Zapier, Make, Google Sheets, Slack** and more, or trigger runs from your own code.

### What data does the 1688.com Search Scraper extract?

Each product in the dataset includes the following fields:

| Field | Description |
| --- | --- |
| `keyword` | The search term this product was found under |
| `offerId` | Unique 1688 product (offer) ID |
| `title` | Product title (in original Chinese) |
| `url` | Direct link to the product detail page |
| `imageUrl` | Main product image URL |
| `price` | Numeric unit price |
| `priceInfo` | Raw price object (type, description, integer/decimal parts) |
| `priceTiers` | **Quantity-based wholesale pricing** — array of `{quantity, price}` tiers |
| `bookedCount` | Number of units sold / booked |
| `salesText` | Network-wide sales label (e.g. `全网500+件`) |
| `repurchaseRate` | Seller repeat-purchase rate (e.g. `35%`) |
| `sellerName` | Supplier / shop name |
| `sellerMemberId` | Supplier member ID |
| `sellerUrl` | Link to the supplier's storefront |
| `sellerType` | Supplier business type (e.g. manufacturer) |
| `city` | Seller city |
| `province` | Seller province |
| `isAd` | Whether the listing is a paid/promoted result |
| `isFactory` | Whether the supplier is a factory (super factory) |
| `isVerified` | Whether the supplier passed a 1688 inspection |
| `businessInspection` | Supplier passed 1688 business inspection |
| `factoryInspection` | Supplier passed 1688 factory inspection |
| `serviceTags` | Service badges (e.g. deep-verified supplier) |
| `page` | Result page the product came from |

### How do I scrape 1688.com by keyword?

You can run the **1688.com Search Scraper** in a few clicks — no coding needed:

1. Click **Try for free** / open the Actor in the Apify Console.
2. Type one or more **search keywords** (English or Chinese) into the **Search keywords** field.
3. Set **Max products per keyword** to control how many results you want per search.
4. (Optional) Enable **Apify Proxy** to avoid rate limiting — it's on by default.
5. Click **Run**.
6. When the run finishes, **download your data** as JSON, CSV or Excel from the **Output** tab, or fetch it via the API.

<!-- TODO: screenshot of the input form — alt="1688.com Search Scraper input form in Apify Console" -->

### Input

The 1688.com Search Scraper takes a simple input:

- **Search keywords** — the terms to look up on 1688.com. Each keyword runs as its own search, so you can scrape several at once. Keywords may be in English or Chinese.
- **Max products per keyword** — the maximum number of products to scrape for each keyword. Higher values mean longer, more thorough runs.
- **Marketplace** — search the **consumer** (`pcmarket`) or **industrial** (`pcindustry`) marketplace.
- **Min price / Max price (CNY)** — restrict results to a price range in Chinese Yuan.
- **Minimum order quantity** — only return products with an MOQ at or below this number of units.
- **Sort results by** — order results by **relevance**, **sales volume** or **price**, ascending or descending.
- **Proxy configuration** — select proxies (Apify Proxy datacenter recommended and enabled by default) to avoid rate limiting and blocks.

![1688.com Search Scraper input form in the Apify Console](https://raw.githubusercontent.com/BenjaminFloresV/public-datacach-apify-actors-media/main/1688-com-scraper/1688-com-scraper-input-page-example.png)

### Output example

The Actor stores each product as one record in the dataset. Here is a real example result:

```json
{
  "keyword": "michael jackson",
  "offerId": 1033778508529,
  "title": "2026春夏季Michael Jackson美式街头情侣上衣直喷印花水洗男短袖",
  "url": "https://detail.1688.com/offer/1033778508529.html",
  "imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01rELFIM1Yz8QfDFEzA_!!2217950923129-0-cib.jpg",
  "price": 53.9,
  "priceInfo": {
    "price": "53.9",
    "priceType": "NORMAL",
    "priceInteger": "53",
    "priceDecimal": ".9",
    "priceDescription": "",
    "priceDescriptionColor": "#FF4000"
  },
  "priceTiers": [
    { "quantity": "2~49件", "price": 85.0 },
    { "quantity": "50~199件", "price": 82.0 },
    { "quantity": "≥200件", "price": 78.0 }
  ],
  "bookedCount": "287",
  "salesText": "全网500+件",
  "repurchaseRate": "35%",
  "sellerName": "广州反自商贸",
  "sellerMemberId": "b2b-2217950923129f9c9f",
  "sellerUrl": "https://m.1688.com/winport/b2b-2217950923129f9c9f.html?__existtitle__=1",
  "sellerType": "生产加工",
  "city": "佛山市",
  "province": "广东",
  "isAd": false,
  "isFactory": true,
  "isVerified": true,
  "businessInspection": true,
  "factoryInspection": false,
  "serviceTags": ["深度验商"],
  "page": 1
}
````

### Use cases

- 🛒 **Product sourcing** — find wholesale suppliers and products on 1688.com for dropshipping or import.
- 💰 **Price research & monitoring** — track wholesale prices across suppliers for a product category.
- 📊 **Market analysis** — measure how many suppliers and listings exist for a keyword, and how competitive it is.
- 🔁 **Reseller & arbitrage research** — spot high-sales, high-repurchase-rate products to resell on other marketplaces.
- 🌏 **Sourcing agents** — build product shortlists with supplier names, locations and links for clients.
- 🤖 **Feed your own apps** — pipe 1688 product data into spreadsheets, dashboards or AI tools via the API.

### Free vs. Premium plan

Both plans return the **same rich product data** (all fields, filters, sorting and proxy support). Premium simply removes the per-run limits so you can scrape at scale:

| Capability | Free plan | Premium plan |
| --- | --- | --- |
| Keywords per run | 1 | ✅ Unlimited |
| Products per keyword | 10 | ✅ Up to 2,000 (1688's cap) |
| Output fields (24) | ✅ All | ✅ All |
| Filters & sorting (price, MOQ, marketplace, sort) | ✅ All | ✅ All |
| Quantity price tiers & supplier trust signals | ✅ | ✅ |
| Apify Proxy support | ✅ | ✅ |
| Scheduling, monitoring & API access | ✅ | ✅ |

On the **free plan**, each run is automatically limited to **1 keyword** and **10 products**, so you can test the Actor and inspect the output before upgrading. On a **paid (premium) plan**, those limits are lifted — pass as many keywords as you like and raise **Max products per keyword** up to 1688's ~2,000-result cap per search.

### Other Actors you might like

- Looking for more e-commerce and marketplace scrapers? Browse the [Apify Store](https://apify.com/store).

### FAQ

#### Is it legal to scrape 1688.com?

Scraping publicly available data is generally legal, but you are responsible for how you use the data. Only collect **publicly accessible information**, respect 1688.com's terms of service, and avoid collecting personal or copyrighted data you don't have the right to use. When in doubt, consult a legal professional. See Apify's guide on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

#### What's the difference between the free and premium plan?

On the free plan every run is capped at **1 keyword** and **10 products per keyword** — enough to try the Actor and check the output. A premium (paid) plan removes both caps: unlimited keywords per run and up to 1688's ~2,000 results per search. All output fields, filters, sorting and proxy support are available on both plans. See the [Free vs. Premium plan](#free-vs-premium-plan) table above.

#### Why are the product titles in Chinese?

1688.com is a Chinese wholesale marketplace, so titles are stored in their **original Chinese**. You can translate them afterwards with your own translation tool or an AI step in your workflow.

#### Can I scrape multiple keywords at once?

Yes. Add several **search keywords** and each one runs as its own search in a single run.

#### How many products can I scrape per keyword?

As many as you set in **Max products per keyword**, up to 1688.com's own limit of roughly **2,000 results** per search.

#### Can I access the 1688.com Search Scraper via API?

Yes. Like every Apify Actor, you can run it and retrieve its dataset through the **[Apify API](https://docs.apify.com/api/v2)**, the API clients for **Python** and **JavaScript**, or the CLI — and schedule and monitor runs from the platform.

#### In what formats can I export the data?

You can export the results as **JSON, CSV, Excel, HTML or XML**, or fetch them programmatically through the Apify API.

### Support

Found a bug or need a new field? Open an issue on the Actor's **Issues** tab in the Apify Console — we actively maintain this Actor. Need a **custom 1688.com or Alibaba scraping solution**? Reach out and we'll help.

# Actor input Schema

## `keywords` (type: `array`):

The search terms to look up on 1688.com. Each keyword runs as its own search, so you can scrape several at once. For example: <code>michael jackson</code>, <code>bluetooth speaker</code>. Keywords may be in English or Chinese. Free plan is capped at 1 keyword per run.

## `maxItemsPerKeyword` (type: `integer`):

The maximum number of products to scrape for each keyword. Results are fetched in pages of 60, so higher values mean more requests and longer, more expensive runs. Scraping stops early when the last result page or 1688's ~2000-result cap is reached. Free plan is capped at 10 products per keyword.

## `searchType` (type: `string`):

Which 1688 marketplace to search. Choose <b>Consumer market</b> for general/retail wholesale products, or <b>Industrial market</b> for industrial and B2B supplies.

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

Only return products with a unit price at or above this value, in Chinese Yuan (CNY). Leave empty for no lower bound.

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

Only return products with a unit price at or below this value, in Chinese Yuan (CNY). Combine with Min price to target a price range — useful for splitting a broad search and getting past the ~2000-result cap. Leave empty for no upper bound.

## `minOrderQuantity` (type: `integer`):

Only return products whose minimum order quantity (MOQ) is at or below this number of units. Leave empty to ignore MOQ.

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

How to order the results. <b>Relevance</b> is 1688's default ranking, <b>Sales volume</b> surfaces best-sellers first, and <b>Price</b> orders by unit price.

## `sortDescending` (type: `boolean`):

When sorting by Sales volume or Price, turn this on for highest-first (descending) order, or off for lowest-first (ascending). Ignored when sorting by Relevance.

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

Select proxies to avoid rate limiting and blocks from 1688.com. Apify Proxy with datacenter servers is recommended and enabled by default.

## Actor input object example

```json
{
  "keywords": [
    "michael jackson"
  ],
  "maxItemsPerKeyword": 60,
  "searchType": "pcmarket",
  "sortBy": "relevance",
  "sortDescending": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "keywords": [
        "michael jackson"
    ],
    "maxItemsPerKeyword": 60,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("datacach/1688-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keywords": ["michael jackson"],
    "maxItemsPerKeyword": 60,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("datacach/1688-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "michael jackson"
  ],
  "maxItemsPerKeyword": 60,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call datacach/1688-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "1688.com Search Scraper",
        "description": "Searches 1688.com by keyword and returns product listings: title, price, image, seller, sales and location.",
        "version": "0.0",
        "x-build-id": "9Mfn5LKODDVDMnObb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/datacach~1688-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-datacach-1688-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/datacach~1688-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-datacach-1688-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/datacach~1688-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-datacach-1688-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keywords"
                ],
                "properties": {
                    "keywords": {
                        "title": "Search keywords",
                        "type": "array",
                        "description": "The search terms to look up on 1688.com. Each keyword runs as its own search, so you can scrape several at once. For example: <code>michael jackson</code>, <code>bluetooth speaker</code>. Keywords may be in English or Chinese. Free plan is capped at 1 keyword per run.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItemsPerKeyword": {
                        "title": "Max products per keyword",
                        "minimum": 1,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "The maximum number of products to scrape for each keyword. Results are fetched in pages of 60, so higher values mean more requests and longer, more expensive runs. Scraping stops early when the last result page or 1688's ~2000-result cap is reached. Free plan is capped at 10 products per keyword.",
                        "default": 60
                    },
                    "searchType": {
                        "title": "Marketplace",
                        "enum": [
                            "pcmarket",
                            "pcindustry"
                        ],
                        "type": "string",
                        "description": "Which 1688 marketplace to search. Choose <b>Consumer market</b> for general/retail wholesale products, or <b>Industrial market</b> for industrial and B2B supplies.",
                        "default": "pcmarket"
                    },
                    "minPrice": {
                        "title": "Min price (CNY)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only return products with a unit price at or above this value, in Chinese Yuan (CNY). Leave empty for no lower bound."
                    },
                    "maxPrice": {
                        "title": "Max price (CNY)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only return products with a unit price at or below this value, in Chinese Yuan (CNY). Combine with Min price to target a price range — useful for splitting a broad search and getting past the ~2000-result cap. Leave empty for no upper bound."
                    },
                    "minOrderQuantity": {
                        "title": "Minimum order quantity",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Only return products whose minimum order quantity (MOQ) is at or below this number of units. Leave empty to ignore MOQ."
                    },
                    "sortBy": {
                        "title": "Sort results by",
                        "enum": [
                            "relevance",
                            "sales",
                            "price"
                        ],
                        "type": "string",
                        "description": "How to order the results. <b>Relevance</b> is 1688's default ranking, <b>Sales volume</b> surfaces best-sellers first, and <b>Price</b> orders by unit price.",
                        "default": "relevance"
                    },
                    "sortDescending": {
                        "title": "Sort descending",
                        "type": "boolean",
                        "description": "When sorting by Sales volume or Price, turn this on for highest-first (descending) order, or off for lowest-first (ascending). Ignored when sorting by Relevance.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to avoid rate limiting and blocks from 1688.com. Apify Proxy with datacenter servers is recommended and enabled by default.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
