# eBay Listings Scraper - Search Results to CSV/JSON (`webdata_labs/ebay-listings-scraper`) Actor

\[💵 $2 / 1K] Scrape eBay search results at scale: title, price, shipping, total price paid, condition, item aspects, bids, location, seller and image. 5 markets, condition and price filters, no start fee. Clean rows, no empty carousel tiles.

- **URL**: https://apify.com/webdata\_labs/ebay-listings-scraper.md
- **Developed by:** [WebData Labs](https://apify.com/webdata_labs) (community)
- **Categories:** E-commerce, Developer tools, Automation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.40 / 1,000 listings

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## eBay Listings Scraper - Search Results to CSV, JSON and Excel

**Turn any eBay search into a clean structured dataset - with the shipping-inclusive total price already computed, and none of the empty filler rows.**

This **eBay scraper** pages through eBay search results and returns every listing as a row: title, price, shipping, total price, condition, item aspects, bids, location, item ID and a direct link. It runs on residential proxies, retries on eBay's challenge pages instead of reporting an empty result, and works across 5 eBay markets.

### ✅ What you get

- ✅ **Every listing from a search**, paged automatically up to your limit
- ✅ **`totalPrice` = price + shipping** - the number people forget to compare on
- ✅ **Normalized condition** - eBay's dozen labels collapsed to `new`, `open_box`, `refurbished`, `used`, `for_parts`
- ✅ **Item aspects** - size, brand, model, straight off the listing card
- ✅ **Auction detail** - listing type, bid count, Best Offer availability
- ✅ **5 markets** - US, UK, DE, AU, CA, with the right currency per market
- ✅ **eBay-side filters** - condition, auction vs Buy It Now, price range, free shipping, seller location
- ✅ **No empty rows.** eBay pads results with "shop by model" carousel tiles that carry a title and no price. Those are dropped, so you are never billed for a row with no data in it.
- ✅ **No Actor start fee.** You pay per listing, nothing else.

### 🔎 Why use this eBay scraper

- **Total price, not just price.** A $69.99 listing with $14.95 shipping loses to a $79 listing with free delivery. `totalPrice` makes the comparison correct by default.
- **Clean rows only.** Competing scrapers emit eBay's carousel tiles as listings - rows with a title and nothing else, which you pay for and then filter out. We drop them at parse time.
- **It does not lie about being blocked.** eBay serves its bot challenge and its sign-in redirect as HTTP 200. A naive scraper parses that as "0 listings found". This one detects the wall, rotates the proxy session and retries; a query it truly cannot fetch is reported in the run's `OUTPUT` and skipped, never billed.
- **Filters pushed to eBay.** Price, condition and listing-type filters are applied by eBay before we scrape, so you are not billed for rows you would have thrown away.

### 📊 What data you get

| Field | Type | Description |
|---|---|---|
| `query` | string | The search this row came from |
| `market` | string | `US`, `UK`, `DE`, `AU` or `CA` |
| `page` | integer | Results page the listing appeared on |
| `position` | integer | Position within that page |
| `itemId` | string | eBay item number |
| `title` | string | Listing title |
| `price` | number | Listing price (low end of a variant range) |
| `priceRaw` | string | The price exactly as eBay printed it |
| `shippingCost` | number | Shipping (`0` for free delivery, `null` if not stated) |
| `totalPrice` | number | `price + shippingCost` |
| `currency` | string | ISO currency of the market |
| `condition` | string | eBay's condition label |
| `conditionGroup` | string | Normalized: `new`, `open_box`, `refurbished`, `used`, `for_parts` |
| `itemAspects` | array | Remaining subtitle facts (size, brand, model) |
| `listingType` | string | `auction` or `buy_it_now` |
| `bidsCount` | integer | Number of bids (auctions only) |
| `bestOfferAvailable` | boolean | Seller accepts Best Offer |
| `itemLocation` | string | Where the item ships from |
| `authenticityGuarantee` | boolean | Covered by eBay Authenticity Guarantee |
| `url` | string | Direct link, tracking parameters stripped |
| `image` | string | Thumbnail URL |

### 👥 Who it's for

- **Resellers and arbitrage buyers** scanning a category for underpriced listings.
- **Pricing and e-commerce teams** tracking what competitors ask for a SKU, week over week.
- **Brand and IP teams** monitoring who is listing their product and from where.
- **Market researchers** measuring supply, condition mix and price spread in a category.
- **Developers** who need eBay search as a JSON endpoint without an eBay developer account.

### ⚙️ How to scrape eBay search results

1. Click **Try for free**.
2. Put your keywords into **Search queries** - one line per search.
3. Pick the **eBay market** you care about.
4. Set **Max listings per query** (100 is a good first run) and any filters - condition, price range, auction vs Buy It Now.
5. Run it.
6. Open the **Listings** view, then export to CSV, JSON or Excel, or pull it from the API.

### 🚀 Ready-made tasks

Prefilled versions of this Actor for common jobs. Open one, hit run, adjust the keyword - no configuration needed.

| Task | What it does |
|---|---|
| [Monitor sneaker prices on eBay](https://apify.com/webdata_labs/ebay-listings-scraper/examples/ebay-sneaker-price-monitor) | New sneaker listings over $40, with size and total cost, for resale sourcing |
| [Track used electronics prices on eBay](https://apify.com/webdata_labs/ebay-listings-scraper/examples/ebay-used-electronics-price-tracker) | Used Buy It Now electronics - what headphones, vacuums and gadgets go for now |
| [Find eBay auctions ending soon](https://apify.com/webdata_labs/ebay-listings-scraper/examples/ebay-auctions-ending-soon) | Auctions sorted by ending soonest, with current bid and bid count |
| [Export eBay UK listings to CSV](https://apify.com/webdata_labs/ebay-listings-scraper/examples/ebay-uk-listings-export) | eBay.co.uk results in GBP with delivery cost and seller location |
| [Scrape trading card listings on eBay](https://apify.com/webdata_labs/ebay-listings-scraper/examples/ebay-trading-card-listings) | Graded and raw card listings with asking price, condition and seller |

### 📥 Input

```json
{
  "searchQueries": ["nike dunk low panda", "sony wh-1000xm4"],
  "market": "US",
  "maxListingsPerSearch": 100,
  "condition": "new",
  "listingType": "buy_it_now",
  "minPrice": 40,
  "freeShippingOnly": false,
  "sort": "best_match"
}
````

| Field | Type | Default | Description |
|---|---|---|---|
| `searchQueries` | array | required | Keywords to search |
| `market` | string | `US` | `US`, `UK`, `DE`, `AU`, `CA` |
| `maxListingsPerSearch` | integer | `100` | Listings per query. `0` = no limit |
| `condition` | string | `any` | `new`, `open_box`, `refurbished`, `used`, `for_parts` |
| `listingType` | string | `all` | `auction` or `buy_it_now` |
| `minPrice` / `maxPrice` | integer | unset | Price filters applied by eBay |
| `freeShippingOnly` | boolean | `false` | Only free-delivery listings |
| `sellerLocation` | string | `any` | `domestic` or `worldwide` |
| `sort` | string | `best_match` | `newly_listed`, `ending_soonest`, `price_low`, `price_high` |

### 📤 Output

```json
{
  "query": "nike dunk low panda",
  "market": "US",
  "page": 1,
  "position": 6,
  "itemId": "356739122665",
  "title": "Nike Dunk Low Retro MEN'S White Black Panda DD1391-100 Sneakers Shoes",
  "price": 69.99,
  "priceRaw": "$69.99",
  "shippingCost": 5.93,
  "totalPrice": 75.92,
  "currency": "USD",
  "condition": "Brand New",
  "conditionGroup": "new",
  "itemAspects": ["US M 11 + more", "Nike"],
  "listingType": "buy_it_now",
  "bidsCount": null,
  "bestOfferAvailable": false,
  "itemLocation": "United States",
  "authenticityGuarantee": false,
  "url": "https://www.ebay.com/itm/356739122665",
  "image": "https://i.ebayimg.com/images/g/IHQAAOSwJk9n8DLx/s-l140.webp"
}
```

### 💵 How much does it cost to scrape eBay?

You are billed **per listing returned**, with **no Actor start fee**.

| Apify plan | Price per listing |
|---|---|
| Free | $0.0020 |
| Bronze / Silver | $0.0017 |
| Gold | $0.0014 |
| Platinum / Diamond | $0.0010 |

Costed example: the default run - one query, 100 listings - costs **$0.20** on the Free plan and **$0.10** on Platinum. Ten queries at 100 listings each is $2.00 / $1.00.

The levers that change your bill: `maxListingsPerSearch`, the number of `searchQueries`, and using the price/condition filters so eBay drops irrelevant listings before we ever return them.

### 🔁 Run it on the Apify platform

Schedule it daily or weekly to track a category over time, call it from the REST API or the JavaScript and Python clients, pipe results into Make, Zapier, Google Sheets, Airtable or a webhook, and get alerted if a run fails.

### ⚠️ Limits and caveats

- **eBay paginates to roughly 8,000 results per search.** Past that, narrow the query or add a price band.
- **No `sponsored` flag.** eBay renders the Sponsored badge as a transparent reversed string plus a base64 SVG, on every card. We could not read a reliable organic/promoted split, and would rather omit the field than ship a boolean that is `true` for every row.
- **Some listings omit a condition.** Those come back with `condition: null` and `conditionGroup: "unknown"` rather than a guess.

### 🧩 Related Actors

- **Mercari Sold Comps Scraper** - real sold prices and median comps for Mercari.
- **Poshmark Sold Comps Scraper** - sold prices for fashion resale.
- **Website Contact Extractor**, **Google Maps lead scrapers** - the rest of the WebData Labs lane.

### ❓ FAQ

**How many listings can I get per search?**
Up to roughly 8,000, which is eBay's own pagination limit. Set `maxListingsPerSearch` to whatever you need under that.

**Why is `shippingCost` sometimes null?**
Because eBay did not state a shipping price on that card - usually calculated-at-checkout shipping. `0` means genuinely free; `null` means unknown, and those rows are left out of any total you compute.

**Is scraping eBay legal?**
The Actor collects publicly visible listing data only, with no login and no personal data. You are responsible for how you use the data in your jurisdiction.

**Does it work outside the US?**
Yes - UK, Germany, Australia and Canada via the `market` input.

### 🛠️ Support

Something wrong with a run? Open an issue on the Actor and include the **run URL**, the **input JSON** you used, and what you expected.

# Actor input Schema

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

Keywords to search eBay for. Each query is paged through independently and its results are tagged with the query they came from.

## `market` (type: `string`):

Which eBay site to search. Prices and the reported currency follow the market you pick.

## `maxListingsPerSearch` (type: `integer`):

How many listings to return per query. Set 0 for no limit. You are billed per listing, so a large number means a large bill.

## `condition` (type: `string`):

Restrict the search to one condition, applied by eBay before we scrape.

## `listingType` (type: `string`):

Restrict to auctions or Buy It Now listings.

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

Drop listings below this price. Useful for cutting accessory and empty-box noise out of a search.

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

Drop listings above this price. Useful for cutting bulk-lot listings out of a search.

## `freeShippingOnly` (type: `boolean`):

Only return listings eBay marks as free delivery.

## `sellerLocation` (type: `string`):

Restrict by where the item ships from, relative to the market you chose.

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

How eBay orders the results we page through.

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

eBay refuses datacenter traffic, so residential proxies are required. Leave the default unless you know what you are changing.

## Actor input object example

```json
{
  "searchQueries": [
    "nike dunk low panda"
  ],
  "market": "US",
  "maxListingsPerSearch": 100,
  "condition": "any",
  "listingType": "all",
  "freeShippingOnly": false,
  "sellerLocation": "any",
  "sort": "best_match",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

No description

## `results` (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 = {
    "searchQueries": [
        "nike dunk low panda"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("webdata_labs/ebay-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 = { "searchQueries": ["nike dunk low panda"] }

# Run the Actor and wait for it to finish
run = client.actor("webdata_labs/ebay-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 '{
  "searchQueries": [
    "nike dunk low panda"
  ]
}' |
apify call webdata_labs/ebay-listings-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "eBay Listings Scraper - Search Results to CSV/JSON",
        "description": "[💵 $2 / 1K] Scrape eBay search results at scale: title, price, shipping, total price paid, condition, item aspects, bids, location, seller and image. 5 markets, condition and price filters, no start fee. Clean rows, no empty carousel tiles.",
        "version": "0.1",
        "x-build-id": "kS8P897XJuRJ0GeOU"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/webdata_labs~ebay-listings-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-webdata_labs-ebay-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/webdata_labs~ebay-listings-scraper/runs": {
            "post": {
                "operationId": "runs-sync-webdata_labs-ebay-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/webdata_labs~ebay-listings-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-webdata_labs-ebay-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",
                "required": [
                    "searchQueries"
                ],
                "properties": {
                    "searchQueries": {
                        "title": "Search queries",
                        "type": "array",
                        "description": "Keywords to search eBay for. Each query is paged through independently and its results are tagged with the query they came from.",
                        "default": [
                            "nike dunk low panda"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "market": {
                        "title": "eBay market",
                        "enum": [
                            "US",
                            "UK",
                            "DE",
                            "AU",
                            "CA"
                        ],
                        "type": "string",
                        "description": "Which eBay site to search. Prices and the reported currency follow the market you pick.",
                        "default": "US"
                    },
                    "maxListingsPerSearch": {
                        "title": "Max listings per query",
                        "minimum": 0,
                        "type": "integer",
                        "description": "How many listings to return per query. Set 0 for no limit. You are billed per listing, so a large number means a large bill.",
                        "default": 100
                    },
                    "condition": {
                        "title": "Item condition",
                        "enum": [
                            "any",
                            "new",
                            "open_box",
                            "refurbished",
                            "used",
                            "for_parts"
                        ],
                        "type": "string",
                        "description": "Restrict the search to one condition, applied by eBay before we scrape.",
                        "default": "any"
                    },
                    "listingType": {
                        "title": "Listing type",
                        "enum": [
                            "all",
                            "auction",
                            "buy_it_now"
                        ],
                        "type": "string",
                        "description": "Restrict to auctions or Buy It Now listings.",
                        "default": "all"
                    },
                    "minPrice": {
                        "title": "Minimum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop listings below this price. Useful for cutting accessory and empty-box noise out of a search."
                    },
                    "maxPrice": {
                        "title": "Maximum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop listings above this price. Useful for cutting bulk-lot listings out of a search."
                    },
                    "freeShippingOnly": {
                        "title": "Free shipping only",
                        "type": "boolean",
                        "description": "Only return listings eBay marks as free delivery.",
                        "default": false
                    },
                    "sellerLocation": {
                        "title": "Seller location",
                        "enum": [
                            "any",
                            "domestic",
                            "worldwide"
                        ],
                        "type": "string",
                        "description": "Restrict by where the item ships from, relative to the market you chose.",
                        "default": "any"
                    },
                    "sort": {
                        "title": "Sort order",
                        "enum": [
                            "best_match",
                            "newly_listed",
                            "ending_soonest",
                            "price_low",
                            "price_high"
                        ],
                        "type": "string",
                        "description": "How eBay orders the results we page through.",
                        "default": "best_match"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "eBay refuses datacenter traffic, so residential proxies are required. Leave the default unless you know what you are changing.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
