Comparisons

Mobile App Backend Hosting

7 places to run your own API and Postgres for a Flutter, React Native or Swift app, on plans that never pause

Mobile App Backend Hosting
Published

If your mobile app talks to its own API and a PostgreSQL database, the cheapest place to run both without anything pausing is Light Cloud at $5 a month, with Railway close behind at about $5.30 once its usage is counted. Firebase with a Cloud SQL Postgres instance is $9.37, DigitalOcean and Render sit at $12 to $14, and Supabase and Appwrite are $25 on the plans that never pause. But if you'd rather not write an API at all, Firebase, Supabase and AWS Amplify let the app talk to their databases directly, and their free tiers cost $0 at beta scale. That's a different choice, and the section after the ranking covers it.

We make Light Cloud, the first row below. Here is how we ranked, so you can check it.

Two kinds of mobile backend

There are really two ways to give a Flutter, React Native or Swift app a backend, and they don't compete on the same terms.

The first is a backend-as-a-service. Here the app uses the vendor's SDK to sign users in, read and write data, and get live updates, and you write little or no server code. Firebase, Supabase, Appwrite and AWS Amplify all work this way. You get a lot on day one, and in exchange the app's data access is written against that vendor's SDK.

The second is your own API. Your app calls https://api.yourapp.com, and behind it runs code you wrote in whatever language you like, with an ordinary PostgreSQL database. More to build, nothing to unwind later. This ranking is for the second kind, because that's where hosting choices actually differ. Two of the BaaS platforms appear in it too, priced for the same job.

How we ranked

The reference backend is a REST API plus a PostgreSQL database of about 1 GB, serving about 1,000 requests a day. Every platform gets its cheapest plan where neither the API nor the database is paused or put to sleep for inactivity. That rule matters for mobile: a beta can sit quiet for a week between TestFlight builds, and a backend that pauses after a quiet week, or takes a minute to wake, greets the next tester with a spinner.

Prices are list prices from the vendors' own pages, checked on 2026-10-13 and again on 2026-11-02, in US dollars. Where a platform bills by usage, the price is the usage this backend generates, not the plan's starting fee, so no row hides its bill behind a "+". The two columns show what each platform gives the app beyond hosting, and what form your server code has to take.

Kept running all month, with no scale to zero, the same backend gets the Always on prices in the table. Light Cloud comes fifth of seven there at about $56, because an always-on instance needs the $19 Starter plan and a Micro costs about $52 a month. Firebase can keep one instance of the API warm for about $5 more. Platforms that run the API only as functions have no documented way to keep it running, so they're listed last.

The ranking

Cheapest first: your own API and Postgres, never pausedPrices checked 13 Oct 2026
1
$5
Mobile teams that want a plain API and Postgres they can move anywhere, for $5 a month while the app is in betaPrice: all in, Lite plan
Auth, realtime, pushNone built inYour API runs asAny language, in a container
2
~$5.30
About 30 cents more than us, with cron jobs and workers for push queues and nightly cleanupsPrice: Hobby $5 + about 30 cents of usage
Auth, realtime, pushNone built inYour API runs asAny language, as a service
3
$9.37
Apps that want Google's auth and free push next to a Postgres databasePrice: Blaze: Cloud SQL; API in the free tier
Auth, realtime, pushAuth, realtime, pushYour API runs asCloud Run or Cloud Functions
4
$12
A fixed monthly price for an always-on API, with workers and scheduled jobsPrice: dev database
Auth, realtime, pushNone built inYour API runs asAny language, in a container
5
$13.30
An always-on API with background workers and cron on fixed pricesPrice: Starter service + Postgres
Auth, realtime, pushNone built inYour API runs asAny language, as a service
6
$25
Apps that talk to Postgres straight from the client with auth and realtime built inPrice: Pro, never paused
Auth, realtime, pushAuth and realtimeYour API runs asTypeScript Edge Functions
7
$25
An open source backend kit with auth, realtime and storage, now with native PostgreSQLPrice: Pro, native Postgres included
Auth, realtime, pushAuth, realtime, storageYour API runs asFunctions, up to 15 minutes
List prices from each vendor's own pricing and docs pages, checked 2026-10-13, US dollars. Reference backend: a REST API for a mobile app plus a PostgreSQL database of about 1 GB, about 1,000 API requests a day, on the cheapest plan where neither is paused or put to sleep for inactivity. Light Cloud usage uses the pricing page's assumption of 0.2 s of instance time per request, with 0.3 GB of API responses a month. Usage-billed platforms are priced on the usage this backend generates, never on the plan's starting fee: on Railway that is about 250 MB of RAM for the API and 200 MB for Postgres on average, 0.03 vCPU, a 1 GB volume and 0.3 GB of egress. Firebase's price includes the 10 GB of storage a Cloud SQL instance starts with, and a warm instance is a quarter of a vCPU with 512 MiB. The Always on view keeps the API running all month with no scale to zero, at each platform's cheapest documented way to do that.

1. Light Cloud

Best for: a plain API and Postgres you can move anywhere, for $5 a month while the app is in beta.

Lite is $5 a month with $5 of usage included, a custom domain and one shared PostgreSQL database (pricing). The reference backend uses about $4.60: $4 for the database, 30 cents for its 1 GB of data, about 20 cents for 1,000 requests a day at 0.2 s each, about 6 cents for 0.3 GB of responses and a few cents of builds. Your API is an ordinary server in a container, so you can deploy a Go, Python or Kotlin API, or Node, Java and .NET, and the Go API tutorial and FastAPI tutorial show the whole path. Put an API on your own domain with SSL from Lite up, and keep Postgres beside the API on the same invoice. Nothing on a paid plan pauses for inactivity.

There's no auth, realtime, storage or push in the platform; you pick a library or a service for each. Push is the easy one: Firebase Cloud Messaging is no-cost, and Firebase's own docs describe your app server sending requests to FCM, wherever it runs. The real cost of our model is the cold start. Containers scale to zero, so after a quiet spell the first request takes 3.1 to 3.7 seconds, and an always-on instance to avoid it needs Starter, about $52 a month for a Micro. There are no cron jobs or workers, and the shared database tier runs in Belgium only.

2. Railway

Best for: about 30 cents more than us, with cron jobs and workers for push queues and nightly cleanups.

Hobby is $5 a month with $5 of usage, billed by the RAM and CPU your services use: $10 per GB of RAM and $20 per vCPU a month (plans). For the reference backend that's about $5.27: roughly $2.50 for a Node.js API averaging 250 MB, $2 for Postgres at 200 MB, 60 cents of CPU and cents for the 1 GB volume and egress. The bill is the larger of $5 and the usage, so about $5.30, and the same always on. Postgres is a template service on the same bill, and cron jobs plus private networking come with Hobby. Sleep is opt-in, so you choose whether an idle API stops. Railway recommends Pro, $20 a month, for commercial apps (FAQ).

3. Firebase

Best for: apps that want Google's auth and free push next to a Postgres database.

Firebase's main databases are NoSQL. Its Postgres option, SQL Connect, puts a GraphQL layer on a Cloud SQL instance, and Cloud SQL starts at $9.37 a month on the pay-as-you-go Blaze plan, with a 3-month no-cost trial for the first instance. Your own API can run on Cloud Run, available to Blaze projects, or as Cloud Functions with 2 million invocations a month at no cost (pricing). The reference API's 30,000 requests a month fit inside those no-cost allowances, and the 1 GB database fits the 10 GB of storage the $9.37 instance comes with, so the bill is $9.37. Keeping one instance warm at a quarter of a vCPU and 512 MiB adds about $5 at Cloud Run's idle rate (Cloud Run pricing), so about $14 always on.

The pull is everything around the database: Authentication is free for most sign-in methods, Firestore syncs data to the app in real time, and Cloud Messaging is no-cost. Blaze needs a card, and spend caps cover Cloud Functions but not Cloud SQL. A direct SQL connection to the instance needs IAM roles set up first.

4. DigitalOcean App Platform

Best for: a fixed monthly price for an always-on API.

A 512 MiB container is $5 a month and a development database $7, so $12 (pricing). The API never sleeps, workers and scheduled jobs are priced like services, and components talk over a private network. Its dev database has no backups by default, so production moves to managed Postgres at about $15. A payment method is required before you create anything.

5. Render

Best for: an always-on API with workers and cron on fixed prices.

A Starter web service is $7 and the smallest Postgres $6 plus $0.30 per GB (pricing): $13.30. The free tier is out under our rule: free web services sleep after 15 minutes and take about a minute to wake, and free Postgres expires after 30 days (free tier). On paid instances the API is always up, which mobile clients like, and you pay for that around the clock.

6. Supabase

Best for: apps that talk to Postgres straight from the client, with auth and realtime built in.

Every project is a full Postgres database with a generated REST API, auth and realtime, so a client app can use it without a server of its own. The Free plan pauses projects that show low activity over 7 days (pausing rules), so a never-paused backend means Pro at $25 a month, which includes compute for one Micro database (pricing). Custom server code runs as Edge Functions in TypeScript, with 2 seconds of CPU per request.

If your app has daily users, Free won't pause and costs $0, which beats every row above it. For a beta that goes quiet, it's a gamble with a restore button.

7. Appwrite

Best for: an open source backend kit with auth, realtime and storage.

Pro is $25 a month and includes $10 of database credit, enough for the smallest native PostgreSQL database (Postgres docs). Auth with 30-plus providers, realtime over WebSockets and storage buckets are built in, and the server is BSD-licensed if you'd rather self-host. Free projects pause after 7 days without console activity and are deleted after 90 days paused, so production means Pro. Functions stop at 15 minutes.

If you don't want to write a backend

Then the honest answer is one of the free tiers, and none of them is ours. Firebase's Spark plan needs no payment method and covers Firestore up to 1 GiB with 50,000 reads and 20,000 writes a day, plus auth; Cloud Functions and file storage need Blaze (plans). Supabase Free gives you Postgres, auth for 50,000 monthly active users and realtime, as long as the project stays active. AWS Amplify builds the backend from Cognito, AppSync, DynamoDB, Lambda and S3 with no monthly minimum; Cognito's 10,000 free monthly users never expire, but AppSync's free tier ends after 12 months and the data store is DynamoDB rather than Postgres.

Where the others beat us

Everything in the previous section beats us on day-one features: sign-in screens, live data in the app, file uploads, all without a server. Firebase adds no-cost push on top. If you need an always-on API with no cold start, DigitalOcean and Render give you one for $12 to $14, while ours costs about $56 on Starter with the database. And if your backend needs scheduled jobs or a queue worker, Railway has both for about 30 cents a month more than us, and about $5.30 always on.

Where we come out ahead is the backend you own. A plain API in the language your team already writes, an ordinary Postgres database, your own domain, and a bill of $5 while the app is in beta. When you outgrow us, you take a container and a pg_dump with you, and the app doesn't change a line. That's what mobile app backend hosting should look like before you know whether the app will take off.

Does your app call its own API, or talk to the database straight from the client?

More articles