# Stack Overflow Question Monitor and Tag Alert Feed (`scrapemint/stackoverflow-lead-monitor`) Actor

Watches Stack Overflow for questions matching your tags, keywords, score floor, and age window. Dedupes across runs. Output JSON, CSV, or Excel. For devtool founders, DevRel teams, and technical marketers turning Stack Overflow intent into pipeline.

- **URL**: https://apify.com/scrapemint/stackoverflow-lead-monitor.md
- **Developed by:** [Kennedy Mutisya](https://apify.com/scrapemint) (community)
- **Categories:** Automation, Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## Stack Overflow Scraper: Monitor Tags, Keywords, and New Questions

Scrape Stack Overflow questions by tag, keyword, or search query. Export titles, bodies, tags, authors, scores, and timestamps to JSON, CSV, or Excel. Deduped across runs so you only see new questions. No login. No API key. Pay per question.

**Keywords this actor is built for:** Stack Overflow scraper, Stack Overflow API data, scrape Stack Overflow questions, Stack Overflow tag monitor, Stack Exchange scraper, developer lead generation, Stack Overflow JSON export.

---

### What you get in 30 seconds

```mermaid
flowchart LR
    A[Your tags<br/>python, langchain] --> B[Actor polls<br/>Stack Exchange API]
    B --> C[Filter by keyword,<br/>score, age, answered]
    C --> D[Deduped JSON feed<br/>of new questions only]
````

Paste a tag. Pick a filter. Get a clean JSON feed of new Stack Overflow questions every run. That is the whole product.

***

### Who this Stack Overflow scraper is for

| You are a... | You use this to... |
|---|---|
| **Devtool founder** | Find every "how do I use X" question in your category and turn it into warm outbound |
| **DevRel engineer** | Build a queue of unanswered questions in your tag, ready for a helpful reply |
| **Technical marketer** | Mine real searcher language for blog posts, docs, and landing pages |
| **Support team** | Catch user pain on Stack Overflow before it hits GitHub issues or Twitter |
| **Product manager** | Track tag volume week over week to see when a category is heating up |

***

### How it works

```mermaid
flowchart TD
    A[Input: tags,<br/>search queries, keywords] --> B[Stack Exchange API v2.3]
    B --> C[Paginate 100 per page]
    C --> D{Filters}
    D --> E[Keyword match]
    D --> F[Score floor]
    D --> G[Age window]
    D --> H[Unanswered only]
    E & F & G & H --> I[Push to Apify dataset]
    I --> J[Store ID in<br/>SEEN_IDS key value store]
    J -.->|Next run| K[Skip seen IDs]
```

1. You pass tags, search queries, or both.
2. Actor calls the official Stack Exchange API v2.3 with pagination.
3. Results are filtered by your keyword list, score floor, age window, and answered state.
4. Matching questions get pushed to the dataset.
5. Every question ID is stored in a named key value store so future runs skip duplicates.

Schedule it every hour on Apify Scheduler and you get a deduped stream of new questions. Nothing else.

***

### Quick start

**Watch the `langchain` tag for new questions about vectors or embeddings:**

```json
{
  "tags": ["python", "langchain"],
  "keywords": ["vector", "embedding"],
  "maxAgeHours": 168,
  "onlyUnanswered": true
}
```

**Outbound list for postgres performance pain:**

```json
{
  "tags": ["postgresql", "performance"],
  "searchQueries": ["postgres slow query"],
  "onlyNoAcceptedAnswer": true,
  "maxAgeHours": 72,
  "maxQuestionsTotal": 100
}
```

**DevRel answer queue on a sibling Stack Exchange site:**

```json
{
  "tags": ["kubernetes"],
  "site": "devops.stackexchange",
  "onlyUnanswered": true
}
```

Or run it from the command line:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapemint~stackoverflow-lead-monitor/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"tags":["langchain"],"keywords":["vector"],"onlyUnanswered":true}'
```

***

### This scraper vs the alternatives

```mermaid
flowchart LR
    M[Manual tag checking] --> X[20 questions per day,<br/>miss 80% of volume]
    S[SaaS intent tools] --> Y[$99 to $499 per month,<br/>dashboard only]
    A[This Apify actor] --> Z[Pay per question,<br/>raw JSON, your webhook]
```

| Feature | Manual checking | SaaS tools | This actor |
|---|---|---|---|
| Pricing | Free, but costs time | $99 to $499 per month | Pay per question, first 50 per run free |
| Tag limit | Unlimited, if you click them all | 10 to 50 per tier | Unlimited |
| Unanswered filter | Sort by no answers | Premium tier only | Built in |
| Other Stack Exchange sites | Tab hopping | Stack Overflow only | Any site (DBA, ServerFault, Super User) |
| Scheduling | You | Hourly | Every 10 minutes |
| Dedup across runs | Your memory | Yes, vendor owned | Yes, in your key value store |
| Output | Browser tab | Dashboard or CSV | JSON, CSV, Excel, webhook, API |

***

### Sample output

One question record looks like this:

```json
{
  "questionId": 78394512,
  "title": "How do I chunk a PDF for RAG with LangChain?",
  "body": "I'm trying to build a RAG pipeline...",
  "link": "https://stackoverflow.com/questions/78394512/",
  "tags": ["python", "langchain", "vector-database", "rag"],
  "score": 2,
  "viewCount": 47,
  "answerCount": 0,
  "isAnswered": false,
  "hasAcceptedAnswer": false,
  "creationDate": "2026-04-19T14:22:00.000Z",
  "author": {
    "userId": 123456,
    "displayName": "devfounder99",
    "reputation": 347,
    "profileUrl": "https://stackoverflow.com/users/123456/"
  },
  "matchedKeywords": ["vector", "langchain"],
  "sourceKind": "tag",
  "sourceValue": "langchain"
}
```

Every field ready to drop into a CRM, a Slack channel, or a Notion database.

***

### Pricing

First 50 questions per run are free. After that you pay per extracted question. No seat licenses, no tier gating. A 200 question run lands under $1 on the Apify free plan.

***

### FAQ

**Do I need a Stack Overflow account to use this scraper?**
No. The Stack Exchange API is fully public. You run it without signing in anywhere.

**What is the Stack Exchange API rate limit?**
300 calls per day anonymously. That covers hourly runs across 4 or 5 tags. For more, get a free key from `stackapps.com/apps/oauth/register` and the cap rises to 10,000 per day.

**Can I scrape Stack Exchange sites other than Stack Overflow?**
Yes. Set `site` to any Stack Exchange slug: `serverfault`, `superuser`, `dba`, `askubuntu`, `datascience`, `ai.stackexchange`, `devops.stackexchange`, `security.stackexchange`.

**How do I find a Stack Overflow tag slug?**
Open the tag page. The URL ends with the slug. Example: `stackoverflow.com/questions/tagged/langchain` means the slug is `langchain`.

**Does the actor pull full question bodies?**
Yes by default. Turn off `includeBody` if you only need titles and metadata and want to save dataset space.

**Can I filter for unanswered questions only?**
Yes. Set `onlyUnanswered: true`. For devtool lead gen this is the best filter since unanswered questions are live intent.

**What is the difference between `onlyUnanswered` and `onlyNoAcceptedAnswer`?**
`onlyUnanswered` returns questions with zero answers. `onlyNoAcceptedAnswer` returns questions that may have answers but none were accepted. Both are strong lead gen signals.

**Does it dedupe across runs?**
Yes. Question IDs are stored in the key value store under `SEEN_IDS`. Set `dedupe: false` to disable.

**Can I run it on a schedule?**
Yes. Apify Scheduler goes down to 1 minute. Hourly covers most use cases.

**Is scraping Stack Overflow allowed?**
This actor uses the official Stack Exchange API v2.3, which is rate limited and public by design. No HTML scraping, no terms of service risk.

***

### Related Scrapemint actors

- **Hacker News Scraper** for stories and comments matching keywords
- **Reddit Lead Monitor** for subreddit and keyword mention tracking
- **Upwork Opportunity Alert** for freelance lead generation
- **Product Hunt Launch Tracker** for competitor launch monitoring
- **App Store Review Scraper** for mobile apps on iOS and Android
- **Trustpilot Brand Reputation** for DTC and ecommerce brands
- **Google Reviews Intelligence** for local businesses
- **Indeed Company Review Intelligence** for employer branding
- **Amazon Review Intelligence** for product review mining

Stack these to cover every public developer and customer conversation surface one brand touches.

# Actor input Schema

## `tags` (type: `array`):

Stack Overflow tag slugs. Example: python, react, postgresql, vector-database, langchain. Find any tag slug in the URL of its tag page. Leave empty if using searchQueries instead.

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

Full text queries against Stack Overflow titles and bodies. Example: vector database alternative, langchain memory leak. Leave empty if only using tags.

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

Only questions whose title or body contains any of these keywords are kept. Case insensitive. Leave empty to keep everything the tag or query returned.

## `site` (type: `string`):

The Stack Exchange site to query. stackoverflow covers programming. Other popular sites: serverfault, superuser, dba, askubuntu, datascience, ai.stackexchange, devops.stackexchange.

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

creation orders by newest first. activity orders by last activity (new answers, edits). votes orders by score. relevance is for search queries.

## `maxAgeHours` (type: `integer`):

Skip questions older than this many hours. Applied locally after API returns results. 0 keeps everything.

## `minScore` (type: `integer`):

Skip questions with a score below this. Zero score is the default state for brand new questions. Negative is for downvoted ones.

## `onlyUnanswered` (type: `boolean`):

Keep only questions with zero answers. Strong lead gen signal for devtool founders since these are open intent.

## `onlyNoAcceptedAnswer` (type: `boolean`):

Keep only questions that have not yet accepted an answer. Includes questions with answers that did not resolve the asker's issue.

## `includeBody` (type: `boolean`):

Pull the full question body with formatting stripped. Turn off to save dataset space if you only need titles and tags.

## `maxQuestionsPerSource` (type: `integer`):

Per source cap. Stack Exchange API returns up to 100 per page, the actor paginates until this cap or the end of results.

## `maxQuestionsTotal` (type: `integer`):

Hard cap on questions pushed to the dataset per run. Controls cost.

## `dedupe` (type: `boolean`):

Skip question IDs already pushed on previous runs. IDs are stored in the key value store under SEEN\_IDS. Turn off to return every match on every run.

## `apiKey` (type: `string`):

Without a key you get 300 API calls per day. With a free key from stackapps.com/apps/oauth/register you get 10,000 per day. Leave blank if your schedule fits under 300 calls.

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

Apify proxy settings. The Stack Exchange API is public and rate friendly, a proxy is only needed if you are running many actors from one IP.

## Actor input object example

```json
{
  "tags": [
    "python",
    "langchain"
  ],
  "site": "stackoverflow",
  "sortBy": "creation",
  "maxAgeHours": 168,
  "minScore": 0,
  "onlyUnanswered": false,
  "onlyNoAcceptedAnswer": false,
  "includeBody": true,
  "maxQuestionsPerSource": 100,
  "maxQuestionsTotal": 200,
  "dedupe": true
}
```

# 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 = {
    "tags": [
        "python",
        "langchain"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapemint/stackoverflow-lead-monitor").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 = { "tags": [
        "python",
        "langchain",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("scrapemint/stackoverflow-lead-monitor").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 '{
  "tags": [
    "python",
    "langchain"
  ]
}' |
apify call scrapemint/stackoverflow-lead-monitor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapemint/stackoverflow-lead-monitor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Stack Overflow Question Monitor and Tag Alert Feed",
        "description": "Watches Stack Overflow for questions matching your tags, keywords, score floor, and age window. Dedupes across runs. Output JSON, CSV, or Excel. For devtool founders, DevRel teams, and technical marketers turning Stack Overflow intent into pipeline.",
        "version": "0.1",
        "x-build-id": "EzhBe9pDThxd6meS2"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapemint~stackoverflow-lead-monitor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapemint-stackoverflow-lead-monitor",
                "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/scrapemint~stackoverflow-lead-monitor/runs": {
            "post": {
                "operationId": "runs-sync-scrapemint-stackoverflow-lead-monitor",
                "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/scrapemint~stackoverflow-lead-monitor/run-sync": {
            "post": {
                "operationId": "run-sync-scrapemint-stackoverflow-lead-monitor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "tags": {
                        "title": "Tags to watch",
                        "type": "array",
                        "description": "Stack Overflow tag slugs. Example: python, react, postgresql, vector-database, langchain. Find any tag slug in the URL of its tag page. Leave empty if using searchQueries instead.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchQueries": {
                        "title": "Search queries",
                        "type": "array",
                        "description": "Full text queries against Stack Overflow titles and bodies. Example: vector database alternative, langchain memory leak. Leave empty if only using tags.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "keywords": {
                        "title": "Keywords (client side filter)",
                        "type": "array",
                        "description": "Only questions whose title or body contains any of these keywords are kept. Case insensitive. Leave empty to keep everything the tag or query returned.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "site": {
                        "title": "Stack Exchange site",
                        "type": "string",
                        "description": "The Stack Exchange site to query. stackoverflow covers programming. Other popular sites: serverfault, superuser, dba, askubuntu, datascience, ai.stackexchange, devops.stackexchange.",
                        "default": "stackoverflow"
                    },
                    "sortBy": {
                        "title": "Sort",
                        "enum": [
                            "creation",
                            "activity",
                            "votes",
                            "relevance"
                        ],
                        "type": "string",
                        "description": "creation orders by newest first. activity orders by last activity (new answers, edits). votes orders by score. relevance is for search queries.",
                        "default": "creation"
                    },
                    "maxAgeHours": {
                        "title": "Max age in hours",
                        "minimum": 0,
                        "maximum": 8760,
                        "type": "integer",
                        "description": "Skip questions older than this many hours. Applied locally after API returns results. 0 keeps everything.",
                        "default": 168
                    },
                    "minScore": {
                        "title": "Minimum score",
                        "minimum": -100,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Skip questions with a score below this. Zero score is the default state for brand new questions. Negative is for downvoted ones.",
                        "default": 0
                    },
                    "onlyUnanswered": {
                        "title": "Unanswered questions only",
                        "type": "boolean",
                        "description": "Keep only questions with zero answers. Strong lead gen signal for devtool founders since these are open intent.",
                        "default": false
                    },
                    "onlyNoAcceptedAnswer": {
                        "title": "No accepted answer only",
                        "type": "boolean",
                        "description": "Keep only questions that have not yet accepted an answer. Includes questions with answers that did not resolve the asker's issue.",
                        "default": false
                    },
                    "includeBody": {
                        "title": "Include question body",
                        "type": "boolean",
                        "description": "Pull the full question body with formatting stripped. Turn off to save dataset space if you only need titles and tags.",
                        "default": true
                    },
                    "maxQuestionsPerSource": {
                        "title": "Max questions per tag or query",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Per source cap. Stack Exchange API returns up to 100 per page, the actor paginates until this cap or the end of results.",
                        "default": 100
                    },
                    "maxQuestionsTotal": {
                        "title": "Maximum questions per run",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Hard cap on questions pushed to the dataset per run. Controls cost.",
                        "default": 200
                    },
                    "dedupe": {
                        "title": "Deduplicate across runs",
                        "type": "boolean",
                        "description": "Skip question IDs already pushed on previous runs. IDs are stored in the key value store under SEEN_IDS. Turn off to return every match on every run.",
                        "default": true
                    },
                    "apiKey": {
                        "title": "Stack Exchange API key (optional)",
                        "type": "string",
                        "description": "Without a key you get 300 API calls per day. With a free key from stackapps.com/apps/oauth/register you get 10,000 per day. Leave blank if your schedule fits under 300 calls."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy settings. The Stack Exchange API is public and rate friendly, a proxy is only needed if you are running many actors from one IP."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
