ausdataio — Python SDK + CLI for ausdata.io
Official Python client and command-line interface for ausdata.io, the unified API for Australian public data: ABS, RBA, ATO, APRA, AIHW, ASIC, AEMO, WGEA, BOM. One auth key, one envelope, every major source.
pip install ausdataio
Quickstart (3 lines)
from ausdataio import Ausdata
client = Ausdata() # reads AUSDATA_API_KEY env var
print(client.economic_dashboard())
Get a free key at https://ausdata.io. Free tier: 500 calls / month.
CLI
ausdata configure # store key in ~/.ausdata/config.json
ausdata dashboard # five headline macro indicators
ausdata cpi --region australia --limit 8
ausdata cashrate
ausdata real-wages --limit 12
ausdata search "youth unemployment"
ausdata data abs CPI -f region=australia -f limit=4
ausdata weather sydney
Run ausdata --help for the full command list.
CLI commands
| Command | Endpoint |
|---|---|
health |
GET /v1/health |
status |
GET /v1/status |
whoami |
GET /v1/whoami |
search <query> |
GET /v1/search-datasets |
list [source] |
GET /v1/datasets[/{source}] |
describe <source> <id> |
GET /v1/describe/{source}/{id} |
data <source> <id> [-f k=v] |
GET /v1/data/{source}/{id} |
releases |
GET /v1/releases |
cpi |
ABS CPI shortcut |
cashrate |
GET /v1/real-cash-rate |
real-wages |
GET /v1/real-wages |
dashboard |
GET /v1/economic-dashboard |
cost-of-living |
GET /v1/cost-of-living |
youth-unemployment |
GET /v1/youth-unemployment |
trade-balance |
GET /v1/trade-balance |
housing-affordability |
GET /v1/housing-affordability |
gender-pay |
GET /v1/gender-pay-context |
energy |
GET /v1/energy-snapshot |
weather <location> |
GET /v1/weather/{location} |
configure |
Save key to ~/.ausdata/config.json |
Sync SDK
from ausdataio import Ausdata
with Ausdata(api_key="ak_...") as client:
print(client.cpi(region="australia", limit=4))
print(client.cash_rate())
print(client.real_wages(limit=12))
print(client.data("rba", "F1.1", limit=24))
Async SDK
import asyncio
from ausdataio import AsyncAusdata
async def main():
async with AsyncAusdata() as client:
snapshot = await client.economic_dashboard()
print(snapshot)
asyncio.run(main())
Errors
The SDK raises typed exceptions you can catch::
from ausdataio import Ausdata
from ausdataio.errors import AuthenticationError, RateLimitError, AusdataError
try:
Ausdata().economic_dashboard()
except AuthenticationError:
print("Bad / missing key")
except RateLimitError as exc:
print(f"Quota hit; retry after {exc.retry_after}s")
except AusdataError as exc:
print(f"API error {exc.status_code}: {exc}")
Auth precedence
--api-key(CLI flag) /api_key=...(SDK kwarg)AUSDATA_API_KEYenvironment variable~/.ausdata/config.json(CLI only)
Recipes / built-with
Ready-to-run examples that combine ausdata with common tools:
- Daily CPI digest → Slack —
cron + ausdata + requests→ Slack message every release morning - Notion macro tracker — sync live cash rate / CPI / unemployment to a Notion database
- Discord economy bot —
!cpi,!cashratecommands for AU finance communities - Real-wages tweet thread —
cron + ChatGPT + tweepyauto-thread on every WPI release - Newsletter widget — drop a live economic-dashboard
<script>into Substack - Cursor / Continue.dev IDE plugin — autocomplete with AU data inline
See ausdata.io/built-with for working source.
Companion projects
- MCP server:
npx -y ausdata-mcp@latest— drop AU data into Claude Desktop, Cursor, Continue - Hosted API: https://api.ausdata.io — same endpoints, language-agnostic
- Free public sister MCPs:
abs-mcp,rba-mcp,ato-mcp,apra-mcp,aihw-mcp,asic-mcp,aemo-mcp,au-weather-mcp,wgea-mcp
Docs
- API reference + OpenAPI: https://api.ausdata.io/docs
- Pricing + signup: https://ausdata.io
- Status page: https://api.ausdata.io/v1/status
What ausdata.io doesn't do (honest)
- ❌ Suburb-level property prices (use CoreLogic)
- ❌ Live KYC / per-company verification (use Kyckr / vigil)
- ❌ Address-level flood / hazard (insurer-only via ICA NFID)
- ❌ Open Banking / CDR consumer data (use Basiq / Frollo)
- ❌ 5-min wholesale electricity bid stacks (use AEMO NEMWEB directly)
ausdata.io covers public macro / aggregate data with citation-ready provenance — see https://ausdata.io/pricing#what-we-dont for the full list.
Licence
FSL-1.1-MIT — free for any non-competing use; reverts to MIT after two years.
Metadata
Release files for ausdataio 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ausdataio-0.1.0.tar.gz | 34.7 kB | Without provenance | Details for ausdataio-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ausdataio-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for ausdataio-0.1.0-py3-none-any.whl |
Total release size: 53.6 kB
Release files / ausdataio-0.1.0.tar.gz
| Download URL | ausdataio-0.1.0.tar.gz |
|---|---|
| Size | 34.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
39704bffe32c2cbe8b997fcad2f1ce7edd37b1b837725b112b4cb7f370a294b7
|
|
BLAKE2b-256 checksum How to use checksums |
08710deefbb3559bb819562d2a346f8e69c95cb0336af77cd137c6ce36dbd9b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / ausdataio-0.1.0-py3-none-any.whl
| Download URL | ausdataio-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
09de13e986e1a626b9f4acd4b2faa86a31fd41434503ba2f2680b7517908432c
|
|
BLAKE2b-256 checksum How to use checksums |
1de198d3b633f7d658b797662dfcaaa9789ee22149f3f6e12e4ad7d92cf5d966
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for ausdataio 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.