# RBA Exchange Rates and Cash Rate to JSON (`ledgerleaf/aussie-apify-actors-1`) Actor

Daily AUD exchange rates and RBA cash rate decisions as clean, dated JSON rows straight from the Reserve Bank of Australia tables. Latest day or a date range.

- **URL**: https://apify.com/ledgerleaf/aussie-apify-actors-1.md
- **Developed by:** [Ledgerleaf Data Tools](https://apify.com/ledgerleaf) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 row returneds

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## RBA Exchange Rates and Cash Rate to JSON

Australian dollar exchange rates and Reserve Bank of Australia cash rate decisions, as clean dated JSON rows. It reads the RBA's own published statistical tables, so the numbers match rba.gov.au.

Made for spreadsheets, dashboards, invoicing tools and AI agents that need "what was AUD/USD on this day" or "what is the cash rate" without parsing RBA CSV files.

### What you get

**Exchange rates (RBA table F11.1, daily, from 3 January 2023)**

- One row per date and currency: `date`, `base` (AUD), `quote`, `rate`, `unit`, `seriesId`, the data source RBA lists for that series and the RBA attribution line.
- Currencies the RBA publishes: USD, EUR, GBP, JPY, NZD, CNY, KRW, SGD, INR, THB, TWD, MYR, IDR, VND, AED, PGK, HKD, CAD, ZAR, CHF, PHP, SDR and the trade-weighted index (TWI).
- **Latest day only** (default) or a **date range** you choose.

**Cash rate target decisions (RBA table A2)**

- One row per decision: `date`, change in percentage points and the new cash rate target.
- Latest decision only, or a date range.

### Input

| Field | What it is |
|---|---|
| `dataset` | `exchange-rates` or `cash-rate-target` |
| `currencies` | For exchange rates: codes like `USD`, `EUR`. Blank means all. Add `TWI` for the trade-weighted index. |
| `latestOnly` | `true` returns the newest published day (or newest decision). |
| `dateFrom`, `dateTo` | `YYYY-MM-DD`. Used when `latestOnly` is off. Blank `dateFrom` means 30 days before the newest data (2 years for the cash rate). |
| `maxItems` | Safety limit on rows returned (default 1,000). |

```json
{ "dataset": "exchange-rates", "currencies": ["USD", "EUR", "NZD"], "latestOnly": true }
```

### Output example

```json
{
  "date": "2026-09-28",
  "base": "AUD",
  "quote": "USD",
  "rate": 0.7023,
  "seriesId": "FXRUSD",
  "dataSource": "WM/Reuters",
  "unit": "USD per A$1",
  "attribution": "Source: Reserve Bank of Australia 2026"
}
```

A `SUMMARY` record in the key-value store lists the newest data date, the row count and the attribution.

### Good to know

- Rates are **indicative**. Use the RBA's own notes for the exact time and method.
- The RBA table F11.1 starts on 3 January 2023. Older history sits in separate RBA tables that this Actor does not read.
- Some currencies are not updated every day (for example AED and CHF in the current table). "Latest day only" returns the newest value the RBA has for each currency, and the `date` field shows which day it is.
- The RBA can withdraw or amend data at any time.

### Data licence and disclosure

The RBA publishes this data free of charge at https://www.rba.gov.au/statistics/. This Actor only fetches the RBA's public CSV tables and reformats them. It is not endorsed by, or affiliated with, the Reserve Bank of Australia. Most RBA material is published under Creative Commons Attribution 4.0 International (see https://www.rba.gov.au/copyright/), with extra conditions for financial data. The attribution line "Source: Reserve Bank of Australia \[year]" is included in every row. Do not use this data in a way that suggests the RBA endorses you. Some series carry a different data provider in the `dataSource` field (for example WM/Reuters for the USD rate): check that provider's terms if you republish.

### Pricing

You pay per row returned (pay per event). See the pricing panel on this page.

# Actor input Schema

## `dataset` (type: `string`):

Daily AUD exchange rates (RBA table F11.1, from 3 January 2023) or the history of cash rate target decisions (RBA table A2).

## `currencies` (type: `array`):

Three-letter codes for the exchange-rate data, for example USD, EUR, GBP, JPY, NZD, CNY. Add TWI for the trade-weighted index. Leave empty for all currencies the RBA publishes.

## `latestOnly` (type: `boolean`):

Return only the most recent published day (exchange rates) or the most recent decision (cash rate). Turn off to use the date range below.

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

First date to include, as YYYY-MM-DD. Used when Latest day only is off. Blank means 30 days before the newest data.

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

Last date to include, as YYYY-MM-DD. Blank means the newest data.

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

Safety limit on the number of rows returned in one run.

## Actor input object example

```json
{
  "dataset": "exchange-rates",
  "currencies": [
    "USD",
    "EUR",
    "GBP"
  ],
  "latestOnly": true,
  "maxItems": 1000
}
```

# 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 = {
    "currencies": [
        "USD",
        "EUR",
        "GBP"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ledgerleaf/aussie-apify-actors-1").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 = { "currencies": [
        "USD",
        "EUR",
        "GBP",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("ledgerleaf/aussie-apify-actors-1").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 '{
  "currencies": [
    "USD",
    "EUR",
    "GBP"
  ]
}' |
apify call ledgerleaf/aussie-apify-actors-1 --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ledgerleaf/aussie-apify-actors-1"
        }
    }
}
```

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/9hcSFfbafswwu2wsx/builds/VijJOVACRXFYq32DK/openapi.json
