Live Changes reach Postgres within seconds
Your Firestore data, live in Postgres.
Fireloom streams every insert, update and delete from Firestore into PostgreSQL as it happens, subcollections included. Query your app data with SQL, power dashboards, and join it with everything else, without writing Cloud Functions.
Free up to 100,000 documents. No credit card. Set up in about 5 minutes.
- Read-only access to Firestore
- Every document, subcollections at any depth
- Inserts, updates and deletes
- Any PostgreSQL: Supabase, Neon, RDS, Cloud SQL
- No code to deploy
How it works
Set up in about five minutes. Then it runs on its own.
No SDKs, triggers or extensions to install. Connect two databases and Fireloom keeps them in sync.
Product demo: connecting a Firebase project to a Supabase Postgres database, then a Firestore edit showing up in Postgres. The steps next to it describe each part.
Built for production
Real-time sync that doesn't drift.
Streaming is easy to start and hard to get right. Fireloom handles the parts that usually break.
Real-time change streaming
Fireloom follows Firestore's change stream and applies inserts, updates and deletes to Postgres as they happen, one transaction per batch.
Self-healing
If a connection drops, Fireloom retries with backoff. After a restart it resumes where it stopped and catches up on everything it missed, deletes included. If something needs you, you get one email, and another when it's fixed.
Cheap on Firestore reads
Every document is read once, or never if you start from a recent export. Restarts resume from where they stopped, and the daily consistency check compares counts instead of re-reading.
Everything, at every depth
Subcollections at any nesting level come along, with full paths and parent links for joins. Timestamps, GeoPoints, references, bytes and nested maps land in jsonb without losing information.
Secure by default
Credentials are encrypted with AES-256-GCM and never shown again. Fireloom only reads from Firestore and only writes to tables it owns.
Live dashboard
See changes per hour by type, activity per collection, Firestore reads, and the history of every full pass, with clear errors when something needs you.
Inside the sync engine: loads, checkpoints, deletes and Firestore reads →
Just SQL
Query Firestore like it's a real database.
Every document is a row in one table, documents, with its fields in jsonb. Filter by collection, or put a view on each collection and query it like any table.
- Analytics and BI: point Metabase, Looker Studio, Grafana or Hex at live app data.
- Joins: combine Firestore with billing, CRM or warehouse tables in one query.
- Leaving Firebase: keep Postgres in sync while you migrate, then cut over with no gap.
Who it's for
Teams that built on Firebase and need SQL now.
Founders and product teams
Answer questions about users and revenue without exporting CSVs or writing scripts.
Data teams
Get Firestore into your warehouse pipeline through Postgres, with deletes handled correctly.
Engineers migrating
Run Postgres alongside Firestore, verify it matches, and switch over when you're ready.
Agencies
Give each client a live SQL copy of their app data for reporting and support.
Pricing
Start free. Upgrade when your data grows.
Every plan includes real-time streaming, consistency checks and the live dashboard. Prices in USD.
Free
$0
For trying Fireloom on a side project.
- 1 sync
- Up to 100,000 documents per Firebase project
- Real-time streaming
- Scheduled syncs hourly
Pro Popular
$29/month
For a production app.
- 10 syncs
- Unlimited documents
- Real-time streaming
- Scheduled syncs every 5 minutes
- Email support
Team
$99/month
For several apps, environments or clients.
- 50 syncs
- Unlimited documents
- Real-time streaming
- Scheduled syncs every minute
- Priority support
Questions
What is Fireloom?
Fireloom is a hosted service that keeps a PostgreSQL database in sync with Google Cloud Firestore in real time. Every insert, update and delete, including subcollections at any depth, lands in one Postgres table within seconds, so you can query your Firebase data with SQL. There's no code to deploy and no Cloud Functions to write.
How much does Fireloom cost?
Free covers 1 sync and up to 100,000 documents per Firebase project, with no credit card. Pro is $29 a month for 10 syncs and unlimited documents. Team is $99 a month for 50 syncs, unlimited documents and priority support. Prices are in US dollars.
How is Fireloom different from Cloud Functions or an ETL tool?
Cloud Functions triggers are code you write and run: the schema, a backfill, retries, ordering and deletes are yours to handle, with a trigger per collection path. Batch ETL tools usually re-read whole collections on every run, because Firestore has no change cursor. Fireloom streams changes within seconds, reads only what changed, resumes from checkpoints after restarts, and needs no code. See the comparison.
Can an AI agent set up Fireloom for me?
Yes. Ask Claude Code, Codex, Cursor or another coding agent to “set up Fireloom to sync my Firestore to Postgres”: you approve it once in your browser, and it connects Firestore and your database, starts the sync and shows you the SQL. Claude, ChatGPT, Cursor, VS Code and Codex can also add Fireloom's MCP server, fireloom.io/mcp, to set up and check on syncs. See AI agents.
Does Fireloom write to or change my Firestore?
No. Reading needs only the read-only Cloud Datastore Viewer role. If Fireloom takes the first export for you (the default), setup also adds an export-only role, which can start exports but never imports, and a Cloud Storage bucket of its own. Neither can change your Firestore data. In Postgres it only writes to tables it created; each one carries a marker comment, and Fireloom refuses to touch any table without it.
How fast do changes show up?
Usually within a second or two. Fireloom keeps a Firestore listener open for each collection and applies every batch of changes to Postgres in a single transaction.
What happens to deleted documents?
They're deleted from Postgres too, both while streaming and during consistency checks. After a restart or outage, Fireloom catches up on everything it missed, deletes included.
What does the Postgres table look like?
One table, documents, with one row per document from every collection at every depth: path (the full document path, primary key), collection, id, parent_path, data jsonb, create_time, update_time and synced_at. Filter with collection = 'orders', query fields with data->>'field', or build views and indexes on top.
Which Postgres providers work?
Any PostgreSQL reachable from the internet: Supabase, Neon, Amazon RDS and Aurora, Google Cloud SQL, Azure, Render, Railway, Crunchy Bridge, or your own server. We recommend a dedicated role that owns the target schema.
How does this affect my Firestore bill?
The first sync reads each document once, or not at all if you start from a recent Firestore export you already have. After that only changed documents are read, including after restarts: Fireloom resumes where it left off instead of re-reading. A daily consistency check compares document counts (about one read per 1,000 documents) and re-reads only if they differ.
Are subcollections synced?
Yes, all of them, at every depth: users/alice/orders/o1/items/i1 is synced just like users/alice, even when a parent document doesn't exist. They land in the same documents table, and parent_path joins each row to its parent. A subcollection with a brand-new name is picked up at the next daily consistency check, or right away when you press Resync.
How are my credentials stored?
Service account keys and connection strings are encrypted with AES-256-GCM before they're stored and are never returned by the API or shown again. Fireloom refuses connections to private network addresses.
Where is my data processed?
Fireloom's server is in Nuremberg, Germany (EU). It reads from your Firestore and writes to your Postgres; documents pass through it in memory and aren't stored there. Fireloom stores your account, your encrypted connection settings and sync history. See the privacy policy for details.
See your Firestore data in SQL today.
Connect two databases, pick your collections, and watch changes stream in. It's free up to 100,000 documents.
Start syncing free