# fb-marketplace-scraper (`bkktor/fb-marketplace-scraper`) Actor

Better scraper for FB Marketplace

- **URL**: https://apify.com/bkktor/fb-marketplace-scraper.md
- **Developed by:** [Tor](https://apify.com/bkktor) (community)
- **Categories:** Agents, Automation
- **Stats:** 2 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 results

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

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

## Facebook Marketplace Scraper

Extract listings from Facebook Marketplace at scale — prices, titles, images, seller info, and more. Search any location, any category, without writing a single line of code.

### What it does

This Actor lets you scrape Facebook Marketplace search results and save them as structured data (JSON, CSV, Excel). Give it one or more search URLs, and it will collect every listing it finds — including items that don't appear until you scroll down.

**Typical use cases:**
- Price research and market comparisons
- Inventory monitoring (check if specific items are available)
- Lead generation for resellers and flippers
- Academic research on secondhand markets
- Real estate and vehicle listing aggregation

---

### What you get

Each scraped listing includes:

| Field | Description |
|---|---|
| `title` | Listing title |
| `price` | Listed price (raw string, e.g. "฿4,500" or "$120") |
| `location` | General location shown on the listing |
| `imageUrl` | Primary listing photo |
| `listingUrl` | Direct link to the Facebook listing |
| `sellerName` | Seller's display name |
| `postedAt` | Time posted (e.g. "2 hours ago") |
| `description` | Item description (where available) |

---

### Before you start — you need Facebook session cookies

Facebook Marketplace requires you to be logged in. This Actor uses your browser session cookies to authenticate — no password is ever stored or sent to us.

**Follow these steps to get your cookies (takes ~2 minutes):**

#### Step 1 — Install EditThisCookie

Install the free **EditThisCookie** Chrome extension:
👉 [https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg](https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg)

> **Alternative:** [Cookie-Editor](https://chrome.google.com/webstore/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm) works the same way.

#### Step 2 — Log in to Facebook

Go to [facebook.com](https://www.facebook.com) and log in normally. Make sure you're fully logged in and can see your feed.

#### Step 3 — Export your cookies

1. Click the **EditThisCookie** extension icon in your Chrome toolbar (puzzle piece → EditThisCookie)
2. Click the **Export** button (looks like a box with an arrow)
3. Your cookies are now copied to your clipboard as JSON

#### Step 4 — Paste into the Actor

In the **Facebook Session Cookies** field, paste the JSON you just copied.

> ⚠️ **Security note:** Your cookies give access to your Facebook account — treat them like a password. We recommend creating a **dedicated Facebook account** used only for scraping. Never share your cookies publicly.

---

### How to build a search URL

Instead of typing a URL from scratch, just use Facebook's own search:

1. Go to [facebook.com/marketplace](https://www.facebook.com/marketplace)
2. Search for what you want — use the filters (location, price range, category, condition)
3. Once the results load, **copy the URL from your browser address bar**
4. Paste it into the **Search URLs** field in the Actor

**Example URLs:**

````

## Search for iPhones in Bangkok

https://www.facebook.com/marketplace/bangkok/search/?query=iphone

## Search for cars under ฿300,000 in Bangkok

https://www.facebook.com/marketplace/bangkok/vehicles/?maxPrice=300000

## Search for furniture in London

https://www.facebook.com/marketplace/london/search/?query=sofa\&exact=false

````

You can add **multiple URLs** to scrape several searches in a single run.

---

### Input configuration

| Field | Required | Description |
|---|---|---|
| **Search URLs** | ✅ Yes | One or more Facebook Marketplace search URLs |
| **Max Listings Per Search** | No | How many results to collect per URL. Default: 50. Max: 1,000 |
| **Facebook Session Cookies** | ✅ Yes | Your exported browser cookies (see guide above) |
| **Proxy Configuration** | No | Defaults to Residential proxies — recommended for reliability |

#### Tips for best results

- **Start small:** Run with 10–20 results first to verify your cookies are working before scaling up
- **Residential proxies are required:** Facebook blocks datacenter IPs. The default proxy setting handles this automatically
- **Refresh cookies every few days:** Facebook sessions expire. If you get errors, re-export your cookies

---

### Proxy usage

This Actor defaults to **Residential proxies**, which are required for Facebook Marketplace. Datacenter proxies will be blocked.

Residential proxy usage is charged separately based on traffic consumed. For most searches, expect roughly **50–150 MB per 1,000 listings**.

---

### Cost estimation

| Listings | Estimated cost |
|---|---|
| 50 (default) | ~$0.01–0.05 |
| 500 | ~$0.10–0.30 |
| 5,000 | ~$1.00–3.00 |

*Costs vary based on how many images load and how heavily Facebook rate-limits your session.*

---

### Output example

```json
{
  "title": "iPhone 13 Pro Max 256GB",
  "price": "฿28,500",
  "location": "Bangkok, Thailand",
  "imageUrl": "https://scontent.xx.fbcdn.net/v/...",
  "listingUrl": "https://www.facebook.com/marketplace/item/123456789/",
  "sellerName": "John D.",
  "postedAt": "3 hours ago",
  "description": "Used for 1 year, no scratches, comes with original box and charger."
}
````

Results are available in the **Dataset** tab after the run. You can download them as **JSON, CSV, Excel, or XML**.

***

### Limitations

- **Facebook's terms of service:** Scraping Facebook is against their ToS. Use this tool responsibly and only for legitimate research purposes.
- **Login required:** Facebook Marketplace is not accessible without an account. You must provide valid session cookies.
- **Rate limiting:** Facebook may temporarily limit results if you scrape too aggressively. Use the `Max Listings Per Search` field to stay reasonable.
- **Dynamic content:** Listings load dynamically as you scroll — the Actor handles this automatically, but very large result sets may take several minutes.
- **Location availability:** Marketplace is available in most countries but not all. Some categories and filters vary by region.

***

### Troubleshooting

**❌ "No results found" or Actor finishes instantly**
→ Your cookies have expired. Re-export them from your browser and update the input.

**❌ Actor runs but returns empty listings**
→ Try reducing `Max Listings Per Search` to 20 and re-running. Facebook may be rate-limiting your session.

**❌ "Blocked" or captcha errors**
→ Make sure Residential proxies are enabled (the default). Datacenter proxies won't work.

**❌ Cookie export looks wrong**
→ Make sure you're exporting from **facebook.com** (not messenger.com or another subdomain). The JSON should be an array starting with `[`.

***

### Need help?

Open an issue in the Issues tab or contact us through the Apify platform. Please include:

- The search URL you were using
- The error message or unexpected behavior
- Whether your cookies were freshly exported

***

### Legal

This tool is provided for research and personal use. You are responsible for complying with Facebook's Terms of Service and applicable laws in your jurisdiction. The author does not condone scraping for spam, harassment, or any illegal purpose.

# Actor input Schema

## `searchUrls` (type: `array`):

One or more Facebook Marketplace search URLs to scrape.

How to build a search URL:

1. Go to facebook.com/marketplace
2. Use the search box and filters (location, category, price range, condition) to set up your search
3. Once the results load, copy the full URL from your browser address bar
4. Paste it into the URL field below and click Add

Example URLs:
https://www.facebook.com/marketplace/bangkok/search/?query=iphone
https://www.facebook.com/marketplace/london/search/?query=sofa
https://www.facebook.com/marketplace/newyork/vehicles/?maxPrice=10000

You can add multiple URLs to scrape several searches in a single run.

## `maxResultsPerSearch` (type: `integer`):

Maximum number of listings to collect per search URL.

Higher values use more proxy traffic and increase cost. Start with 20–50 to test your cookies are working before scaling up.

Estimated cost guide:

- 50 listings → ~$0.01–0.05
- 500 listings → ~$0.10–0.30
- 5,000 listings → ~$1.00–3.00

## `facebookCookies` (type: `array`):

Your Facebook browser session cookies. Required — Facebook Marketplace is not accessible without being logged in.

How to get your cookies (takes ~2 minutes):

1. Install the EditThisCookie Chrome extension: https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg
2. Go to facebook.com and log in normally
3. Click the EditThisCookie extension icon in your Chrome toolbar
4. Click the Export button (box with an arrow icon)
5. Your cookies are now copied to your clipboard as JSON
6. Paste the JSON into this field

⚠️ Security warning: Your cookies give full access to your Facebook account — treat them like a password. We strongly recommend using a dedicated Facebook account created only for scraping. Never share your cookies publicly.

## `fetchListingDetails` (type: `boolean`):

Visit each listing's detail page to extract seller name, time posted, and item description.

⚠️ This loads one additional page per listing — it will significantly increase run time and proxy cost. Enable only if you need those fields.

When enabled, add "sellerName", "postedAt", and "description" to the Output Fields list.

## `outputFields` (type: `array`):

Which fields to include in the output dataset. Remove any fields you don't need to keep your dataset clean.

All available fields:

- listing\_id — unique Facebook listing ID
- title — listing title
- price — numeric price (e.g. 4500)
- currency — currency symbol (e.g. ฿, $, €)
- imageUrl — product photo URL
- location — location shown on the card
- link — direct URL to the listing
- original\_text — all raw text from the listing card
- searchUrl — the search URL that produced this listing
- searchIndex — index of the search URL in your input list
- scrape\_timestamp — ISO timestamp of when it was scraped

Only available when Fetch Listing Details is enabled:

- sellerName — seller's display name
- postedAt — time since listed (e.g. "3 hours ago")
- description — full item description

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

Proxy settings. Residential proxies are required — Facebook blocks datacenter IPs. The default setting handles this automatically.

## Actor input object example

```json
{
  "searchUrls": [
    {
      "url": "https://www.facebook.com/marketplace/bangkok/search/?query=iphone"
    }
  ],
  "maxResultsPerSearch": 50,
  "facebookCookies": [
    {
      "name": "c_user",
      "value": "YOUR_FB_USER_ID"
    },
    {
      "name": "xs",
      "value": "YOUR_FB_XS_TOKEN"
    },
    {
      "name": "datr",
      "value": "YOUR_DATR_VALUE"
    }
  ],
  "fetchListingDetails": false,
  "outputFields": [
    "listing_id",
    "title",
    "price",
    "currency",
    "imageUrl",
    "location",
    "link",
    "scrape_timestamp"
  ],
  "proxyConfig": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

All extracted marketplace listings. Download as JSON, CSV, or Excel from the Dataset tab.

# 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 = {
    "searchUrls": [
        {
            "url": "https://www.facebook.com/marketplace/bangkok/search/?query=iphone"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("bkktor/fb-marketplace-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 = { "searchUrls": [{ "url": "https://www.facebook.com/marketplace/bangkok/search/?query=iphone" }] }

# Run the Actor and wait for it to finish
run = client.actor("bkktor/fb-marketplace-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 '{
  "searchUrls": [
    {
      "url": "https://www.facebook.com/marketplace/bangkok/search/?query=iphone"
    }
  ]
}' |
apify call bkktor/fb-marketplace-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "fb-marketplace-scraper",
        "description": "Better scraper for FB Marketplace",
        "version": "0.0",
        "x-build-id": "KuA8tXoe25KS0YsEp"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/bkktor~fb-marketplace-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-bkktor-fb-marketplace-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/bkktor~fb-marketplace-scraper/runs": {
            "post": {
                "operationId": "runs-sync-bkktor-fb-marketplace-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/bkktor~fb-marketplace-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-bkktor-fb-marketplace-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": [
                    "searchUrls"
                ],
                "properties": {
                    "searchUrls": {
                        "title": "Search URLs",
                        "type": "array",
                        "description": "One or more Facebook Marketplace search URLs to scrape.\n\nHow to build a search URL:\n1. Go to facebook.com/marketplace\n2. Use the search box and filters (location, category, price range, condition) to set up your search\n3. Once the results load, copy the full URL from your browser address bar\n4. Paste it into the URL field below and click Add\n\nExample URLs:\nhttps://www.facebook.com/marketplace/bangkok/search/?query=iphone\nhttps://www.facebook.com/marketplace/london/search/?query=sofa\nhttps://www.facebook.com/marketplace/newyork/vehicles/?maxPrice=10000\n\nYou can add multiple URLs to scrape several searches in a single run.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxResultsPerSearch": {
                        "title": "Max Listings Per Search",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of listings to collect per search URL.\n\nHigher values use more proxy traffic and increase cost. Start with 20–50 to test your cookies are working before scaling up.\n\nEstimated cost guide:\n- 50 listings → ~$0.01–0.05\n- 500 listings → ~$0.10–0.30\n- 5,000 listings → ~$1.00–3.00",
                        "default": 50
                    },
                    "facebookCookies": {
                        "title": "Facebook Session Cookies",
                        "type": "array",
                        "description": "Your Facebook browser session cookies. Required — Facebook Marketplace is not accessible without being logged in.\n\nHow to get your cookies (takes ~2 minutes):\n1. Install the EditThisCookie Chrome extension: https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg\n2. Go to facebook.com and log in normally\n3. Click the EditThisCookie extension icon in your Chrome toolbar\n4. Click the Export button (box with an arrow icon)\n5. Your cookies are now copied to your clipboard as JSON\n6. Paste the JSON into this field\n\n⚠️ Security warning: Your cookies give full access to your Facebook account — treat them like a password. We strongly recommend using a dedicated Facebook account created only for scraping. Never share your cookies publicly."
                    },
                    "fetchListingDetails": {
                        "title": "Fetch Listing Details",
                        "type": "boolean",
                        "description": "Visit each listing's detail page to extract seller name, time posted, and item description.\n\n⚠️ This loads one additional page per listing — it will significantly increase run time and proxy cost. Enable only if you need those fields.\n\nWhen enabled, add \"sellerName\", \"postedAt\", and \"description\" to the Output Fields list.",
                        "default": false
                    },
                    "outputFields": {
                        "title": "Output Fields",
                        "type": "array",
                        "description": "Which fields to include in the output dataset. Remove any fields you don't need to keep your dataset clean.\n\nAll available fields:\n- listing_id — unique Facebook listing ID\n- title — listing title\n- price — numeric price (e.g. 4500)\n- currency — currency symbol (e.g. ฿, $, €)\n- imageUrl — product photo URL\n- location — location shown on the card\n- link — direct URL to the listing\n- original_text — all raw text from the listing card\n- searchUrl — the search URL that produced this listing\n- searchIndex — index of the search URL in your input list\n- scrape_timestamp — ISO timestamp of when it was scraped\n\nOnly available when Fetch Listing Details is enabled:\n- sellerName — seller's display name\n- postedAt — time since listed (e.g. \"3 hours ago\")\n- description — full item description",
                        "default": [
                            "listing_id",
                            "title",
                            "price",
                            "currency",
                            "imageUrl",
                            "location",
                            "link",
                            "scrape_timestamp"
                        ]
                    },
                    "proxyConfig": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Residential proxies are required — Facebook blocks datacenter IPs. The default setting handles this automatically.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
