Pricing
Pay for traffic,
not for teammates.
Three things cost us money when you deploy. Those are the three things on your bill. Add as many people to a team as you like — that has never been one of them.
Metered
- RequestsEvery request your deployed app serves.$3 / 1M
- BuildsOne commit, turned into a Worker.$2 / 100
- Custom domainsEach hostname we hold a certificate for.$1 / mo
Never metered
- BandwidthCloudflare does not charge us egress.$0
- Team membersSeats cost us nothing, so they cost you nothing.$0
- Preview deploymentsThey build and serve like any other.$0
Rates are what usage past your plan costs. Every plan includes an amount of each before any of it applies.
Hobby
Side projects and everything you are still deciding about.
$0free forever
Start building
- 3 projects
- 1M requests per month
- 100 builds per month
- Preview and production URLs on naro.sh
- Build and runtime logs
- Community support
Pro
Most teamsTeams shipping to production on their own domains.
$20per month, per team
Start Pro
- Unlimited team members
- Unlimited projects
- 10M requests per month, then $3 per million
- 1,000 builds per month, then $2 per 100
- 10 custom domains, then $1 each per month
- Role-based access control
- Analytics, observability, flags, and firewall
- Spend limit with alerts before you hit it
- Email support
Enterprise
Organizations with procurement, auditors, and an SLA to honour.
Custompriced on your limits
Talk to us
- Everything in Pro
- SAML single sign-on and SCIM provisioning
- Audit log
- Custom request, build, and domain limits
- Priority support with an SLA
- Invoiced billing
Every line, side by side
| Feature | Hobby | Pro | Enterprise |
|---|---|---|---|
| Limits | |||
| Projects | 3 | Unlimited | Unlimited |
| Team members | 1 | Unlimited | Unlimited |
| Requests per month | 1M | 10M | Custom |
| Builds per month | 100 | 1,000 | Custom |
| Custom domains | — | 10 | Custom |
| Bandwidth | Not metered | Not metered | Not metered |
| Platform | |||
| Git push to deploy | ✓ | ✓ | ✓ |
| CLI and MCP server | ✓ | ✓ | ✓ |
| Instant rollback | ✓ | ✓ | ✓ |
| Runtime logs | Last 1,000 lines | Last 1,000 lines | Custom retention |
| Analytics and observability | — | ✓ | ✓ |
| Feature flags and firewall | — | ✓ | ✓ |
| Access and support | |||
| Role-based access control | — | ✓ | ✓ |
| SAML SSO and SCIM | — | — | ✓ |
| Audit log | — | — | ✓ |
| Over-limit behaviour | Paused | Spend limit | Custom |
| Support | Community | Priority with SLA | |
Questions we actually get
Why is there no per-seat price?
Nothing we pay Cloudflare scales with headcount. Builds are billed by the GiB-hour, requests by the million, certificates by the hostname. Charging per seat would bill you for something that costs us nothing, so we bill the three things that do.
What counts as a request?
Anything your deployed app answers: pages, API routes, and static assets. Requests your app never sees — blocked by a firewall rule, or served from a browser cache — are not counted.
What happens when I go over?
On Hobby the project pauses and serves your last deployment's cached responses until the month resets or you upgrade. On Pro nothing stops: usage over your plan is billed at the rates above, up to the spend limit you set. We alert you at 75% and 100% of that limit.
Do preview deployments count?
Their builds do, because a preview build costs the same as a production one. Their traffic counts as requests like anything else, but preview URLs are rarely the ones under load.
Can I move a project between teams?
Yes, and the plan travels with the team rather than the project. A project moved into a Pro team is on Pro from that moment.
Start on Hobby. Move when the traffic does.
No card to start, and the first deploy takes one command.