Billing and what counts as a Read
Try it on a test key
curl -s "https://api.wellwardhealth.com/v1/usage" -H "Authorization: Bearer $WELLWARD_KEY"
Test keys are free. Live use is billed monthly in arrears, per usage: per Read and per completed price request. There is no minimum, no free allowance and no volume band.
The rates
The rates are on the pricing page — the one place they are stated, so this page and the reference cannot drift from it. What you pay for:
- Reads — each call to
GET /v1/prices,GET /v1/prices/{id},GET /v1/benchmarksor an MCP price tool that returns data. Each page of results is a separate Read. - Completed price requests — a request that obtains a price. It is not billed if we obtain no quote, or if the only quote is outside the reasonable band of prices for that service in that market or comparable markets. A request obtains a price when a new price for that service, near the location you asked about and quoted on or after the day you asked, is published while it is open; every request is billed on its own. The price then becomes available to every customer, and later Reads of it are billed as Reads.
- Everything else is free, including
/v1/coverageand/v1/search, and nothing a test key does is ever billed.
What counts as a Read
This is the definition we bill by:
- A Read is one successful (HTTP 2xx) call to a price or benchmark endpoint that returns data — one or more Price Records, or a benchmark distribution — regardless of how many Price Records are returned in that response.
- A single call returning prices for one service near one location (typically several provider locations) is one Read. Each page of results is a separate Read. A page holds up to 20 results, and every
/v1/pricesresponse carriessummary.count— the total number of results — so you know how many pages (and Reads) a full pull takes before you fetch them. - Calls returning HTTP 4xx or 5xx, empty results, or only provider directory records without prices are not Reads. Calls to authentication, status, metadata, usage, webhook and Request-status endpoints are not Reads.
- A call that fails with a server error (5xx) is not a Read. Identical calls within 60 seconds from the same account are counted once.
- Our usage logs are the record of Reads. You can see running usage and download monthly statements in the developer dashboard.
The billed endpoints are GET /v1/prices, GET /v1/prices/{id}, GET /v1/benchmarks, and the MCP tools find_cash_prices, explain_price and get_cash_benchmark. Everything else — /v1/coverage, /v1/search, /v1/services, /v1/usage, /v1/prices/changes, webhooks, request status — is free.
Watching your usage
GET /v1/usage returns Reads, other calls, test calls and requests by day or month, with the current rate and month-to-date charge. The dashboard's Usage tab and your monthly statement show the same numbers, computed from the same records.
Paying
- Card: added in the dashboard through Stripe. You are charged on the 1st for the month just closed.
- Invoice: for larger accounts, by arrangement — net 30. Email hello@wellwardhealth.com.
Statements (PDF) are in the dashboard's Billing tab.
Spending cap
Set a monthly cap in the dashboard. We email your admins and billing members — and send usage.threshold_reached — at 50%, 80% and 100%. At the cap, everything that costs money stops until you raise it or the month ends: Reads (including the MCP price tools) and new live price requests return 402 spend_cap_reached — or, through MCP, a tool error. Free endpoints keep working.
New accounts have a lower monthly cap (shown in the dashboard and on the pricing page) until the first invoice is paid, whatever cap you set (you can set a lower one). After that, your own cap applies. Email hello@wellwardhealth.com to lift it sooner.
If a payment fails
Stripe retries automatically. If it cannot collect, we email you and send billing.payment_failed. If the invoice is still unpaid ten days later, live keys are suspended (402 payment_required); test keys keep working. Paying the outstanding invoice reactivates them straight away: open Billing → Manage billing & invoices. Adding or replacing a card makes it the card we charge from then on, but does not by itself pay an invoice Stripe has stopped retrying.
API reference · Dashboard · Questions: hello@wellwardhealth.com