# Public Grants & Foundation Scraper – Grant Finder (`scrapepilot/public-grants-foundation-scraper---grant-finder`) Actor

Extract public grants from Ford, Gates, Open Society, MacArthur, RWJF & custom portals. Get amount, deadline, eligibility, category. Keyword filter. Export JSON/CSV/XLSX. Demo mode. Residential proxy ready.

- **URL**: https://apify.com/scrapepilot/public-grants-foundation-scraper---grant-finder.md
- **Developed by:** [Scrape Pilot](https://apify.com/scrapepilot) (community)
- **Categories:** Automation, Developer tools, Other
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$8.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

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

---
## Public Grants & Foundation Scraper — Funding Opportunities, Press Releases, Grant Announcements

**Extract public grants, funding opportunities, and foundation announcements from official sources.**  
Get grant ID, funder, amount, deadline, eligibility, category, keyword match, and direct link. Supports multiple foundation portals (Ford, Gates, Open Society, MacArthur, RWJF, fundsforNGOs) plus any custom URL. **Public Grants** data is extracted via intelligent HTML parsing with amount, deadline, and eligibility detection. Export to JSON, CSV, or Excel.

---

### 💡 What is Public Grants & Foundation Scraper?

**Public Grants & Foundation Scraper** is a professional Apify actor that collects **real‑time grant announcements, press releases, and funding opportunities** from major philanthropic foundations and grant portals. It is designed for NGOs, researchers, grant writers, and development professionals who need to stay updated on available **public grants**.

The actor:

- Scrapes built‑in foundation URLs (Ford Foundation, Gates Foundation, Open Society Foundations, MacArthur Foundation, Robert Wood Johnson Foundation, fundsforNGOs) and any custom portal you provide.
- Uses intelligent text extraction to identify **grant amount**, **deadline**, **eligibility criteria**, and **category** (Environment, Health, Education, Human Rights, etc.).
- Supports **keyword filtering** – only returns grants that match your interests (e.g., “climate”, “youth”, “health”).
- Includes **demo mode** – instantly see sample **public grants** without using proxy credits.
- Exports results as JSON, CSV, and XLSX – ready for analysis or sharing.

**No API keys required.** Works with residential proxies (automatically enabled). The actor respects `robots.txt` and uses polite delays.

---

### 📦 What Data Can You Extract?

| 🧩 Data Type       | 📋 Description |
|--------------------|----------------|
| 🆔 Grant ID        | Unique identifier extracted from URL slug or text. |
| 🏛️ Funder          | Foundation or organisation name (e.g., “Ford Foundation”). |
| 💰 Amount          | Grant value (e.g., `$500,000`, `$5.0 million`). |
| 📅 Deadline        | Application deadline (e.g., `30 June 2026`). |
| ✅ Eligibility     | Who can apply (e.g., “NGOs in climate-affected communities”). |
| 🏷️ Category        | Auto‑detected (Environment / Climate, Health, Education, etc.). |
| 🔍 Keyword Match   | Which of your keywords were found in the text. |
| 🔗 Link            | Direct URL to the full grant announcement. |

All fields are cleaned and missing values become `"N/A"`. The actor automatically detects **public grants** from both standard and custom portals.

---

### ⚙️ Key Features

- **Built‑in Foundation Sources** – Ford, Gates, Open Society, MacArthur, RWJF, fundsforNGOs (no configuration needed).
- **Custom URLs** – Add any grant‑related page; the actor extracts **public grants** from it.
- **Smart Text Extraction** – Finds amount (`$1.2M`), deadline (`15 April 2026`), eligibility (`eligible applicants: NGOs`).
- **Keyword Filtering** – Only return grants matching your interests (e.g., `climate, youth, education`).
- **Demo Mode** – Test with 10 high‑quality sample **public grants** instantly (no scraping, no credits).
- **Multiple Export Formats** – JSON, CSV, XLSX (requires pandas).
- **Residential Proxy Support** – Automatically uses Apify proxy when available (required for some portals).
- **Pagination** – Scrapes up to 4 pages per portal to collect enough **public grants**.
- **Deduplication** – Removes duplicate links across portals.

---

### 📥 Input Parameters

The actor accepts a JSON object with the following fields:

| Parameter            | Type                | Required | Default | Description |
|----------------------|---------------------|----------|---------|-------------|
| `demo_mode`          | boolean             | No       | `false` | If `true`, returns 10 sample **public grants** (no scraping). |
| `portal_urls`        | array or string     | No       | –       | List of custom portal URLs (newline‑separated string or JSON array). If empty, uses built‑in sources. |
| `keywords`           | string              | No       | –       | Comma‑separated keywords (e.g., `"climate, youth, health"`). Only grants matching at least one keyword are returned. |
| `max_items_per_portal`| integer            | No       | `10`    | Maximum number of grant pages to scrape per portal. |
| `export_json`        | boolean             | No       | `true`  | Save results as `results.json` in key‑value store. |
| `export_csv`         | boolean             | No       | `true`  | Save results as `results.csv`. |
| `export_xlsx`        | boolean             | No       | `true`  | Save results as `results.xlsx` (requires pandas). |
| `useApifyProxy`      | boolean             | No       | `true`  | Enable Apify residential proxy (recommended). |

#### Example Input (Demo Mode)

```json
{
  "demo_mode": true,
  "export_json": true,
  "export_csv": true
}
````

#### Example Input (Custom URLs + Keywords)

```json
{
  "portal_urls": "https://fundsforngos.org/\nhttps://www.fordfoundation.org/news-and-stories/news-and-press-releases/",
  "keywords": "climate, health, education",
  "max_items_per_portal": 15,
  "export_xlsx": true,
  "useApifyProxy": true
}
```

#### Example Input (All Built‑in Sources)

```json
{
  "keywords": "youth",
  "max_items_per_portal": 20,
  "useApifyProxy": true
}
```

***

### 📤 Output Fields

Each grant is returned as an object with the following fields (all strings, `"N/A"` if missing):

| Field           | Type   | Description |
|-----------------|--------|-------------|
| `grant_id`      | string | Unique identifier (extracted from URL or fallback). |
| `funder`        | string | Foundation or organization name. |
| `amount`        | string | Grant value (e.g., `$500,000`, `$5.0 million`). |
| `deadline`      | string | Application deadline (e.g., `30 June 2026`). |
| `eligibility`   | string | Eligibility criteria (e.g., `NGOs in Sub-Saharan Africa`). |
| `category`      | string | Auto‑detected category (Environment / Climate, Health, Education, etc.). |
| `keyword_match` | string | Comma‑separated list of matched keywords (or `"N/A"`). |
| `link`          | string | Direct URL to the grant announcement. |

#### Example Output (Real Scraped Data)

```json
[
  {
    "grant_id": "FF-2026-CJ-001",
    "funder": "Ford Foundation",
    "amount": "$500,000",
    "deadline": "30 June 2026",
    "eligibility": "NGOs and civil society organizations in climate-affected communities",
    "category": "Environment / Climate",
    "keyword_match": "climate",
    "link": "https://www.fordfoundation.org/news/climate-justice-2026"
  },
  {
    "grant_id": "OSF-2026-YE-042",
    "funder": "Open Society Foundations",
    "amount": "$50,000",
    "deadline": "15 April 2026",
    "eligibility": "Youth-led nonprofit organizations, ages 18–35",
    "category": "Youth / Education",
    "keyword_match": "youth",
    "link": "https://www.opensocietyfoundations.org/grants/youth-2026"
  }
]
```

***

### 🛠 How to Use on Apify

1. **Create a task** with this actor.
2. **Choose mode** – enable `demo_mode` to test with sample **public grants**, or set to `false` for live scraping.
3. **Provide URLs (optional)** – leave empty to use built‑in foundation sources, or add your own.
4. **Set keywords** – comma‑separated list to filter **public grants** (e.g., `climate, health`).
5. **Configure export** – choose JSON, CSV, XLSX (or all three).
6. **Enable proxy** – `useApifyProxy: true` with residential group is recommended.
7. **Run** – the actor will collect **public grants** and push them to the Dataset.
8. **Export** – download results from the Dataset tab or from the key‑value store (JSON/CSV/XLSX files).

#### Running via API

```bash
curl -X POST "https://api.apify.com/v2/acts/your-username~public-grants-foundation-scraper/runs" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "portal_urls": "https://www.gatesfoundation.org/ideas/media-center/press-releases",
    "keywords": "health, global",
    "max_items_per_portal": 10,
    "useApifyProxy": true
  }'
```

***

### 🎯 Use Cases

- **Grant Writers & NGOs** – Discover new **public grants** relevant to your mission.
- **Researchers** – Analyse funding trends by amount, deadline, or category.
- **Development Professionals** – Monitor foundations’ press releases for emerging **public grants**.
- **Educational Institutions** – Find **public grants** for scholarships, research, or infrastructure.
- **Data Aggregators** – Build a database of active **public grants** from multiple sources.
- **Journalists** – Track foundation announcements for news stories.

**Public Grants** are essential for non‑profit sustainability, and this actor delivers them at scale.

***

### ❓ Frequently Asked Questions

#### Q1. What sources are included by default?

The actor includes: fundsforNGOs, Ford Foundation, Gates Foundation, Open Society Foundations, MacArthur Foundation, and Robert Wood Johnson Foundation. These are pre‑configured to collect **public grants** from their press release and grant announcement pages.

#### Q2. Can I add my own URLs?

Yes. Use the `portal_urls` parameter to add any custom portal that lists **public grants**. The actor will extract grant links and parse them.

#### Q3. How accurate are the extracted amount, deadline, and eligibility?

The actor uses regex and label detection. For well‑structured pages (press releases, grant calls), accuracy is high. For noisy pages, some fields may be missing. Demo mode shows typical accuracy.

#### Q4. Why do I need residential proxies?

Some foundations and grant portals block datacenter IPs. Enabling Apify residential proxies ensures reliable scraping of **public grants**.

#### Q5. What does demo mode do?

Demo mode returns 10 pre‑loaded sample **public grants** (realistic but not live). It consumes no proxy credits and allows you to test the output format instantly.

#### Q6. How are categories assigned?

The actor scans the grant title and description for keywords like “climate”, “health”, “education”, etc. Categories include Environment / Climate, Health, Education, Youth, Gender / Women, Water / Sanitation, Agriculture / Food, Arts / Culture, Journalism / Media, Human Rights, Technology, Economic Development, and General / Other.

#### Q7. Can I export to Excel?

Yes, set `export_xlsx: true`. This requires pandas and openpyxl (both are installed in the actor’s container).

#### Q8. What happens if a page is not reachable?

The actor logs a warning and continues with the next URL. It does not fail the whole run.

***

### 🔍 SEO Keywords

`Public Grants`, `grant scraper`, `foundation announcements`, `funding opportunities`, `grant deadline extractor`, `NGO grants`, `Ford Foundation grants`, `Gates Foundation press releases`, `Open Society Foundations grants`, `MacArthur Foundation funding`, `RWJF grants`, `fundsforNGOs`, `grant amount detection`, `eligibility extractor`, `Apify grant actor`

***

### 🔗 Related Actors

You might also find these useful:

- **[Government Tenders Scraper – USASpending, TED, UK Contracts](https://apify.com/your-username/gov-tenders-scraper)**
- **[EU Funding & Grants Monitor](https://apify.com/your-username/eu-funding-monitor)**
- **[World Bank Projects & Tenders](https://apify.com/your-username/world-bank-tenders)**

***

# Actor input Schema

## `demo_mode` (type: `boolean`):

Load 10 built-in sample records instantly — no scraping, no credits used. Perfect to preview all output fields before running.

## `portal_urls` (type: `string`):

Enter URLs of foundation press pages or grant portals — one per line. Leave blank to use built-in sources (Ford Foundation, Gates Foundation, Open Society, MacArthur, RWJF, fundsforngos.org).

## `keywords` (type: `string`):

Only return grants matching these keywords. Leave blank to return all grants. Examples: climate, health, youth, women, education, Africa

## `max_items_per_portal` (type: `integer`):

Maximum number of grant records to extract per URL.

## `export_json` (type: `boolean`):

Save results.json to Key-Value Store.

## `export_csv` (type: `boolean`):

Save results.csv (Excel-compatible, UTF-8 BOM encoded).

## `export_xlsx` (type: `boolean`):

Save results.xlsx with frozen header and auto-sized columns.

## `useApifyProxy` (type: `boolean`):

Route all requests through Apify residential proxies to avoid IP blocks. Always keep this ON.

## `apifyProxyGroups` (type: `array`):

RESIDENTIAL proxies are most reliable for foundation websites.

## Actor input object example

```json
{
  "demo_mode": false,
  "portal_urls": "https://fundsforngos.org/\nhttps://www.fordfoundation.org/news-and-stories/news-and-press-releases/\nhttps://www.gatesfoundation.org/ideas/media-center/press-releases\nhttps://www.opensocietyfoundations.org/newsroom",
  "max_items_per_portal": 10,
  "export_json": true,
  "export_csv": true,
  "export_xlsx": true,
  "useApifyProxy": true,
  "apifyProxyGroups": [
    "RESIDENTIAL"
  ]
}
```

# 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 = {
    "portal_urls": `https://fundsforngos.org/
https://www.fordfoundation.org/news-and-stories/news-and-press-releases/
https://www.gatesfoundation.org/ideas/media-center/press-releases
https://www.opensocietyfoundations.org/newsroom`,
    "keywords": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapepilot/public-grants-foundation-scraper---grant-finder").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 = {
    "portal_urls": """https://fundsforngos.org/
https://www.fordfoundation.org/news-and-stories/news-and-press-releases/
https://www.gatesfoundation.org/ideas/media-center/press-releases
https://www.opensocietyfoundations.org/newsroom""",
    "keywords": "",
}

# Run the Actor and wait for it to finish
run = client.actor("scrapepilot/public-grants-foundation-scraper---grant-finder").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 '{
  "portal_urls": "https://fundsforngos.org/\\nhttps://www.fordfoundation.org/news-and-stories/news-and-press-releases/\\nhttps://www.gatesfoundation.org/ideas/media-center/press-releases\\nhttps://www.opensocietyfoundations.org/newsroom",
  "keywords": ""
}' |
apify call scrapepilot/public-grants-foundation-scraper---grant-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapepilot/public-grants-foundation-scraper---grant-finder",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Public Grants & Foundation Scraper – Grant Finder",
        "description": "Extract public grants from Ford, Gates, Open Society, MacArthur, RWJF & custom portals. Get amount, deadline, eligibility, category. Keyword filter. Export JSON/CSV/XLSX. Demo mode. Residential proxy ready.",
        "version": "0.0",
        "x-build-id": "0GLlmSbnuxLXH8b12"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapepilot~public-grants-foundation-scraper---grant-finder/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapepilot-public-grants-foundation-scraper---grant-finder",
                "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/scrapepilot~public-grants-foundation-scraper---grant-finder/runs": {
            "post": {
                "operationId": "runs-sync-scrapepilot-public-grants-foundation-scraper---grant-finder",
                "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/scrapepilot~public-grants-foundation-scraper---grant-finder/run-sync": {
            "post": {
                "operationId": "run-sync-scrapepilot-public-grants-foundation-scraper---grant-finder",
                "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": {
                    "demo_mode": {
                        "title": "🎯 Demo Mode (Instant Preview)",
                        "type": "boolean",
                        "description": "Load 10 built-in sample records instantly — no scraping, no credits used. Perfect to preview all output fields before running.",
                        "default": false
                    },
                    "portal_urls": {
                        "title": "🌐 Foundation / Grant Portal URLs",
                        "type": "string",
                        "description": "Enter URLs of foundation press pages or grant portals — one per line. Leave blank to use built-in sources (Ford Foundation, Gates Foundation, Open Society, MacArthur, RWJF, fundsforngos.org)."
                    },
                    "keywords": {
                        "title": "🔍 Filter Keywords (comma-separated)",
                        "type": "string",
                        "description": "Only return grants matching these keywords. Leave blank to return all grants. Examples: climate, health, youth, women, education, Africa"
                    },
                    "max_items_per_portal": {
                        "title": "📦 Max Records Per Portal",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum number of grant records to extract per URL.",
                        "default": 10
                    },
                    "export_json": {
                        "title": "Export JSON",
                        "type": "boolean",
                        "description": "Save results.json to Key-Value Store.",
                        "default": true
                    },
                    "export_csv": {
                        "title": "Export CSV",
                        "type": "boolean",
                        "description": "Save results.csv (Excel-compatible, UTF-8 BOM encoded).",
                        "default": true
                    },
                    "export_xlsx": {
                        "title": "Export Excel (XLSX)",
                        "type": "boolean",
                        "description": "Save results.xlsx with frozen header and auto-sized columns.",
                        "default": true
                    },
                    "useApifyProxy": {
                        "title": "🔒 Use Apify Proxy (Recommended)",
                        "type": "boolean",
                        "description": "Route all requests through Apify residential proxies to avoid IP blocks. Always keep this ON.",
                        "default": true
                    },
                    "apifyProxyGroups": {
                        "title": "Proxy Type",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "RESIDENTIAL proxies are most reliable for foundation websites.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "RESIDENTIAL",
                                "DATACENTER",
                                "GOOGLE"
                            ]
                        },
                        "default": [
                            "RESIDENTIAL"
                        ]
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
