# Mercari Listings Scraper — No Login Required (`crowdpull/mercari-listings-scraper`) Actor

Extract product listings from Mercari search, item, and seller pages. No login or cookies needed. Supports keyword search, direct URLs, item IDs, seller inventory, filters, pagination, retries, and diagnostics.

- **URL**: https://apify.com/crowdpull/mercari-listings-scraper.md
- **Developed by:** [Crowd Pull](https://apify.com/crowdpull) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.25 / 1,000 listing extracteds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

## Mercari Listings Scraper

Extract Mercari product listings from search queries, search URLs, item IDs, and seller shop URLs. The actor is built for resale market monitoring, sold-comp collection, deal discovery, and inventory tracking workflows.

Mercari search is a browser-rendered Next.js experience. The actor uses a real browser, waits for Mercari's hydrated XHR responses, extracts structured listing data from the JSON payload when available, and falls back to rendered listing cards when network payload capture is unavailable. It is read-only and does not sign in, like, follow, buy, offer, message, or add anything to a cart.

### Features

- Search one or many Mercari keywords.
- Accept direct Mercari search, category, item, and seller URLs.
- Hydrate item IDs into current item status and price rows.
- Extract seller inventory from numeric `/u/{sellerId}` pages and resolve username profile URLs when Mercari exposes the member ID.
- Supports category, brand ID, condition, price, shipping payer, status, offerable, local pickup, authenticate, and sort filters.
- Captures price, status, condition, brand, size, color, seller, shipping, likes, images, timestamps, and canonical listing URLs when available.
- Saves `SUMMARY`, `SEARCH_SPECS`, and `FAILED_TARGETS` records to key-value storage.
- Defaults to US residential Apify proxy because Mercari's public web app relies on browser-minted session state.

### Example Input

```json
{
  "queries": ["coach bag"],
  "priceMin": 50,
  "priceMax": 300,
  "maxItems": 25,
  "pageSize": 60,
  "proxyConfig": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}
````

### URL And Watchlist Input

```json
{
  "startUrls": [
    { "url": "https://www.mercari.com/search/?keyword=lululemon%20align&priceMax=60" },
    { "url": "https://www.mercari.com/u/242666380/" }
  ],
  "itemIds": ["m12345678901"],
  "maxItems": 50,
  "includeDetails": false
}
```

### Output

Each dataset row is either a `listing` row or a `diagnostic` row. Listing rows include normalized fields such as:

- `itemId`, `url`, `title`, `priceUsd`, `priceText`
- `condition`, `brand`, `size`, `color`, `category`
- `sellerId`, `sellerUsername`, `sellerRating`, `sellerReviewCount`, `sellerVerified`
- `shippingPayer`, `shippingType`, `shippingCostUsd`, `freeShipping`, `shipFromZip`
- `primaryImageUrl`, `imageUrls`, `listingStatus`, `likeCount`
- `mercariAuthenticate`, `smartPricing`, `offerable`, `localPickup`
- `createdTime`, `updatedTime`, `listedRelative`, `scrapedAt`

#### Example Output

```json
{
  "type": "listing",
  "source": "mercari",
  "status": "ok",
  "mode": "search",
  "query": "coach bag",
  "searchUrl": "https://www.mercari.com/search/?keyword=coach%20bag",
  "itemId": "m12345678901",
  "url": "https://www.mercari.com/us/item/m12345678901/",
  "title": "Vintage Y2K Mini Bag Shoulder Bag - Coach",
  "priceUsd": 68.37,
  "priceText": "$68.37",
  "brand": "Coach",
  "primaryImageUrl": "https://u-mercari-images.mercdn.net/photos/m12345678901_1.jpg",
  "listingStatus": "on_sale",
  "likeCount": 14,
  "scrapedAt": "2026-06-01T08:00:00.000Z"
}
```

### Pricing

This actor uses pay-per-event pricing. The primary charge is `$4.75 per 1,000` emitted listing rows.

- `listing-extracted`: charged once per listing row emitted to the default dataset.
- `search-page-loaded`: charged once per successful Mercari search page replay or browser page.
- `seller-page-loaded`: charged once per successful seller shop page.
- `item-detail-hydrated`: charged once per item detail page opened when `includeDetails` is enabled.

Platform usage is passed through with pay-per-event pricing so browser and residential-proxy costs remain transparent on small or proxy-heavy runs.

### Limitations

- Mercari filter IDs for categories, brands, subcategories, colors, sizes, and status can change across builds. Numeric IDs should be discovered from the live Mercari filter UI before large runs.
- Mercari uses bot-management cookies and session-bound XHR auth. Runs should use US residential proxies and low concurrency.
- Seller pages use scroll loading, so very large shops take longer than regular search pagination. Numeric seller URLs are most reliable; username profile URLs are resolved when the page exposes a member ID.
- The actor does not sign in and cannot access account-only data, buyer messages, checkout, saved searches, private likes, or seller dashboard data.
- The actor is read-only and never clicks Buy Now, Make Offer, Add to Cart, Like, Follow, or Sign In.

# Actor input Schema

## `queries` (type: `array`):

Free-form Mercari search keywords such as 'coach bag', 'lululemon align', or 'pokemon cards'.

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

Optional Mercari search, category, item, or seller URLs. Search URL parameters are preserved and can be combined with pagination.

## `itemIds` (type: `array`):

Mercari item IDs, usually starting with 'm'. Each ID is hydrated from the public item page.

## `sellerUrls` (type: `array`):

Mercari seller URLs such as https://www.mercari.com/u/123456789 or username profile URLs. Username profiles are resolved to numeric inventory URLs when Mercari exposes the member ID.

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

Mercari category or subcategory ID. These IDs can change across Mercari builds; use a live Mercari URL or a current UI-derived ID.

## `brandIds` (type: `array`):

Mercari numeric brand IDs. Brand IDs are category-aware and may change across Mercari builds.

## `itemConditions` (type: `array`):

Mercari condition IDs: 1 New, 2 Like New, 3 Good, 4 Fair, 5 Poor.

## `priceMin` (type: `integer`):

Minimum item price in USD.

## `priceMax` (type: `integer`):

Maximum item price in USD.

## `shippingPayerId` (type: `string`):

Mercari shipping payer ID. Use 1 for seller pays/free shipping, 2 for buyer pays.

## `authenticated` (type: `boolean`):

Filter to listings with Mercari Authenticate when supported by the category.

## `offerable` (type: `boolean`):

Filter to items that accept offers.

## `localPickup` (type: `boolean`):

Filter to local meetup listings when Mercari supports the parameter.

## `status` (type: `string`):

Optional Mercari status filter. Leave as Any unless you have confirmed the current URL parameter value.

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

Mercari search sort order.

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

Maximum listing rows to emit across all inputs.

## `pageSize` (type: `integer`):

Mercari search page size. Mercari usually caps this around 120.

## `maxPages` (type: `integer`):

Maximum paginated search pages or seller-scroll batches per target.

## `includeDetails` (type: `boolean`):

Open item detail pages for emitted search rows. This is slower and costs more proxy bandwidth.

## `maxAttemptsPerTarget` (type: `integer`):

Retry blocked or empty pages with a fresh browser and proxy session.

## `navigationTimeoutSecs` (type: `integer`):

Per-page browser navigation timeout.

## `requestDelayMs` (type: `integer`):

Base delay between page navigations in milliseconds.

## `saveDebugHtml` (type: `boolean`):

Save blocked, failed, or empty page HTML to the default key-value store.

## `proxyConfig` (type: `object`):

US residential proxies are strongly recommended for Mercari because the result XHR depends on browser-minted session state.

## Actor input object example

```json
{
  "queries": [
    "coach bag"
  ],
  "startUrls": [
    {
      "url": "https://www.mercari.com/search/?keyword=coach%20bag"
    }
  ],
  "shippingPayerId": "",
  "authenticated": false,
  "offerable": false,
  "localPickup": false,
  "status": "",
  "sortBy": "default",
  "maxItems": 50,
  "pageSize": 60,
  "maxPages": 3,
  "includeDetails": false,
  "maxAttemptsPerTarget": 5,
  "navigationTimeoutSecs": 60,
  "requestDelayMs": 2000,
  "saveDebugHtml": false,
  "proxyConfig": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

## `failedTargets` (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 = {
    "queries": [
        "coach bag"
    ],
    "startUrls": [
        {
            "url": "https://www.mercari.com/search/?keyword=coach%20bag"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("crowdpull/mercari-listings-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 = {
    "queries": ["coach bag"],
    "startUrls": [{ "url": "https://www.mercari.com/search/?keyword=coach%20bag" }],
}

# Run the Actor and wait for it to finish
run = client.actor("crowdpull/mercari-listings-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 '{
  "queries": [
    "coach bag"
  ],
  "startUrls": [
    {
      "url": "https://www.mercari.com/search/?keyword=coach%20bag"
    }
  ]
}' |
apify call crowdpull/mercari-listings-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mercari Listings Scraper — No Login Required",
        "description": "Extract product listings from Mercari search, item, and seller pages. No login or cookies needed. Supports keyword search, direct URLs, item IDs, seller inventory, filters, pagination, retries, and diagnostics.",
        "version": "0.1",
        "x-build-id": "V4YUbyIUsPXewzMja"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crowdpull~mercari-listings-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crowdpull-mercari-listings-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/crowdpull~mercari-listings-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crowdpull-mercari-listings-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/crowdpull~mercari-listings-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crowdpull-mercari-listings-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": {
                    "queries": {
                        "title": "Search Queries",
                        "type": "array",
                        "description": "Free-form Mercari search keywords such as 'coach bag', 'lululemon align', or 'pokemon cards'.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Mercari URLs",
                        "type": "array",
                        "description": "Optional Mercari search, category, item, or seller URLs. Search URL parameters are preserved and can be combined with pagination.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL",
                                    "description": "Mercari search, category, item, or seller URL."
                                }
                            }
                        }
                    },
                    "itemIds": {
                        "title": "Item IDs",
                        "type": "array",
                        "description": "Mercari item IDs, usually starting with 'm'. Each ID is hydrated from the public item page.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sellerUrls": {
                        "title": "Seller URLs",
                        "type": "array",
                        "description": "Mercari seller URLs such as https://www.mercari.com/u/123456789 or username profile URLs. Username profiles are resolved to numeric inventory URLs when Mercari exposes the member ID.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "categoryId": {
                        "title": "Category ID",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Mercari category or subcategory ID. These IDs can change across Mercari builds; use a live Mercari URL or a current UI-derived ID."
                    },
                    "brandIds": {
                        "title": "Brand IDs",
                        "type": "array",
                        "description": "Mercari numeric brand IDs. Brand IDs are category-aware and may change across Mercari builds.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "itemConditions": {
                        "title": "Item Conditions",
                        "type": "array",
                        "description": "Mercari condition IDs: 1 New, 2 Like New, 3 Good, 4 Fair, 5 Poor.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "priceMin": {
                        "title": "Minimum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum item price in USD."
                    },
                    "priceMax": {
                        "title": "Maximum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum item price in USD."
                    },
                    "shippingPayerId": {
                        "title": "Shipping Payer",
                        "enum": [
                            "",
                            "1",
                            "2"
                        ],
                        "type": "string",
                        "description": "Mercari shipping payer ID. Use 1 for seller pays/free shipping, 2 for buyer pays.",
                        "default": ""
                    },
                    "authenticated": {
                        "title": "Mercari Authenticate Only",
                        "type": "boolean",
                        "description": "Filter to listings with Mercari Authenticate when supported by the category.",
                        "default": false
                    },
                    "offerable": {
                        "title": "Accepts Offers Only",
                        "type": "boolean",
                        "description": "Filter to items that accept offers.",
                        "default": false
                    },
                    "localPickup": {
                        "title": "Local Pickup Only",
                        "type": "boolean",
                        "description": "Filter to local meetup listings when Mercari supports the parameter.",
                        "default": false
                    },
                    "status": {
                        "title": "Listing Status",
                        "enum": [
                            "",
                            "on_sale",
                            "trading",
                            "sold_out"
                        ],
                        "type": "string",
                        "description": "Optional Mercari status filter. Leave as Any unless you have confirmed the current URL parameter value.",
                        "default": ""
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "enum": [
                            "default",
                            "created_time",
                            "price_asc",
                            "price_desc",
                            "num_likes"
                        ],
                        "type": "string",
                        "description": "Mercari search sort order.",
                        "default": "default"
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum listing rows to emit across all inputs.",
                        "default": 50
                    },
                    "pageSize": {
                        "title": "Page Size",
                        "minimum": 1,
                        "maximum": 120,
                        "type": "integer",
                        "description": "Mercari search page size. Mercari usually caps this around 120.",
                        "default": 60
                    },
                    "maxPages": {
                        "title": "Max Pages Per Search",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum paginated search pages or seller-scroll batches per target.",
                        "default": 3
                    },
                    "includeDetails": {
                        "title": "Hydrate Item Details",
                        "type": "boolean",
                        "description": "Open item detail pages for emitted search rows. This is slower and costs more proxy bandwidth.",
                        "default": false
                    },
                    "maxAttemptsPerTarget": {
                        "title": "Max Attempts Per Target",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Retry blocked or empty pages with a fresh browser and proxy session.",
                        "default": 5
                    },
                    "navigationTimeoutSecs": {
                        "title": "Navigation Timeout Seconds",
                        "minimum": 15,
                        "maximum": 240,
                        "type": "integer",
                        "description": "Per-page browser navigation timeout.",
                        "default": 60
                    },
                    "requestDelayMs": {
                        "title": "Delay Between Pages",
                        "minimum": 0,
                        "maximum": 60000,
                        "type": "integer",
                        "description": "Base delay between page navigations in milliseconds.",
                        "default": 2000
                    },
                    "saveDebugHtml": {
                        "title": "Save Debug HTML",
                        "type": "boolean",
                        "description": "Save blocked, failed, or empty page HTML to the default key-value store.",
                        "default": false
                    },
                    "proxyConfig": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "US residential proxies are strongly recommended for Mercari because the result XHR depends on browser-minted session state.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
