Billing: subscriptions, prepaid credits, invoices
How Apier billing works: the two independent payment mechanisms (a subscription tier that sets your rate limits, and prepaid credits that pay for metered company reads), invoices and receipts via Stripe, why no VAT (MVA) is charged, and how to change or cancel.
[Cite this as: Apier.no Docs v0.1.0 — last updated 2026-10-12]
This guide describes how billing works when it goes live, so you can
plan for it. Billing goes live only after a minimum of 30 days' advance
notice by email to account owners; until that notice period has run,
the billing_live flag on /pricing.json stays false
and nothing is charged.
For the machine-first payment loop an autonomous agent implements (price
discovery, the 402 recovery contract, top-up handover, retry), see the
agent payments guide. For the tier matrix
and figures, see /pricing.
Two ways to pay
When billing goes live you can pay in either of two ways, or both:
- Monthly subscription. A fixed monthly fee that buys throughput and support, not a bundle of calls. The tier sets your enforced rate limits (requests per minute, a stricter per-minute limit on company-data endpoints, and a per-organisation daily cap) plus your support level and the solutions it unlocks. The tiers and their limits are on /pricing.
- Prepaid credits. A balance you top up in advance; each metered
company-data read draws its cost from it (50 øre, NOK 0.50, per read).
Top-ups run from NOK 50 to NOK 10,000 per transaction on the billing
dashboard, and unused credits stay on your account until they expire
12 months after the purchase date. Every successful metered response
tells you what it cost and what is left:
_meta.cost_nokand_meta.wallet_remaining_nokon the body (NOK). While credit enforcement is live the same debit also sets the whole-øreX-Credits-Cost-OreandX-Credits-Balance-Oreheaders; while it runs dark there are noX-Credits-*headers, the response carriesX-Credit-Check: shadow, and the body sayscost_nok: 0,wallet_remaining_nok: null. The agent payments guide has the full contract.
The two are independent
It is easy to assume otherwise, so to be precise: a subscription and a credit balance do not interact.
- A subscription does not include an allowance of metered company reads. There is no monthly included-call quota, and there is no per-call overage; nothing counts your calls against a monthly figure and nothing bills you for passing one.
- A credit balance does not raise your rate limits. Topping up buys metered reads, not throughput.
So there is no "which is spent first" question to answer: metered reads
always draw from credits, and the subscription always governs the
ceilings. What happens when you hit a ceiling is a 429 response
carrying Retry-After, never a charge.
You can read your own enforced ceilings without guessing. With an API
key, every rate-limited response carries X-RateLimit-Limit,
X-RateLimit-Remaining and X-RateLimit-Reset (an unlimited Enterprise
key gets none), and /pricing.json lists each tier's limits object.
Signed in to the dashboard, GET /api/v1/account/usage returns the same
limits object alongside the usage counts; that route is session-only,
so an API key gets 401 SESSION_REQUIRED there. A null on any numeric
limit means unlimited (the Enterprise tier), never zero.
Spend caps per key
You can cap what each API key may spend on metered reads per Europe/Oslo
calendar day and per Europe/Oslo calendar month, with
PATCH /api/v1/account/keys/{id} while signed in to the dashboard. A call
that would go over a cap is refused with 402 SPEND_CAP_REACHED before
anything is charged, and the cap resets at the next Oslo midnight or month
start. Caps count only while credit enforcement is live. The
agent payments guide has
the request shape and the 402 contract.
Invoices and receipts
Payments (subscription charges and credit top-ups alike) are processed by Stripe. Invoices and payment receipts are available in the billing portal at /dashboard/billing, the same place you top up a prepaid balance. Apier never stores your card details; they are held by Stripe.
VAT (MVA) — not charged
No VAT (merverdiavgift, MVA) is added to any Apier price. The seller, Grov Digital, is not registered in the Norwegian VAT register (Merverdiavgiftsregisteret), so the price you see is the total amount charged, and Stripe invoices and receipts carry no VAT line. If the seller becomes VAT-registered — registration is mandatory above the VAT Act's turnover threshold — prices and invoices will state VAT explicitly and this page will be updated.
How to subscribe or upgrade
Pick a tier on /pricing and complete the Stripe Checkout; the subscription starts when the payment goes through. To move between paid tiers later, use the billing portal at /dashboard/billing. Whoever subscribes must have the authority to bind the business the account represents; that consent is part of the terms accepted at signup. Prepaid credits are bought separately on the same billing dashboard, from NOK 50 per top-up, and expire 12 months after purchase.
How to change or cancel
Subscriptions can be changed or cancelled anytime from the billing portal at /dashboard/billing. Changes take effect at the end of the current billing period; you keep access to the plan you have paid for until then. Cancelling a subscription does not remove any prepaid credits: the two are separate ledgers, so an unused credit balance remains available afterward, until its normal expiry 12 months after the purchase date. What a cancellation changes is your rate-limit ceilings, which drop to the free-tier values; your API keys are never revoked for billing reasons.
Agent payments: discover prices, survive 402, top up, retry
The full prepaid-credit payment loop for autonomous agents: price discovery at /api/v1/pricing, the machine-readable 402 recovery contract, agent-initiated top-up requests with human approval, the agent payment rails (x402 and MPP) and how to read which are on, and balance visibility on every metered response.
Inspecting actions with the audit trail
Agents have no dashboard. Use the signed receipt, the audit endpoint, correlation_id, and initiated_by to reconstruct exactly what an action did, on the sandbox today and on production later.