Get your balance
curl --request GET \
--url https://intentleads.si/api/v1/billing/balance \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://intentleads.si/api/v1/billing/balance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/billing/balance"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"balance_usd": 412.5,
"held_by_running_exports_usd": 20,
"available_usd": 392.5,
"expires_at": "2027-02-09T14:02:11.000Z",
"expiry_rule": "The balance expires after 3 months with no top-up, grant or spending; any of those resets the clock.",
"month": {
"start": "2026-11-09",
"end": "2026-12-09"
},
"meters": {
"intent": {
"people_this_month": 2140,
"spent_usd": 214,
"price_now_cents": 10,
"next_price_drop": {
"after_people": 2500,
"cents": 8
},
"people_the_balance_covers": 4816
},
"search": {
"people_this_month": 0,
"spent_usd": 0,
"price_now_cents": 5,
"next_price_drop": {
"after_people": 50000,
"cents": 4
},
"people_the_balance_covers": 7850
}
},
"this_organization": {
"intent_leads": 2100,
"search_results": 0,
"website_visitors": 40,
"spent_usd": 214
},
"paid_by": "this_organization",
"prices": {
"intent": [
{
"from": 1,
"to": 2500,
"cents": 10
},
{
"from": 2501,
"to": 7500,
"cents": 8
},
{
"from": 7501,
"to": 20000,
"cents": 6.7
},
{
"from": 20001,
"to": null,
"cents": 5
}
],
"search": [
{
"from": 1,
"to": 50000,
"cents": 5
},
{
"from": 50001,
"to": 250000,
"cents": 4
},
{
"from": 250001,
"to": null,
"cents": 2.5
}
],
"note": "Per person, marginal: the price falls as your organization (with its workspaces) uses more in a billing month, and resets next month. Website visitors use the intent prices."
},
"top_ups": {
"presets_usd": [
250,
500,
1000,
2500,
10000
],
"min_usd": 250,
"max_usd": 50000,
"how": "POST /api/v1/billing/topups {\"amount\": 500} (admin key) returns a checkout_url. Automatic top-up: PUT /api/v1/billing/auto-topup {\"enabled\": true, \"amount\": 500, \"threshold\": 50}."
}
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}Get your balance
Your prepaid balance, this billing month’s people and dollars on each meter (intent covers intent leads and website visitors), the price per person now and where it drops next, and the price tiers. Prices fall as your organization, with its workspaces, uses more in a billing month, and reset next month.
Works with any key. A workspace’s own key gets its workspace’s spending and monthly budget (workspace_budget) and never the organization’s balance. Admin keys of the organization also see the monthly top-up and each workspace.
Free. This doesn’t spend your balance.
GET
/
api
/
v1
/
billing
/
balance
Get your balance
curl --request GET \
--url https://intentleads.si/api/v1/billing/balance \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://intentleads.si/api/v1/billing/balance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/billing/balance"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"balance_usd": 412.5,
"held_by_running_exports_usd": 20,
"available_usd": 392.5,
"expires_at": "2027-02-09T14:02:11.000Z",
"expiry_rule": "The balance expires after 3 months with no top-up, grant or spending; any of those resets the clock.",
"month": {
"start": "2026-11-09",
"end": "2026-12-09"
},
"meters": {
"intent": {
"people_this_month": 2140,
"spent_usd": 214,
"price_now_cents": 10,
"next_price_drop": {
"after_people": 2500,
"cents": 8
},
"people_the_balance_covers": 4816
},
"search": {
"people_this_month": 0,
"spent_usd": 0,
"price_now_cents": 5,
"next_price_drop": {
"after_people": 50000,
"cents": 4
},
"people_the_balance_covers": 7850
}
},
"this_organization": {
"intent_leads": 2100,
"search_results": 0,
"website_visitors": 40,
"spent_usd": 214
},
"paid_by": "this_organization",
"prices": {
"intent": [
{
"from": 1,
"to": 2500,
"cents": 10
},
{
"from": 2501,
"to": 7500,
"cents": 8
},
{
"from": 7501,
"to": 20000,
"cents": 6.7
},
{
"from": 20001,
"to": null,
"cents": 5
}
],
"search": [
{
"from": 1,
"to": 50000,
"cents": 5
},
{
"from": 50001,
"to": 250000,
"cents": 4
},
{
"from": 250001,
"to": null,
"cents": 2.5
}
],
"note": "Per person, marginal: the price falls as your organization (with its workspaces) uses more in a billing month, and resets next month. Website visitors use the intent prices."
},
"top_ups": {
"presets_usd": [
250,
500,
1000,
2500,
10000
],
"min_usd": 250,
"max_usd": 50000,
"how": "POST /api/v1/billing/topups {\"amount\": 500} (admin key) returns a checkout_url. Automatic top-up: PUT /api/v1/billing/auto-topup {\"enabled\": true, \"amount\": 500, \"threshold\": 50}."
}
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}Authorizations
Response
The balance.