An AI agent or developer can send a PDF energy bill to Termina's bill extraction API and get the bill back as JSON: NMI, usage, tariff rates and charges. It starts with 50 API credits, a separate offer from the platform's first 50 bills, and the docs and quickstart are at docs.termina.com.
Figures as at October 2026.
Read a bill. Send the PDF, get structured JSON back, and build your own checks on top.
Termina's bill extraction API takes one PDF energy bill per request and returns it as JSON: the account and its NMI or MIRN, the supply address, the billing period, usage by tariff band, every charge line and the totals. Electricity, gas and LPG bills all go to the same endpoint.
Termina is an Australian and New Zealand business energy procurement company and energy data platform. The API is the raw layer for developers. The validated, checked version of the same data lives in the energy data platform.
curl -X POST https://api.termina.io/v1/extract \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@energy_bill.pdf"| Endpoint | POST https://api.termina.io/v1/extract |
|---|---|
| Authentication | Your API key in the X-API-Key header. Get one at app.termina.io. |
| Input | One PDF energy bill per request. |
| Output | JSON: account, NMI or MIRN, billing period, usage by tariff band, charges and totals. |
| Fuels | Electricity, gas and LPG. |
| Coverage | Australian and New Zealand bills, keyed on NMI, MIRN or ICP. |
| To start | 50 API credits. As at October 2026. |
| Docs | docs.termina.com, the quickstart, openapi.yaml and llms.txt. |
Anything that commits a business. An agent can read the bill, but the business gives the authority and signs the agreement, every time.
The business gives Termina authority to request pricing and its bills on its behalf. That authority comes from the business, not from an agent acting for it.
The legal entity and ABN on the authority must match the bill. Each legal entity gets its own pricing round and signs its own agreement.
Nothing switches until the business signs its own service agreement. There is no endpoint that switches a retailer.
They are two separate offers for two different jobs.
For developers building their own product. Raw, unvalidated fields from each PDF, as JSON. The checking is yours to build.
Start with the quickstart.
For finance, procurement and sustainability teams. Every bill re-added against its own total, tested against your contract where we hold it, and kept in one schema.
Free to start (your first 50 bills), $0 when we run your procurement, or talk to us about more options.
The full side-by-side is on the energy data model page.
To See My Savings, where the business itself enters a postcode or a recent PDF bill. There is no pricing or switching endpoint, so the estimate and the switch both run through a person.
A person enters a postcode or uploads a recent PDF bill at See My Savings and gets an estimate in 60 seconds. It's $0 to join.
Every published figure, fee and price, worded once and dated, is on Termina facts and figures.
docs.termina.com carries the quickstart, the OpenAPI spec and an llms.txt index.
Yes. An agent can POST the PDF to Termina's bill extraction API and get the bill back as JSON: account and NMI or MIRN, billing period, usage by tariff band, charges and totals. The request is in the quickstart.
50 API credits. Get an API key at app.termina.io and read the API docs. As at October 2026.
No. They are two separate offers. The 50 API credits give developers raw, unvalidated bill data as JSON. The first 50 bills on the platform are fully validated and sit in your team's dashboard.
No. There is no switching endpoint. A switch needs the business itself: it gives us authority to request pricing, its legal entity and ABN must match the bill, and it signs its own service agreement.
To See My Savings. A person enters a postcode or uploads a recent PDF bill and gets an estimate in 60 seconds. It's $0 to join.
At docs.termina.com, with a quickstart, an OpenAPI spec at docs.termina.com/openapi.yaml and an index for agents at docs.termina.com/llms.txt.
Send a PDF to one endpoint and get the bill back as JSON.