# FEC Campaign Finance Crawler - Candidates, PACs & Contributions (`jungle_synthesizer/fec-campaign-finance-crawler`) Actor

Crawl campaign finance data from the FEC. Extract candidates with financial summaries, committees/PACs, and individual contributions. Filter by year, state, party, and office. For political researchers, journalists, and compliance teams.

- **URL**: https://apify.com/jungle\_synthesizer/fec-campaign-finance-crawler.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Business, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

## FEC Campaign Finance Crawler - Candidates, PACs & Contributions

Crawl campaign finance data from the Federal Election Commission (FEC) API. Extract candidates with financial summaries, committees and PACs, and individual contributions. Filter by election year, state, party, and office. Exports structured JSON for political researchers, journalists, and compliance teams.

### What Does the FEC Campaign Finance Crawler Do?

The FEC Campaign Finance Crawler queries the official [FEC API](https://api.open.fec.gov/v1/) to extract structured campaign finance records from the Federal Election Commission's public database. The FEC tracks all federal campaign finance activity in the United States, including candidate fundraising, committee (PAC) registrations, and individual political contributions. The crawler operates in three modes, each targeting a different FEC dataset.

### FEC Campaign Finance Crawler Features

- **Extracts candidate financial summaries** including total receipts, disbursements, cash on hand, individual contributions, and debts owed from the `/candidates/totals/` endpoint
- **Extracts committee and PAC data** including committee type, designation, treasurer, filing frequency, and party affiliation from the `/committees/` endpoint
- **Extracts individual contribution records** including contributor name, employer, occupation, amount, date, and recipient committee from the `/schedules/schedule_a/` endpoint
- **Filters by election year** -- specify any federal election cycle (e.g., 2024, 2026)
- **Filters by state** -- US state code filtering (e.g., CA, NY, TX)
- **Filters by party** -- Democratic, Republican, Libertarian, Green, or Independent
- **Filters by office** -- President, Senate, or House (candidates mode)
- **Filters by name** -- search candidates, committees, or contributors by name
- **Filters by minimum amount** -- set a dollar threshold for contributions
- **Handles pagination automatically** -- page-based for candidates and committees, index-based cursors for contributions
- **No proxy required** -- the FEC API is a public government service with no bot detection

### FEC Campaign Finance Crawler Output Fields

#### Candidates Mode

| Field | Type | Description |
|-------|------|-------------|
| `candidate_id` | string | FEC candidate ID (e.g., P80000722) |
| `candidate_name` | string | Candidate full name |
| `party` | string | Party abbreviation (DEM, REP, LIB, etc.) |
| `party_full` | string | Full party name |
| `office_full` | string | Office sought (President, Senate, House) |
| `state` | string | State code |
| `district` | string | Congressional district number (House only) |
| `election_year` | number | Election cycle year |
| `incumbent_challenge` | string | Incumbent/Challenger/Open seat status |
| `candidate_status` | string | Candidate status code |
| `total_receipts` | number | Total receipts for the cycle |
| `total_disbursements` | number | Total disbursements for the cycle |
| `cash_on_hand` | number | Cash on hand at end of reporting period |
| `total_individual_contributions` | number | Total itemized individual contributions |
| `debts_owed` | number | Debts owed by committee |
| `coverage_end_date` | string | End date of latest financial reporting period |
| `has_raised_funds` | boolean | Whether the candidate has raised any funds |

#### Committees Mode

| Field | Type | Description |
|-------|------|-------------|
| `committee_id` | string | FEC committee ID (e.g., C00684373) |
| `committee_name` | string | Committee name |
| `committee_type` | string | Committee type (Presidential, House, Senate, PAC, etc.) |
| `designation` | string | Committee designation (Principal, Authorized, Joint, etc.) |
| `party` | string | Party abbreviation |
| `party_full` | string | Full party name |
| `state` | string | State code |
| `treasurer_name` | string | Committee treasurer name |
| `filing_frequency` | string | Filing frequency (Monthly, Quarterly, etc.) |
| `organization_type` | string | Organization type (Corporation, Labor, Trade, etc.) |
| `first_file_date` | string | Date of first filing |

#### Contributions Mode

| Field | Type | Description |
|-------|------|-------------|
| `contributor_name` | string | Individual contributor full name |
| `contributor_employer` | string | Contributor employer |
| `contributor_occupation` | string | Contributor occupation |
| `contributor_city` | string | Contributor city |
| `contributor_state` | string | Contributor state code |
| `contributor_zip` | string | Contributor ZIP code |
| `contribution_amount` | number | Contribution amount in USD |
| `contribution_date` | string | Date of contribution |
| `receipt_type` | string | Receipt type description |
| `recipient_committee_id` | string | Committee receiving the contribution |
| `recipient_committee_name` | string | Name of committee receiving the contribution |
| `two_year_period` | number | Two-year transaction period |
| `fec_url` | string | URL to the original FEC filing document |

### Who Uses FEC Campaign Finance Data?

- **Political researchers**: Track candidate fundraising totals, compare financial positions across races, and analyze PAC spending patterns
- **Journalists**: Investigate individual contribution records, identify top donors by employer or occupation, and follow the money in federal elections
- **Compliance teams**: Monitor committee filings, verify contribution limits, and audit donor activity across election cycles
- **Campaign strategists**: Benchmark fundraising against opponents, analyze donor demographics by state and occupation, and identify contribution trends
- **Advocacy organizations**: Track PAC and committee activity, monitor corporate political spending, and research donor networks
- **Academic researchers**: Study campaign finance trends, model election spending patterns, and analyze the relationship between fundraising and electoral outcomes

### How to Use the FEC Campaign Finance Crawler

#### Input Parameters

| Parameter | Required | Default | Description |
|-----------|----------|---------|-------------|
| `mode` | No | `candidates` | Crawl mode: `candidates`, `committees`, or `contributions` |
| `electionYear` | No | `2026` | Election cycle year (even years: 2024, 2026, etc.) |
| `state` | No | All | US state code (e.g., CA, NY, TX) |
| `party` | No | All | Party filter: DEM, REP, LIB, GRE, IND |
| `office` | No | All | Office filter (candidates mode): P (President), S (Senate), H (House) |
| `searchName` | No | (none) | Search by candidate, committee, or contributor name |
| `minAmount` | No | `0` | Minimum contribution amount (contributions mode) |
| `maxItems` | No | `100` | Maximum records to return |
| `fecApiKey` | No | DEMO_KEY | Your FEC API key (free at https://api.data.gov/signup/) |

#### Example Configurations

**Get 2024 presidential candidates sorted by fundraising:**
```json
{
    "mode": "candidates",
    "electionYear": 2024,
    "office": "P",
    "maxItems": 50
}
````

**Get Democratic Senate committees in California:**

```json
{
    "mode": "committees",
    "electionYear": 2024,
    "party": "DEM",
    "state": "CA",
    "maxItems": 50
}
```

**Search individual contributions by name:**

```json
{
    "mode": "contributions",
    "searchName": "Smith",
    "state": "NY",
    "electionYear": 2024,
    "minAmount": 5000,
    "maxItems": 50
}
```

### Sample Output

#### Candidate Record

```json
{
    "mode": "candidates",
    "candidate_id": "P80000722",
    "candidate_name": "TRUMP, DONALD J.",
    "party": "REP",
    "party_full": "Republican Party",
    "office_full": "President",
    "state": "US",
    "district": "",
    "election_year": 2024,
    "incumbent_challenge": "Incumbent",
    "candidate_status": "C",
    "total_receipts": 388537817.23,
    "total_disbursements": 341872942.56,
    "cash_on_hand": 46664874.67,
    "total_individual_contributions": 198723456.78,
    "debts_owed": 0,
    "coverage_end_date": "2024-09-30",
    "has_raised_funds": true
}
```

#### Contribution Record

```json
{
    "mode": "contributions",
    "contributor_name": "SMITH, JOHN",
    "contributor_employer": "ACME CORP",
    "contributor_occupation": "ENGINEER",
    "contributor_city": "NEW YORK",
    "contributor_state": "NY",
    "contributor_zip": "10001",
    "contribution_amount": 5600,
    "contribution_date": "2024-03-15",
    "receipt_type": "15E",
    "recipient_committee_id": "C00580100",
    "recipient_committee_name": "HARRIS FOR PRESIDENT",
    "two_year_period": 2024,
    "fec_url": "https://docquery.fec.gov/cgi-bin/fecimg/?202410159723456789"
}
```

### FEC Campaign Finance Data FAQ

**How do I get campaign finance data from the FEC?**
Use the FEC Campaign Finance Crawler to query the official FEC API. Select a mode (candidates, committees, or contributions), apply filters for year, state, and party, and the crawler returns structured JSON records with financial data.

**Do I need an API key?**
A free API key from https://api.data.gov/signup/ is strongly recommended. Without one, the crawler falls back to the DEMO\_KEY, which is shared across all users and heavily rate-limited. With your own key, the crawler processes approximately 900 requests per hour.

**How many records are in the FEC database?**
The FEC tracks approximately 5,000 candidates per election cycle, 88,000+ registered committees, and over 200 million individual contribution records across all cycles. New data is added daily during active filing periods.

**What is the contributions mode filter requirement?**
Contributions mode requires either a `searchName` or `state` filter. The FEC API does not allow unrestricted queries across the full 200M+ contribution dataset.

**Does this crawler require proxies?**
No. The FEC API is a public US government service. No proxies, CAPTCHA solving, or special headers are required.

**How long does a typical run take?**
With a personal API key, 100 candidates return in under a minute (single API call). Larger extractions at 900 requests/hour: 5,000 candidates take approximately 3 minutes, and 1,000 contributions take approximately 40 seconds.

**How is the data paginated?**
Candidates and committees use standard page-based pagination (100 results per page). Contributions use index-based cursor pagination, which the crawler handles automatically using `last_index` values from the FEC API.

### Need a Custom Feature?

If you need additional filters, custom data transformations, or integration with your political research pipeline, file an issue or get in touch.

# Actor input Schema

## `sp_intended_usage` (type: `string`):

Please describe how you plan to use the data extracted by this crawler.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

Provide your email address so we can get in touch with you.

## `mode` (type: `string`):

What type of FEC data to crawl.

## `electionYear` (type: `integer`):

Filter by election cycle year (even years only, e.g., 2024, 2026). Leave empty for all years.

## `state` (type: `string`):

Filter by US state code (e.g., 'CA', 'NY', 'TX'). Leave empty for all states.

## `party` (type: `string`):

Filter by political party.

## `office` (type: `string`):

Filter by office sought (candidates mode only).

## `searchName` (type: `string`):

Search by candidate, committee, or contributor name.

## `minAmount` (type: `number`):

Minimum contribution/receipt amount (contributions mode only).

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

Maximum number of records to return.

## `fecApiKey` (type: `string`):

Your FEC API key. Get one free at https://api.data.gov/signup/. If not provided, the DEMO\_KEY will be used (heavily rate-limited).

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

Select proxies. FEC API does not require proxies.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "mode": "candidates",
  "electionYear": 2026,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "mode": "candidates",
    "electionYear": 2026,
    "state": "",
    "party": "",
    "office": "",
    "searchName": "",
    "minAmount": 0,
    "maxItems": 100,
    "fecApiKey": "",
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/fec-campaign-finance-crawler").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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "mode": "candidates",
    "electionYear": 2026,
    "state": "",
    "party": "",
    "office": "",
    "searchName": "",
    "minAmount": 0,
    "maxItems": 100,
    "fecApiKey": "",
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/fec-campaign-finance-crawler").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 '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "mode": "candidates",
  "electionYear": 2026,
  "state": "",
  "party": "",
  "office": "",
  "searchName": "",
  "minAmount": 0,
  "maxItems": 100,
  "fecApiKey": "",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call jungle_synthesizer/fec-campaign-finance-crawler --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jungle_synthesizer/fec-campaign-finance-crawler",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FEC Campaign Finance Crawler - Candidates, PACs & Contributions",
        "description": "Crawl campaign finance data from the FEC. Extract candidates with financial summaries, committees/PACs, and individual contributions. Filter by year, state, party, and office. For political researchers, journalists, and compliance teams.",
        "version": "1.0",
        "x-build-id": "reyO6jHr9dm7kdKPU"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~fec-campaign-finance-crawler/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-fec-campaign-finance-crawler",
                "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/jungle_synthesizer~fec-campaign-finance-crawler/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-fec-campaign-finance-crawler",
                "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/jungle_synthesizer~fec-campaign-finance-crawler/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-fec-campaign-finance-crawler",
                "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": [
                    "sp_intended_usage",
                    "sp_improvement_suggestions"
                ],
                "properties": {
                    "sp_intended_usage": {
                        "title": "What is the intended usage of this data?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Please describe how you plan to use the data extracted by this crawler."
                    },
                    "sp_improvement_suggestions": {
                        "title": "How can we improve this crawler for you?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide any feedback or suggestions for improvements."
                    },
                    "sp_contact": {
                        "title": "Contact Email",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide your email address so we can get in touch with you."
                    },
                    "mode": {
                        "title": "Crawl Mode",
                        "enum": [
                            "candidates",
                            "committees",
                            "contributions"
                        ],
                        "type": "string",
                        "description": "What type of FEC data to crawl."
                    },
                    "electionYear": {
                        "title": "Election Year",
                        "type": "integer",
                        "description": "Filter by election cycle year (even years only, e.g., 2024, 2026). Leave empty for all years."
                    },
                    "state": {
                        "title": "State",
                        "type": "string",
                        "description": "Filter by US state code (e.g., 'CA', 'NY', 'TX'). Leave empty for all states."
                    },
                    "party": {
                        "title": "Party",
                        "enum": [
                            "",
                            "DEM",
                            "REP",
                            "LIB",
                            "GRE",
                            "IND"
                        ],
                        "type": "string",
                        "description": "Filter by political party."
                    },
                    "office": {
                        "title": "Office",
                        "enum": [
                            "",
                            "P",
                            "S",
                            "H"
                        ],
                        "type": "string",
                        "description": "Filter by office sought (candidates mode only)."
                    },
                    "searchName": {
                        "title": "Name Search",
                        "type": "string",
                        "description": "Search by candidate, committee, or contributor name."
                    },
                    "minAmount": {
                        "title": "Minimum Amount",
                        "type": "number",
                        "description": "Minimum contribution/receipt amount (contributions mode only)."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "type": "integer",
                        "description": "Maximum number of records to return.",
                        "default": 100
                    },
                    "fecApiKey": {
                        "title": "FEC API Key",
                        "type": "string",
                        "description": "Your FEC API key. Get one free at https://api.data.gov/signup/. If not provided, the DEMO_KEY will be used (heavily rate-limited)."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies. FEC API does not require proxies."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
