Overview

BillerAPI Documentation

One integration for account linking, normalized bill data, payments, imports, insights, and customer messaging.

What your users see

Hosted by BillerAPI
How the connection flow works →
Connect a biller

Find your biller

Search supported billers

spring
SUSpringfield UtilityELECTRIC · IL
SWSpringfield WaterWATER · IL
SBSpring BroadbandINTERNET · US
Continue
01 · Select biller
Connect a biller

Share your bill data

Springfield Utility → Acme App

BillsAmounts, due dates, statementsbills:read
Account detailsBiller name, masked account, status
Agree and continue
02 · Consent
Connect a biller

Log in to Springfield Utility

Entered here only — never sent to Acme App

Username
jordan@example.com
Password
••••••••••••
Verify (MFA) — if your biller asks, we'll prompt for a one-time code next.
Log in
03 · Credentials
Connect a biller

Choose accounts to link

2 accounts found at Springfield Utility

Electric••••4242
Gas••••8811
Link account
04 · Select accounts
Connect a biller
Account linked
Springfield Utility
Account••••4242
Done
05 · Success

The most common path. Region selection appears between consent and credentials for region-gated billers, and an MFA or security-question step appears after login when the biller requires one.

The hosted Elements flow — your user links their biller in under a minute. You never touch credentials.

How it fits together

Three moves. Two of them are yours; the middle one is the flow above.

1Create link token
Your server
POST /v1/link-tokens
2User links in hosted flow
Client
elements.connect({ linkToken }) → public_token
3Exchange + read bills
Your server
POST /v1/link-tokens/:public_token/exchange
GET /v1/bills
Try it now
curl https://sandbox.api.billerapi.com/v1/billers \
  -H "Authorization: Bearer $BILLERAPI_API_KEY"

Use a sandbox API key from the developer dashboard. Get your first key to link accounts and retrieve bills.

Required for every production integration

Keep connected-account experiences complete

How BillerAPI works

1

Create a Link Session

Your server calls POST /v1/link-tokens to get a link token for the hosted Elements flow.

2

User connects their biller account

Elements guides the user through selecting a biller and entering credentials.

3

Exchange the public token

Your server exchanges the one-time public token for a durable account_link_id and a link-scoped access token.

4

Retrieve bills

Use your server API key with account_link_id to list bills via GET /v1/bills. Webhooks notify you of new bills.

Base URL

https://sandbox.api.billerapi.com

See Environments for production URLs.

Authentication

Authorization: Bearer bak_test_...

See Authentication guide for details.

Was this page helpful?