# Kenya CBK Rates & Forex (`wafspaul/my-actor-2`) Actor

Live Central Bank of Kenya data: daily forex exchange rates for 21 currencies and key monetary indicators (CBR, KESONIA, T-Bill yield, inflation, lending rates) updated daily.

- **URL**: https://apify.com/wafspaul/my-actor-2.md
- **Developed by:** [paul wafs](https://apify.com/wafspaul) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 results

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Kenya CBK Rates & Forex

Live data from the Central Bank of Kenya: daily foreign exchange rates for 21 currencies, plus the key monetary policy indicators every Kenyan finance professional, importer, and analyst checks daily.

Pairs naturally with our NSE Kenya Market Data actor — together they cover equities, forex, and macro/interest rates in one data suite.

### What you get

Two record types in one dataset (or filter to just one):

**Key Rates** (`dataType: "rates"`) — CBK's own snapshot of core monetary indicators:

- Central Bank Rate (CBR)
- KESONIA (overnight interbank rate)
- CBK Discount Window
- 91-Day T-Bill yield
- REPO rate
- Inflation Rate
- Lending, Savings, and Deposit rates
- KBRR

**Forex** (`dataType: "forex"`) — the latest official daily exchange rate for 21 currencies against the Kenyan Shilling (USD, GBP, EUR, and regional currencies including UGX, TZS, RWF, BIF, and more).

### Sample output

````json
{
  "dataType": "rates",
    "indicator": "Central Bank Rate",
      "value": "8.75%",
        "effective_date": "11/08/2026",
          "source": "Central Bank of Kenya (CBK)",
            "source_url": "https://www.centralbank.go.ke/",
              "scraped_at": "2026-09-10T10:12:14.000Z"
              }
              ```

              ```json
              {
                "dataType": "forex",
                  "date": "10/09/2026",
                    "currency": "US DOLLAR",
                      "rate_kes": 129.45,
                        "source": "Central Bank of Kenya (CBK)",
                          "source_url": "https://www.centralbank.go.ke/forex",
                            "scraped_at": "2026-09-10T10:12:26.000Z"
                            }
                            ```

                            ## How to use it

                            Leave input blank to get both data types, or set `dataType` to `rates` or `forex` for just one.

                            ### Input

                            ```json
                            {
                              "dataType": "all"
                              }
                              ```

                              ## Use cases

                              - Daily rate feeds for finance dashboards, newsletters, and trading tools
                              - Forex bureau and business rate benchmarking against the official CBK mid-rate
                              - Macro/economic monitoring for analysts, journalists, and researchers tracking inflation, interest rates, and monetary policy
                              - Combine with NSE Kenya Market Data for a complete daily snapshot of Kenya's financial markets

                              ## How it works

                              Both data types come from CBK's own official website (centralbank.go.ke). The Key Rates snapshot is read directly from the homepage. Forex rates are pulled from CBK's live rates table, then filtered to the most recent trading day automatically, so you always get current data even as CBK's own historical archive grows daily.

                              ## Pricing

                              Paid per event (per record returned). No browser rendering is used, keeping costs low.

                              ## FAQ

                              **How fresh is the data?** Every run fetches CBK's current published rates at the moment of execution — normally the same day, or the most recent business day.

                              **Why 21 currencies?** That's the full set CBK itself publishes daily, including regional currencies (UGX, TZS, RWF, BIF) alongside major global currencies.

                              **Is this official data?** Yes — every value is sourced directly from centralbank.go.ke, Kenya's central bank.

# Actor input Schema

## `startUrls` (type: `array`):

URLs to start with.
## `maxRequestsPerCrawl` (type: `integer`):

Maximum number of requests that can be made by this crawler.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://crawlee.dev"
    }
  ],
  "maxRequestsPerCrawl": 100
}
````

# 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 = {
    "startUrls": [
        {
            "url": "https://crawlee.dev"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("wafspaul/my-actor-2").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 = { "startUrls": [{ "url": "https://crawlee.dev" }] }

# Run the Actor and wait for it to finish
run = client.actor("wafspaul/my-actor-2").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://crawlee.dev"
    }
  ]
}' |
apify call wafspaul/my-actor-2 --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,wafspaul/my-actor-2"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ow7Dk1LUVR8JmlGnV/builds/sX6MKwd4OElz2cCiL/openapi.json
