How to Bill Clients for AI API Costs: Pass-Through vs. Markup

- You have two honest ways to bill a client for the AI API usage your build runs on: pass it through at cost as a separate line item, or roll it into a flat fee with a markup baked in. Most builders should default to pass-through until volume makes a flat fee worth the risk.
- Pass-through keeps you out of the business of predicting someone else's usage. Markup lets you earn on infrastructure, but only works once you have enough real usage data to price the risk instead of guessing at it.
- Whichever you choose, put it in writing before the build starts. The single worst version of this conversation is explaining a surprise API bill after the client has already seen the number.
The Two Honest Ways to Bill for API Usage
When you build something for a client that runs on a paid API - Claude, OpenAI, or any usage-billed model - you have exactly two honest options for how the client pays for that usage. Pass it through at cost, itemized and separate from your fee. Or fold an estimate of it into a flat fee, with a markup that covers the risk of guessing wrong. Everything else is a variation on these two, and most billing disputes with clients come from picking one without saying so clearly upfront.
Neither option is more honest than the other as long as the client knows which one they are getting before they sign. The dishonest version is the third, unofficial option some builders slide into: an unstated markup buried in an unclear number, discovered by the client later when they compare notes with someone else. That erodes trust faster than almost anything else in a client relationship, because it reads as billing them for something they did not know they were being charged for.
When to Pass API Costs Through at Cost
Pass-through billing means the client pays their own API bill directly, or reimburses you exactly what the usage cost with a copy of the invoice. Your fee for building and maintaining the system is entirely separate and does not move with usage.
- It is the right default when usage volume is genuinely unpredictable - a new build with no history to estimate from, or a client whose usage could spike based on their own growth.
- It removes an entire category of risk from your side. You are not exposed if the client's usage triples unexpectedly, and you never have an awkward conversation about a markup that turned out to be too thin.
- It is simpler to defend. 'You pay Anthropic directly for what you use, and you pay me for the system I built and maintain' is a sentence any client understands immediately, with nothing to negotiate.
- The tradeoff: you give up a real revenue line. Infrastructure margin is standard practice in software, and pass-through means you are the only party in the chain not earning anything on the usage itself.
When a Markup Actually Makes Sense
A markup on API costs makes sense once you have enough real usage history to price the risk instead of guessing at it, and once you are willing to own that risk in exchange for the margin. This is not a default - it is something you earn the right to do by having the data.
| Situation | Better fit |
|---|---|
| New build, no usage history | Pass-through - you have nothing reliable to price a markup against |
| Recurring client, 3+ months of stable usage data | Markup - you can price the risk with real numbers |
| Client wants one predictable flat invoice, no surprises | Markup, folded into a flat monthly fee |
| Usage could spike with the client's own growth (new feature, new customers) | Pass-through, or a markup with a stated usage cap |
Pass-through vs. markup - which fits the situation
If you do markup, price it off your actual historical usage for that client, not a guess, and add a buffer - 15 to 30 percent over your best estimate is a reasonable range depending on how volatile the client's usage has been. State the cap in writing: 'This fee covers up to $X in usage; anything beyond that is billed at cost.' Without a cap, one usage spike from the client's own growth turns your margin into a loss.
Put It in Writing Before the Build Starts
Whichever model you use, the client needs to see it in writing before you start, not discover it when the first invoice or the first surprise API bill arrives. One short paragraph in your proposal or agreement does the job: which model you are using, what the client can expect to pay and when, and what happens if usage runs higher than expected.
Decide Your Model Before Your Next Proposal
Before you send your next proposal for a build with real API usage attached, decide which model you are using and write the sentence that explains it to the client. Default to pass-through if you do not yet have real usage history for this kind of build. Move to a capped markup once you do, and only once you are comfortable pricing the risk instead of guessing at it.
Short, practical drops on offers, outreach, pricing, and closing clients with Claude Code. No spam, unsubscribe anytime.
Frequently asked
Should I markup API costs when billing AI clients?
Only once you have real usage history for that kind of build - enough data to price the risk instead of guessing. Without that history, pass-through billing at cost is the safer default, because a markup priced on a guess can easily turn into a loss if usage runs higher than expected.
What is pass-through billing for AI API costs?
Pass-through means the client pays their own API usage directly, or reimburses you exactly what it cost with a copy of the invoice, completely separate from your build fee. It removes the risk of a usage spike from your side and is the simplest model to explain to a client.
How much should I markup API costs if I choose to?
Price it off your actual historical usage for that specific client, not a guess, and add a buffer of roughly 15 to 30 percent depending on how volatile their usage has been. State a usage cap in writing so a spike in their own growth does not turn your margin into a loss.
Should I put API billing terms in the client contract?
Yes, always, before the build starts. One short paragraph stating which billing model you are using, what the client can expect to pay, and what happens if usage exceeds an estimate prevents the worst version of this conversation - a client discovering a surprise bill after the fact.
Where can I learn more about pricing AI builds for clients?
The Claude Code Profit Room covers real pricing structures, including how members bill for API usage across their actual client work. Join at claudecodeprofitroom.ai for $9/month.
Last reviewed August 5, 2026.

Co-founder of the Claude Code Profit Room. Built and sold AI services to real clients; writes about offers, pricing, outreach, and closing with receipts.
More from Duncan Rogoff →

