# Bluesky Email Scraper (`scraperoka/bluesky-email-scraper`) Actor

📧 Bluesky Email Scraper extracts verified email addresses from Bluesky profiles for fast lead building. 🚀 Supports B2B outreach, sales & marketing research. Get targeted contact lists quickly and efficiently—stay compliant.

- **URL**: https://apify.com/scraperoka/bluesky-email-scraper.md
- **Developed by:** [Scraperoka](https://apify.com/scraperoka) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.01 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

### Bluesky Email Scraper 🎯

Manually visiting profiles to collect emails wastes hours you don’t have. **Bluesky Email Scraper** quickly extracts email addresses from publicly available Bluesky bios and posts tied to your keywords. This Bluesky email scraper tool is ideal for marketers, recruiters, and growth teams looking to build a targeted outreach list at scale—thousands of records can be captured in a single run (depending on your limits and keyword breadth).

---

### What You Get: Sample Output

Here’s a sample record from a single run:

```json
{
  "network": "Bluesky.com",
  "keyword": "founder",
  "title": "Operations & Growth",
  "description": "Building startups. Contact: jane@startupexamples.com — DM for collaborations.",
  "url": "https://example.com/some-profile-or-page",
  "email": "jane@startupexamples.com",
  "proxyGroups": ["cost-effective"],
  "status": "ok",
  "error_message": null
}
````

Output Fields table:

| Field | Type | What It Tells You |
|---|---|---|
| `network` | string | Confirms the source network the email came from (always `Bluesky.com`). |
| `keyword` | string | Which keyword triggered the profile/posts page that contained the email. Useful for organizing results by outreach theme. |
| `title` | string | The page or result title near the email—helpful for quick relevance checks. |
| `description` | string | The surrounding text where the email was detected (great for context during lead qualification). |
| `url` | string | The related URL for the record, so you can trace where the email appeared. |
| `email` | string | The extracted email address you can use for outreach or enrichment. |
| `proxyGroups` | array | Proxy configuration used for the run (useful for debugging or tracking consistency across runs). |
| `error_message` | null or string | Set on failure if an error occurs during extraction/push; otherwise `null` in successful rows. |

Export your dataset as JSON, CSV, or Excel — straight from the Apify dashboard.

***

### Why Bluesky Email Scraper?

There are a lot of ways to pull data from Bluesky for prospecting—here’s what sets Bluesky Email Scraper apart.

#### Keyword-first discovery for targeted outreach

Bluesky Email Scraper uses your `keywords` to find relevant public posts and bios, then extracts emails from the matched content. If you’re trying to create a focused Bluesky outreach email list, this keyword-driven approach keeps results aligned to your campaign.

#### Built-in email-domain filtering (custom targeting)

With `customDomains`, you can restrict results to specific email domains (for example, `@gmail.com`). This makes it easier to export email addresses Bluesky users actually use for your desired audience profile.

#### Resilient runs with retries and fallbacks

The actor is designed for resilience when public pages respond slowly or block repeated access. It includes retry behavior and can continue harvesting as reliably as possible within your run limits.

#### Controlled volume to manage time and cost

You can cap collection with `maxEmails`, which helps avoid runaway runs. This is especially useful when you’re testing a Bluesky email scraper tool workflow before scaling up to broader searches.

***

### Configuring Your Run

Drop this into your `input.json` to get started:

```json
{
  "keywords": ["founder", "marketing"],
  "location": "",
  "platform": "Bluesky",
  "customDomains": ["@gmail.com"],
  "maxEmails": 20,
  "engine": "cost-effective",
  "proxyConfiguration": {}
}
```

Input Parameters table:

| Parameter | Required | What It Does |
|---|---|---|
| `keywords` | ✅ | A list of keywords to search for. These keywords are used to find relevant public Bluesky content where emails may appear. |
| `location` | ⬜ | Location to filter search results. Leave it empty to avoid location filtering. |
| `platform` | ⬜ | Select platform. The only available option in this actor is `Bluesky`. |
| `customDomains` | ⬜ | List of custom email domains used to target extracted emails (for example, `@gmail.com`). |
| `maxEmails` | ⬜ | Maximum number of emails to collect. The run stops once this limit is reached (higher values can take longer and don’t guarantee reaching the cap). |
| `engine` | ⬜ | Choose scraping engine: `cost-effective` or `legacy`. The default is `cost-effective`. |
| `proxyConfiguration` | ⬜ | Configure proxies for this Actor. |

***

### Core Capabilities

#### Keyword-driven Bluesky profile email extraction

Bluesky Email Scraper searches using your `keywords`, then extracts email addresses found in publicly visible bios and related content. This makes it a practical Bluesky profile email extraction workflow for lead generation email research.

#### Domain-targeted results with `customDomains`

Use `customDomains` to focus on specific domains, so your export Bluesky emails are more likely to match your ideal contact profile. This is a simple way to improve outbound relevance before you even touch your CRM.

#### Robust pagination with run-stopping controls

The actor paginates through results and stops when it reaches your `maxEmails` limit. That helps keep your automated Bluesky email harvesting predictable for marketing teams and researchers on tight timelines.

#### Real-time dataset pushing

Each time an email is found, the actor pushes a structured record to the Apify dataset. This means you can monitor progress and start reviewing results before the run ends.

#### Works with proxy configuration for reliability

You can supply `proxyConfiguration`, and the actor supports a selectable scraping engine mode for different reliability and performance tradeoffs. This helps keep your automated extraction stable for larger jobs.

***

### Who Gets the Most Out of This

Here's how different teams put Bluesky Email Scraper to work:

**Sales Development Reps** — They use keywords to match prospect categories (like “founder” or “marketing”), then export a clean outreach list of emails that match chosen domains. The outcome is faster prospecting and a list that’s already scoped to an outreach theme.

**Growth and Performance Marketers** — They run repeated tests with different keyword sets and custom domain filters to compare which segments produce usable contacts. The outcome is a more targeted Bluesky outreach email list with less manual cleaning.

**Recruiters and Talent Sourcing Specialists** — They search for roles or industries via keywords and extract emails from publicly available bios. The outcome is quicker contact building for outreach campaigns without spending hours browsing profiles one by one.

**Freelance Researchers & Data Analysts** — They pull structured datasets for lead research and reporting, including the surrounding `description` and source `url` context for verification. The outcome is a reproducible dataset you can analyze, enrich, or validate downstream.

**Automation & Integration Developers** — They trigger Bluesky Email Scraper and feed dataset results into their pipelines via Apify dataset access patterns. The outcome is an automated process for extracting contact info from publicly available Bluesky pages.

***

### Step-by-Step: How to Use It

No coding needed. Here's how to run Bluesky Email Scraper from start to finish:

1. **Open the actor on Apify** — go to [console.apify.com](https://console.apify.com) and open **Bluesky Email Scraper**.
2. **Enter your inputs** — set `keywords` (required), and optionally `location`, `customDomains`, `maxEmails`, `engine`, and `proxyConfiguration`.
3. **Configure proxy settings** — if you have a proxy preference, set it in `proxyConfiguration` to improve reliability for larger runs.
4. **Hit Run and watch the live log** — monitor progress in the actor logs while emails are discovered and pushed.
5. **View results in the dataset tab** — open the Apify dataset to review each extracted record (including `url`, `description`, and `email`).
6. **Export as JSON, CSV, or Excel** — download your dataset in the format that matches your workflow.

The whole process takes under 5 minutes to set up.

***

### Integrations & Export Options

Once your data is collected, Bluesky Email Scraper plugs directly into your existing workflow.

Export formats available via the Apify dataset tab include JSON, CSV, and Excel—so you can drop results straight into Sheets, BI tools, or a spreadsheet-based workflow.

You can also connect the actor to automation and orchestration flows through Apify’s API access (see [apify.com/docs/api](https://apify.com/docs/api)), and use Apify-supported mechanisms like webhooks and no-code automation (for example, Zapier or Make) to route results into downstream systems.

For deeper connectivity details and additional integration paths, refer to Apify documentation.

***

### Pricing & Free Trial

Bluesky Email Scraper runs on the Apify platform, which offers a **free tier** — no credit card required to get started. Free tier usage is typically enough for several test runs, so you can validate keyword + `customDomains` targeting before scaling.

For larger workflows, runs are priced using Apify’s pay-as-you-go model (billed based on Actor compute unit usage). You can scale up when your process is producing the volume and quality you need—without worrying about per-result markup on your side.

Start for free at [apify.com](https://apify.com) and scale when you're ready.

***

### Reliability & Performance

| What We Handle | How |
|---|---|
| Public web variability | Includes retries and fallbacks to keep extraction moving when pages don’t respond as expected. |
| Repeat-run reliability | Supports proxy configuration for more stable scraping at scale. |
| Output consistency | Pushes structured records for each found email into the Apify dataset. |
| Run volume control | Uses your `maxEmails` cap to stop when enough emails are collected. |
| Long runs | You can adjust run behavior for larger searches by using Run Options in Apify (timeout guidance is noted in the actor input description). |

**Limitations:** The actor collects emails from publicly available sources and is intended for public-facing content. It can only extract what’s actually present in those bios/posts, so results may vary based on keyword coverage and how contact info is published.

For enterprise-scale runs, contact us to discuss custom configurations.

***

### Frequently Asked Questions

#### Is there a free plan or trial?

Yes. Apify offers a free tier so you can try Bluesky Email Scraper before committing to paid runs. This is a great way to test your `keywords`, `customDomains`, and `maxEmails` setup on a small batch first.

#### Do I need to log in to Bluesky to use this?

No. The actor is designed to extract from publicly available sources and does not require you to log in. If an email isn’t present in the visible bio or related public content, it won’t be found.

#### How accurate is the data?

Accuracy depends on what the profile owner has published publicly. Bluesky Email Scraper extracts email addresses it detects from the text context where they appear, so results reflect what’s available in the public content.

#### How many results can I get per run?

You can control output size using `maxEmails`. The actor will stop once this number is reached, but higher values don’t guarantee exactly hitting the cap because it depends on how many matching emails are found.

#### How often is the data updated / how fresh is it?

Results are as fresh as the moment you run the actor, since it scrapes publicly available data during the execution. If you need fresher data, run the actor again on the schedule you choose.

#### Is this legal? Does it comply with GDPR / CCPA?

This actor is meant for collecting **publicly available data**. Compliance with GDPR, CCPA, platform Terms of Service, and local regulations is your responsibility when using or storing the extracted emails.

#### Can I export results to Google Sheets or Excel?

Yes. You can export from the Apify dataset tab in common formats such as JSON, CSV, or Excel. From there, it’s easy to move the data into Google Sheets or your preferred spreadsheet/BI tool.

#### Can I run this on a schedule automatically?

Yes. You can schedule runs using Apify scheduling options (set it once and let it run automatically). This is useful for ongoing Bluesky lead generation email workflows.

#### Can I access this via API?

Yes. You can access results programmatically via the Apify API—ideal for building an automated pipeline around automated Bluesky email extraction. See [apify.com/docs/api](https://apify.com/docs/api) for details.

#### What happens if the actor hits an error?

If an error occurs, the actor is designed to handle issues with resilience features (including retries and fallbacks) and continues as appropriate within the run. You’ll see outcome rows (or failure details where applicable) in the dataset and actor logs.

***

### Need Help or Have a Request?

Got a question about Bluesky Email Scraper or want a new feature added? Reach out at <dataforleads@gmail.com>. We actively maintain this actor and respond to feedback. If you want improvements like better exports, broader keyword handling, or webhook-style automation after completion, tell us what you’re building.

***

### Disclaimer & Responsible Use

*Bluesky Email Scraper is the fastest, most reliable way to extract email addresses from publicly available Bluesky bios and posts—start your free run today.*

This actor collects **publicly available data**. It does not access private accounts, login-gated content, or password-protected pages. You are responsible for complying with GDPR, CCPA, platform Terms of Service, and any applicable local regulations. For data removal requests, contact <dataforleads@gmail.com>. Use responsibly, ethically, and only for lawful purposes.

# Actor input Schema

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

A list of keywords to search for.

## `location` (type: `string`):

Location to filter search results.

## `platform` (type: `string`):

Select platform.

## `customDomains` (type: `array`):

List of custom email domains

## `maxEmails` (type: `integer`):

Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.

## `engine` (type: `string`):

Choose scraping engine. 🚀 Cost Effective (New): Uses residential proxies with async requests for faster, cheaper scraping. 🔧 Legacy: Uses GOOGLE\_SERP proxy with traditional selectors - more reliable but slower and more expensive.

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

Configure proxies for this Actor.

## Actor input object example

```json
{
  "keywords": [
    "founder",
    "marketing"
  ],
  "location": "",
  "platform": "Bluesky",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 20,
  "engine": "cost-effective"
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

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

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "founder",
        "marketing"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ]
};

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

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "keywords": [
        "founder",
        "marketing",
    ],
    "location": "",
    "customDomains": ["@gmail.com"],
}

# Run the Actor and wait for it to finish
run = client.actor("scraperoka/bluesky-email-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "keywords": [
    "founder",
    "marketing"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ]
}' |
apify call scraperoka/bluesky-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Bluesky Email Scraper",
        "description": "📧 Bluesky Email Scraper extracts verified email addresses from Bluesky profiles for fast lead building. 🚀 Supports B2B outreach, sales & marketing research. Get targeted contact lists quickly and efficiently—stay compliant.",
        "version": "0.0",
        "x-build-id": "Kqle0PfqX7l48BNpV"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraperoka~bluesky-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraperoka-bluesky-email-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/scraperoka~bluesky-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scraperoka-bluesky-email-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/scraperoka~bluesky-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scraperoka-bluesky-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keywords"
                ],
                "properties": {
                    "keywords": {
                        "title": "Keywords",
                        "type": "array",
                        "description": "A list of keywords to search for.",
                        "default": [
                            "founder",
                            "marketing"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Location to filter search results.",
                        "default": ""
                    },
                    "platform": {
                        "title": "Platform",
                        "enum": [
                            "Bluesky"
                        ],
                        "type": "string",
                        "description": "Select platform.",
                        "default": "Bluesky"
                    },
                    "customDomains": {
                        "title": "Custom Email Domains",
                        "type": "array",
                        "description": "List of custom email domains",
                        "default": [
                            "@gmail.com"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxEmails": {
                        "title": "Max Emails",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.",
                        "default": 20
                    },
                    "engine": {
                        "title": "Engine",
                        "enum": [
                            "cost-effective",
                            "legacy"
                        ],
                        "type": "string",
                        "description": "Choose scraping engine. 🚀 Cost Effective (New): Uses residential proxies with async requests for faster, cheaper scraping. 🔧 Legacy: Uses GOOGLE_SERP proxy with traditional selectors - more reliable but slower and more expensive.",
                        "default": "cost-effective"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Configure proxies for this Actor."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
