Introducing ESUS Plans: Start Free, Scale When You're Ready
When we launched ESUS, everyone got the same access. No limits, no tiers, no friction. That made sense for a beta — we wanted developers to explore the platform without hitting walls.
But ESUS is past beta now. Real organizations are building on it: clinics managing patient records, healthtech startups shipping their first apps, developers prototyping ideas that might become real products.
So we built plans. Three of them, designed around how healthcare teams actually grow.
Your options at a glance
| Free | Pro | Enterprise | |
|---|---|---|---|
| Best for | Prototyping & pilots | Growing clinics | Hospitals & networks |
| Patients | 50 | 5,000 | Unlimited |
| Team members | 3 | 25 | Unlimited |
| API access | ✓ | ✓ | ✓ |
| EHR integrations | — | ✓ | ✓ |
| Priority support | — | ✓ | ✓ |
| Custom SLA | — | — | ✓ |
Free: Build without limits
The Free plan is for developers and small pilots. Fifty patients is enough to run a real proof of concept — not a toy demo, but an actual workflow with real data.
No credit card required. No time limit. Just a working FHIR backend from day one.
Pro plan: $49/month (Launch offer)
For clinics and apps in production.
The Pro plan normally costs $149/month. During our launch period, you pay just $49/month — that’s 67% off, and the price is locked in through 2027.
What’s included:
- Up to 5,000 patients
- 25 team members
- SMART on FHIR for EHR integrations (Epic, Cerner, etc.)
- Bulk Export for reports and analytics
- Webhooks for real-time notifications
- Standard SLA
- Email support
“Invest in your clinic’s future today at our lowest price — ever.”
[Get Started — Coming Soon]
Enterprise: For organizations with specific needs
Enterprise is for hospital networks, multi-site deployments, custom compliance requirements, or volume that makes unlimited the only sensible option.
Enterprise isn’t listed on our pricing page yet — but it’s available now. Contact us and we’ll configure the right setup for your organization.
What happens when you reach your limit
When an organization reaches its patient or team member cap, the API returns a clear, structured response — not a generic error:
{
"error": "payment_required",
"code": "patient_quota_exceeded",
"limit": 50,
"current": 50,
"message": "Patient quota exceeded. Upgrade your plan to create more patients."
}
The HTTP status is 402 Payment Required. Your app can catch it and show an upgrade prompt instead of a confusing error.
try {
await api.post('/fhir/Patient', patientData)
} catch (error) {
if (error.response?.status === 402) {
const { code } = error.response.data
// 'patient_quota_exceeded' | 'practitioner_quota_exceeded' | 'api_key_quota_exceeded'
showUpgradePrompt(code)
}
}
Each organization is its own island
Plans attach to organizations, not to individual users. If you belong to multiple organizations, each one has its own independent plan, its own quota counters, and its own data isolation.
PostgreSQL Row-Level Security ensures that one organization’s data is never accessible to another, at the database level.
What’s coming next
- Self-serve upgrades — upgrade from Free to Pro without talking to anyone
- Usage dashboard — see your quota consumption and request volume
- Quota alerts — get notified before you hit a limit
- TypeScript and Python SDKs — with typed errors for quota responses
The full API reference will live at console.esus.health when the console launches.
Related articles
Safer, Faster: How We Rebuilt Esus Login
We rebuilt Esus login from scratch with three goals: get you in faster, verify you're who you say you are, and resist the attacks that most commonly hit medical accounts.
Welcome to ESUS Health — A FHIR Backend for Medical App Developers
ESUS Health is a preliminary backend-as-a-service platform built specifically for medical applications. Learn how to get started, follow best practices, and build a real scheduling app with Next.js, shadcn/ui, and Axios.