# World Bank Procurement Notices Scraper (`automation-lab/world-bank-procurement-notices-scraper`) Actor

Extract World Bank procurement notices, bid deadlines, project IDs, countries, procurement methods, and buyer contacts from the official public API.

- **URL**: https://apify.com/automation-lab/world-bank-procurement-notices-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## World Bank Procurement Notices Scraper

Extract World Bank procurement notices from the official public JSON API. The actor exports tender opportunities, bid deadlines, project IDs, countries, procurement methods, and buyer contact details into a clean Apify dataset.

Use it to monitor World Bank-funded opportunities without building and maintaining your own API pagination, filtering, and normalization pipeline.

### What does World Bank Procurement Notices Scraper do?

World Bank Procurement Notices Scraper collects procurement notices from `search.worldbank.org/api/v2/procnotices`.

It turns irregular World Bank API records into stable dataset rows that can be exported to CSV, Excel, JSON, Google Sheets, warehouses, CRMs, tender-alert systems, or business-intelligence dashboards.

The actor can filter notices by keyword, country or region, notice type, publication date, submission deadline, status, and project ID.

### Who is it for?

- 🏗️ Contractors and suppliers tracking World Bank-funded tenders.
- 🧾 Bid teams monitoring submission deadlines and reference numbers.
- 🌍 Development-sector consultants looking for projects by country or region.
- 🏛️ Public-sector market intelligence teams following donor-funded procurement.
- 📊 Data teams enriching internal opportunity databases with official tender data.
- 🔔 Operations teams building recurring procurement alerts.

### Why use this actor?

The World Bank API is public, but its field names are legacy-style and its output is not optimized for business users.

This actor adds:

- Clean field names.
- Pagination.
- Practical filters.
- Optional raw records for auditability.
- Stable Apify exports and integrations.
- Pay-per-event pricing so small monitoring jobs stay inexpensive.

### Data source

The actor uses the official World Bank procurement notices API.

No login, cookies, or private API key are required for the core dataset.

The actor does not bypass access controls. It reads public records exposed by the World Bank search endpoint.

### Input overview

You can run a broad scrape or narrow the result set with filters.

Important input fields:

- `query` — keyword such as `water`, `solar`, `roads`, or `consulting`.
- `country` — country or region such as `India`, `Somalia`, or `Africa`.
- `noticeType` — notice type such as `Invitation for Bids`.
- `status` — usually `Published`.
- `projectId` — exact World Bank project ID such as `P174867`.
- `dateFrom` and `dateTo` — notice publication date range.
- `deadlineFrom` and `deadlineTo` — submission deadline date range.
- `maxResults` — maximum notices to save.
- `includeRaw` — include the full original API object.

### Example input

```json
{
  "query": "water",
  "country": "Africa",
  "status": "Published",
  "maxResults": 100,
  "pageSize": 50,
  "includeRaw": false
}
````

### Output data

Each dataset item is one procurement notice.

| Field | Description |
| --- | --- |
| `noticeId` | World Bank procurement notice ID |
| `noticeType` | Notice type |
| `status` | Notice status |
| `noticeDate` | Publication date |
| `submissionDeadlineDate` | Submission deadline date |
| `submissionDeadlineTime` | Submission deadline time |
| `country` | Project country or region |
| `contactCountry` | Contact country |
| `projectId` | World Bank project ID |
| `projectName` | Project name |
| `bidReferenceNo` | Bid reference number |
| `bidDescription` | Bid description |
| `procurementGroup` | Procurement group code |
| `procurementMethodCode` | Procurement method code |
| `procurementMethodName` | Procurement method name |
| `contactName` | Contact person |
| `contactOrganization` | Buyer or implementing organization |
| `contactEmail` | Contact email |
| `contactPhone` | Contact phone |
| `contactWebsite` | Contact website |
| `contactAddress` | Contact address |
| `noticeUrl` | World Bank procurement detail URL |
| `sourceApiUrl` | API page URL used for the record |
| `scrapedAt` | Extraction timestamp |
| `raw` | Optional original API object |

### Example output

```json
{
  "noticeId": "OP00449688",
  "noticeType": "Invitation for Bids",
  "status": "Published",
  "noticeDate": "24-Jun-2026",
  "submissionDeadlineDate": "2026-07-25T00:00:00Z",
  "country": "Eastern and Southern Africa",
  "projectId": "P174867",
  "projectName": "Horn of Africa - Groundwater for Resilience Program",
  "bidReferenceNo": "SO-MOWRD-SL-511105-CW-RFB",
  "bidDescription": "Cali-Ciise and Qoolbuulale Borehole Drilling Works"
}
```

### How much does it cost to scrape World Bank procurement notices?

This actor uses pay-per-event pricing.

There is a small start charge for each run and a per-notice charge for saved dataset rows. You only pay for data the actor actually exports.

The exact platform prices are shown on the Apify Store page and in the run billing details.

### How to run it

1. Open the actor on Apify.
2. Enter a keyword, country, project ID, or date filters.
3. Set `maxResults` to the number of notices you need.
4. Click **Start**.
5. Export the dataset as CSV, Excel, JSON, XML, RSS, or HTML.

### Tender monitoring workflow

For recurring monitoring, schedule the actor daily or weekly.

Use `deadlineFrom` and `deadlineTo` to focus on notices with near-term bid deadlines.

Send the dataset to Google Sheets, Slack, email, Airtable, or a database with Apify integrations.

### Country and region tips

The World Bank API can return regional values such as `Eastern and Southern Africa` instead of only country names.

If a country filter is too narrow, try a broader region keyword.

Examples:

- `Africa`
- `South Asia`
- `India`
- `Somalia`
- `Latin America`

### Keyword tips

Good procurement keywords are specific enough to reduce noise but broad enough to catch variants.

Try terms such as:

- `water`
- `solar`
- `roads`
- `consulting`
- `health`
- `education`
- `IT`
- `construction`

### Date filtering tips

Use notice date filters to create historical extracts.

Use deadline filters to create actionable bid calendars.

For live opportunity alerts, combine `status: Published`, a country or keyword, and a deadline range.

### API usage with Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/world-bank-procurement-notices-scraper').call({
  query: 'water',
  country: 'Africa',
  maxResults: 100
});
console.log(run.defaultDatasetId);
```

### API usage with Python

```python
from apify_client import ApifyClient
import os

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/world-bank-procurement-notices-scraper').call(run_input={
    'query': 'water',
    'country': 'Africa',
    'maxResults': 100,
})
print(run['defaultDatasetId'])
```

### API usage with cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~world-bank-procurement-notices-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"query":"water","country":"Africa","maxResults":100}'
```

### MCP integration

Use this actor through Apify MCP tools in Claude Code, Claude Desktop, and compatible agents.

MCP URL:

```text
https://mcp.apify.com/?tools=automation-lab/world-bank-procurement-notices-scraper
```

Claude Code setup:

```bash
claude mcp add apify-world-bank-procurement https://mcp.apify.com/?tools=automation-lab/world-bank-procurement-notices-scraper
```

Claude Desktop MCP server config:

```json
{
  "mcpServers": {
    "apify-world-bank-procurement": {
      "url": "https://mcp.apify.com/?tools=automation-lab/world-bank-procurement-notices-scraper"
    }
  }
}
```

Example prompts:

- "Find World Bank water procurement notices in Africa and summarize deadlines."
- "Export the latest World Bank road construction bid notices for South Asia."
- "Monitor project P174867 procurement notices and alert me when new records appear."

### Integrations

Useful integrations include:

- Google Sheets for bid tracking.
- Slack or email alerts for new opportunities.
- Airtable for tender pipeline management.
- BigQuery, Snowflake, or Postgres for analytics.
- CRM workflows for supplier and consultant teams.

### Reliability notes

The actor uses a public JSON endpoint and does not need a browser.

It includes the original source API URL for traceability.

Enable `includeRaw` when you need to inspect new or changed World Bank fields.

### Legality

This actor extracts public procurement notice data from the official World Bank endpoint.

You are responsible for using exported data in accordance with applicable laws, platform terms, and your organization's compliance policies.

Do not use contact details for spam or unlawful outreach.

### FAQ

#### Is this World Bank procurement scraper official?

No. It is an independent Apify actor that reads public records from the World Bank's public procurement notice API.

#### Does it need a World Bank login or API key?

No. The core procurement notices endpoint is public and was verified without login, cookies, or a private API key.

### Troubleshooting

#### Why did I get fewer results than `maxResults`?

Your filters may be narrow. Relax keyword, country, project ID, or date filters and run again.

#### Why is the country a region?

World Bank procurement data sometimes uses regional project names. Try filtering by region or inspect `contactCountry`.

#### Why is a field empty?

Some notices do not include every contact, website, or deadline field. Enable `includeRaw` to inspect the original record.

### Related scrapers

Explore related Automation Lab actors on Apify:

- https://apify.com/automation-lab/world-bank-projects-scraper
- https://apify.com/automation-lab/website-contact-finder
- https://apify.com/automation-lab/business-directory-scraper

### Changelog

Initial version extracts official World Bank procurement notices with filters, normalized fields, and optional raw records.

# Actor input Schema

## `query` (type: `string`):

Keyword matched against project names, bid descriptions, reference numbers, procurement methods, and notice text.

## `country` (type: `string`):

Filter by project or contact country/region name, for example Somalia, India, Africa, or Eastern and Southern Africa.

## `noticeType` (type: `string`):

Optional notice type such as Invitation for Bids or Request for Expressions of Interest.

## `status` (type: `string`):

Optional notice status. Most active notices use Published.

## `projectId` (type: `string`):

Exact World Bank project ID such as P174867.

## `dateFrom` (type: `string`):

Earliest publication date in YYYY-MM-DD format.

## `dateTo` (type: `string`):

Latest publication date in YYYY-MM-DD format.

## `deadlineFrom` (type: `string`):

Earliest submission deadline date in YYYY-MM-DD format.

## `deadlineTo` (type: `string`):

Latest submission deadline date in YYYY-MM-DD format.

## `maxResults` (type: `integer`):

Maximum procurement notices to save to the dataset.

## `pageSize` (type: `integer`):

World Bank API rows per request. Higher values reduce requests; capped at 100.

## `includeRaw` (type: `boolean`):

Attach the original World Bank API notice object to each item for auditing and forward compatibility.

## Actor input object example

```json
{
  "query": "water",
  "country": "Africa",
  "status": "Published",
  "maxResults": 20,
  "pageSize": 20,
  "includeRaw": false
}
```

# Actor output Schema

## `procurementNotices` (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 = {
    "query": "water",
    "country": "Africa",
    "status": "Published",
    "maxResults": 20,
    "pageSize": 20,
    "includeRaw": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/world-bank-procurement-notices-scraper").call(input);

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "query": "water",
    "country": "Africa",
    "status": "Published",
    "maxResults": 20,
    "pageSize": 20,
    "includeRaw": False,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/world-bank-procurement-notices-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "query": "water",
  "country": "Africa",
  "status": "Published",
  "maxResults": 20,
  "pageSize": 20,
  "includeRaw": false
}' |
apify call automation-lab/world-bank-procurement-notices-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=automation-lab/world-bank-procurement-notices-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "World Bank Procurement Notices Scraper",
        "description": "Extract World Bank procurement notices, bid deadlines, project IDs, countries, procurement methods, and buyer contacts from the official public API.",
        "version": "0.1",
        "x-build-id": "hROU60OFdeDQbYCKr"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~world-bank-procurement-notices-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-world-bank-procurement-notices-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/automation-lab~world-bank-procurement-notices-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-world-bank-procurement-notices-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/automation-lab~world-bank-procurement-notices-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-world-bank-procurement-notices-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "query": {
                        "title": "🔎 Search keyword",
                        "type": "string",
                        "description": "Keyword matched against project names, bid descriptions, reference numbers, procurement methods, and notice text."
                    },
                    "country": {
                        "title": "🌍 Country or region",
                        "type": "string",
                        "description": "Filter by project or contact country/region name, for example Somalia, India, Africa, or Eastern and Southern Africa."
                    },
                    "noticeType": {
                        "title": "📄 Notice type",
                        "type": "string",
                        "description": "Optional notice type such as Invitation for Bids or Request for Expressions of Interest."
                    },
                    "status": {
                        "title": "✅ Notice status",
                        "type": "string",
                        "description": "Optional notice status. Most active notices use Published."
                    },
                    "projectId": {
                        "title": "🏗️ Project ID",
                        "type": "string",
                        "description": "Exact World Bank project ID such as P174867."
                    },
                    "dateFrom": {
                        "title": "Notice date from",
                        "type": "string",
                        "description": "Earliest publication date in YYYY-MM-DD format."
                    },
                    "dateTo": {
                        "title": "Notice date to",
                        "type": "string",
                        "description": "Latest publication date in YYYY-MM-DD format."
                    },
                    "deadlineFrom": {
                        "title": "Deadline from",
                        "type": "string",
                        "description": "Earliest submission deadline date in YYYY-MM-DD format."
                    },
                    "deadlineTo": {
                        "title": "Deadline to",
                        "type": "string",
                        "description": "Latest submission deadline date in YYYY-MM-DD format."
                    },
                    "maxResults": {
                        "title": "Maximum notices",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum procurement notices to save to the dataset.",
                        "default": 100
                    },
                    "pageSize": {
                        "title": "API page size",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "World Bank API rows per request. Higher values reduce requests; capped at 100.",
                        "default": 50
                    },
                    "includeRaw": {
                        "title": "Include raw API object",
                        "type": "boolean",
                        "description": "Attach the original World Bank API notice object to each item for auditing and forward compatibility.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
