
What a website built by AI costs: a public ledger
A public ledger. Started 19/09/2026, added to with every new job.
In short
I rebuilt two real websites and wrote down the exact bills. $160.35 so far. The dearer bill did not buy the bigger site: it bought the one the most expensive model wrote from start to finish.
This is not a finished piece, it is a ledger. Every new job gets its own row.
What I mostly hear about AI and websites is the same two words: fast and cheap. I rarely see exact numbers. So here are mine. From 19/09/2026 on, every site I build or change with AI goes in here: the date, what was done, and what landed on the invoice.
The first two jobs were done on the same day. One site for a school, one for a scrap metal and recycling yard. Both new sites are design concepts on a preview address, not live websites. Neither organisation commissioned or endorsed them. Below is what each job cost, what that sum is made of, and what I left out of it.
- Tool
- Claude Code on the Max 20x plan. The amounts are what its session panel reports, at API prices
- Model
- Fable 5.1, Opus 5, Sonnet 5 and Haiku 4.5, in different proportions in each job
- Date run
- 19/09/2026
- Task
- Rebuild two live websites from start to finish
- Cost
- $160.35 for both jobs together
- What was measured
- The bill in dollars, the time spent, the number of pages and the weight of the home page
$160.35Total so far
2Websites
19/09/2026Updated
Amounts are in US dollars, because that is how Anthropic bills.
The websites
Old site on the left, new one on the right. Drag the middle. All the new ones are samples, not live sites.
Richmond International School
A design concept on a preview address, not the live site.
An international school. The old home page was about 4 times heavier to load than the new one.


Drag the handle or use the arrow keys.
Old site: richmondinternationalschool.comNew: preview.martynaskairys.com/richmond/a/
| Old | New | |
|---|---|---|
| Transferred | 3.1 MB | 0.7 MB |
| Requests | 216 | 20 |
| Third-party hosts | 16 | 0 |
| Load time | 1.7 s | 0.4 s |
Home page, measured 19/09/2026, one run.
An international school. The old home page was about 7 times heavier to load than the new one.


Drag the handle or use the arrow keys.
Old site: richmondinternationalschool.comNew: preview.martynaskairys.com/richmond/b/
| Old | New | |
|---|---|---|
| Transferred | 3.1 MB | 0.4 MB |
| Requests | 216 | 16 |
| Third-party hosts | 16 | 0 |
| Load time | 1.7 s | 0.3 s |
Home page, measured 19/09/2026, one run.
$52.6228 pages · 14 min 29 s of my attention · done 19/09/2026
More about this job
The facts
- Pages
- 14 per version, 28 in total
- Stack
- Static HTML, CSS, vanilla JS, self-hosted fonts, school photos converted to WebP
- What is in it
- Policies, fees, FAQ, booking form
Entries for this project
Built for $52.62. No changes since.
-
19/09/2026build$52.62
First build: two design versions
Two complete versions of the site from one brief, 14 pages each.
Fable 5.1 planned and reviewed, Opus 5 subagents wrote the pages, and Sonnet 5 did the content inventory. Static HTML, CSS and vanilla JavaScript.
- Pages 28
- Prompts 16
- Active time 14 min 29 s
- API time 1 h 20 min
- Lines of code +6124 / -45
- Cache hit 99 %
- Opus 5 80 %
- Fable 5.1 16 %
- Sonnet 5 4 %
Plain-words glossary
- Model
- The AI program itself. There are several, from cheaper to dearer, and they work at different levels.
- Tokens
- The way the text a model reads and writes is counted, roughly a piece of a word. This is what you pay for.
- Cache
- A holding place for text already read, so it does not have to be read again. Writing into it costs money, reading from it is cheap.
- Subagent
- A separately started model that does one part of the job. It starts from nothing, so it first has to read the job in.
ENI Environment
A design concept on a preview address, not the live site.
A scrap metal and recycling yard. The old home page was about 18 times heavier to load than the new one.


Drag the handle or use the arrow keys.
Old site: eni-environment.com/homeNew: preview.martynaskairys.com/eni/
| Old | New | |
|---|---|---|
| Transferred | 17 MB | 0.9 MB |
| Requests | 39 | 19 |
| Third-party hosts | 6 | 0 |
| Load time | 3.5 s | 0.2 s |
Home page, measured 19/09/2026, one run.
$107.7310 pages · 19 min 13 s of my attention · done 19/09/2026
More about this job
The facts
- Pages
- 10 (9 plus a 404)
- Stack
- Eleventy and Nunjucks, image pipeline with sharp, per-page OG cards, JSON-LD, sitemap, llms.txt, a build check script
- Before the build
- 27 web searches on the business itself
Entries for this project
Built for $107.73. No changes since.
-
19/09/2026build$107.73
First build: the site plus research on the business
Research on the business first, 27 web searches, then a 10-page site.
Fable 5.1 did the work itself and fanned out about 100 subagent runs, most of them also on Fable. Per-page OG cards, structured data, an image pipeline with sharp and a build check script.
- Pages 10
- Prompts 12
- Active time 19 min 13 s
- API time 1 h 23 min
- Lines of code +4113 / -88
- Cache hit 99 %
- Fable 5.1 81 %
- Opus 5 18 %
- Haiku 4.5 1 %
Plain-words glossary
- Model
- The AI program itself. There are several, from cheaper to dearer, and they work at different levels.
- Tokens
- The way the text a model reads and writes is counted, roughly a piece of a word. This is what you pay for.
- Cache
- A holding place for text already read, so it does not have to be read again. Writing into it costs money, reading from it is cheap.
- Subagent
- A separately started model that does one part of the job. It starts from nothing, so it first has to read the job in.
Why one website cost more than two
The cheaper bill bought two complete versions of one site, the bill twice as big bought a single smaller site. Here is why.
| Richmond International School | ENI Environment | |
|---|---|---|
| Pages made | 28 | 10 |
| The bill | $52.62 | $107.73 |
| Cost per page | $1.88 | $10.77 |
Cost per page is the bill divided by the number of pages. It is a rough measure: the pages are not alike.
- The most expensive model did all the hands-on work itself, instead of only checking the work of a cheaper one.
- It used about 100 helper runs, and each helper first had to read the whole job in, which is also billed.
- That job also included research on the business, 27 web searches, not only building the site.
Now I leave the planning and the checking to the most expensive model, and give the work itself to a cheaper one.
Full explanation with numbers
The two builds side by side
| Richmond International School | ENI Environment | |
|---|---|---|
| Pages built | 28 | 10 |
| The bill | $52.62 | $107.73 |
| Cost per page | $1.88 | $10.77 |
| Who did the bulk of the work | Opus 5 subagents. Fable 5.1 only planned and reviewed. | Fable 5.1 itself, plus about 100 subagent runs, most of them also on Fable. |
Cost per page is worked out from the bill and the page count. It is a rough measure: the pages differ in size and in how hard they were.
Three reasons
The expensive model did the hands-on work
Fable 5.1 costs twice what Opus 5 does for the same number of tokens. On Richmond, Fable only planned and reviewed, and Opus 5 subagents wrote the pages. On ENI, Fable wrote them itself. It is the same as letting the most senior person in the room write every line instead of reviewing the work of others.
About 100 helpers, and each one had to read itself in
Every subagent starts empty. The first thing it does is read the brief and the files, and that reading is written into the cache, so it does not have to be read again, and billed at that model's price. ENI ran up 5.4M cache-write tokens, Richmond 1.1M.
The ENI job was more than building
Before writing any page, the model researched the business itself: 27 web searches. Then came the image pipeline, the per-page OG cards, the structured data and a build check script. Richmond needed no research, because the content inventory was handed over as a file.
Where the tokens go
In both builds the text the model actually wrote (the code and the copy) is a small part of the bill: about 100k and 186k output tokens. Most of the tokens are the model re-reading the conversation and the files at every step: 78.6M and 71M cache reads. Each of those is cheap, but there are hundreds of times more of them.
So the split of the tokens and the split of the bill look different: one output token costs far more than one cache read.
Tokens by type
From the session logs. They run a little past the session panel, so the figures are approximate. The bars show true proportions, which is why output and fresh input are barely visible slivers. That is the point.
Richmond International School
- Output: 100k
- Cache writes: 1.1M
- Cache reads: 78.6M
- Fresh input: under 1k
ENI Environment
- Output: 186k
- Cache writes: 5.4M
- Cache reads: 71M
- Fresh input: about 1k
Cost share by model
From the session panel. There are no dollar amounts per token type here, because the panel does not show them.
Richmond International School
- Opus 5 80 %
- Fable 5.1 16 %
- Sonnet 5 4 %
ENI Environment
- Fable 5.1 81 %
- Opus 5 18 %
- Haiku 4.5 1 %
What I do differently now: plan and review with the most expensive model, hand the building to the cheaper one, and give the helpers a short brief instead of the whole conversation.
Plain-words glossary
- Model
- The AI program itself. There are several, from cheaper to dearer, and they work at different levels.
- Tokens
- The way the text a model reads and writes is counted, roughly a piece of a word. This is what you pay for.
- Cache
- A holding place for text already read, so it does not have to be read again. Writing into it costs money, reading from it is cheap.
- Subagent
- A separately started model that does one part of the job. It starts from nothing, so it first has to read the job in.
- API key
- The pay-per-use route. The bill arrives for each job separately.
- Subscription
- A monthly fee. You pay the same amount, but you can only do so much work in a week.
What to do on Monday: if you let AI write code, look at which model is doing the hands-on work. Leave the planning and the checking to the most expensive one, and hand the writing to a cheaper one.
What these numbers leave out
Building the site is only part of the job
What AI makes here is a folder of files: the pages, the design, the text. Two things are still missing before it is a working website.
First, the site has to live somewhere and be looked after: hosting, the domain, the email that comes from the forms.
Second, someone has to decide how the owner will change a price or add a news item later. That is what a content management system (CMS) is for. These sites have none: today every change means going back to the AI or to a developer.
The old Richmond site runs on Wix, where hosting and an editor come with one monthly fee. Leave that, and both have to be solved separately.
- My time: the reading, the checking and the decisions. The minutes of active attention are written next to each entry.
- Knowing what to ask for and what a good site needs.
- The owner confirming facts: phone, hours, photo rights.
- Hosting and the domain.
- A content management system (CMS), so the owner can change the text without help.
- Content the business still has to supply.
- Upkeep: every later change gets its own row in the ledger.
And again: everything shown here is a design concept on a preview address, not a live site. None of these organisations commissioned or endorsed them.
A fair objection: these are not the prices of websites, they are the prices of a folder of files. None of these sites runs anywhere, none has a content management system, and nobody asked for them. Agreed, which is why what the numbers leave out has a section of its own.
What it would cost you
First, about me. I work on the Max 20x plan, which costs $200 a month, so I never got these amounts as a bill. They are what the same work would cost at API prices, as Claude Code itself counts it. For me it is not money, it is a share of the weekly limit.
Pay for what you use
You pay exactly the amounts written on this page. For everything here, $160.35.
The $100 or $200 a month plan
Work like this fits inside the plan with no extra bill. You can only do so much work in a week.
The $20 a month plan
The most expensive model is not in it and is billed separately. This exact way of working does not fit, you would use the cheaper models instead.
Prices, plans and limits
API prices per million tokens
| Model | Input | Cache write 5 min | Cache write 1 h | Cache read | Output |
|---|---|---|---|---|---|
| Fable 5.1 | $10 | $12.50 | $20 | $0.25 | $50 |
| Opus 5 | $5 | $6.25 | $10 | $0.50 | $25 |
| Sonnet 5 | $2 | $2.50 | $4 | $0.20 | $10 |
| Haiku 4.5 | $1 | $1.25 | $2 | $0.10 | $5 |
platform.claude.com, read 19/09/2026.
Subscriptions
claude.com/pricing and support.claude.com, read 19/09/2026.
How the limits work
A rolling 5-hour session limit plus a weekly limit, shared between Claude Code and the Claude apps. At the limit you wait for the reset or turn on usage credits, which are billed at standard API rates.
Anthropic's own figures
Anthropic puts Claude Code on the API at about $13 per developer per active day and $150 to $250 per developer per month, with 90 % of users under $30 per active day.
Anthropic does not publish how many dollars of API-equivalent usage a plan covers, so this page does not claim one.
Three routes to the same work
| API key | Pro | Max | |
|---|---|---|---|
| What you pay for everything in this ledger | $160.35 to date. That is what lands on the invoice. | The Fable part would be billed at API rates anyway. In practice Pro means doing this with Opus and Sonnet only. | $0 extra, but it eats part of the week's limit. How much is not shown anywhere. |
| What limits you | Nothing except money. | The rolling 5-hour limit and the weekly limit. You wait them out. | The same limits, higher. Fable up to 50 % of the weekly limit. |
| Which models | All of them, at the prices in the table above. | The Claude Code models in the plan. Fable only on usage credits. | The same ones, plus Fable 5.1 up to 50 % of the weekly limit. |
| Who it suits | Someone who wants the exact cost of each job. | Someone working in smaller bursts who can wait for a reset. | Someone working daily who does not want to think about the bill. |
Plain-words glossary
- API key
- The pay-per-use route. The bill arrives for each job separately.
- Subscription
- A monthly fee. You pay the same amount, but you can only do so much work in a week.
Over time
Every job gets its own row with a date and a price. The list grows with each new job.
The ledger
| Date | Project | What was done | Cost | Models |
|---|---|---|---|---|
| 19/09/2026 | ENI Environment | First build: the site plus research on the business build Research on the business first, 27 web searches, then a 10-page site. | $107.73 | Fable 5.1 81 %, Opus 5 18 %, Haiku 4.5 1 % |
| 19/09/2026 | Richmond International School | First build: two design versions build Two complete versions of the site from one brief, 14 pages each. | $52.62 | Opus 5 80 %, Fable 5.1 16 %, Sonnet 5 4 % |
| Total | $160.35 | |||
The table scrolls sideways.
No entries for this project yet.
Sources
- Claude API pricing: platform.claude.com/docs/en/about-claude/pricing (read 19/09/2026)
- Claude plans: claude.com/pricing (read 19/09/2026)
- Claude support: usage limits: support.claude.com (read 19/09/2026)
- Claude Code costs: code.claude.com/docs/en/costs (read 19/09/2026)
The bill for a website stopped being a mystery to me and became a row in a table. The interesting part is not that it is small. It is how easily one careless decision doubles it: who does the work, who only checks it, and how many times the same text gets read again.
I wrote about the limits I keep when I build with words separately: vibe coding with limits. What else changed over this summer is here.
New posts by email
When a new post goes up, I send it to you. Nothing else, no offers.
By subscribing you agree to receive new intelektas.ai posts. Unsubscribe in any email. How I handle data: privacy.