# Estuary Flow

> Streaming-first data movement with batch and CDC connectors

Estuary Flow is a data movement platform built on a streaming core, capturing from databases via CDC and from SaaS APIs, then materialising continuously into warehouses and lakes rather than on a schedule.

Website: https://estuary.dev

## Use it when

- The same pipeline must feed a warehouse on a schedule and a consumer that needs changes within seconds.
- Database CDC is the main source and low-latency, log-based capture matters.
- New destinations should backfill from retained collection history instead of re-reading the source.
- You want 200+ managed connectors without operating streaming infrastructure yourself.

## Think twice when

- Everything is genuinely batch; a schedule-driven tool like Airbyte or Fivetran is simpler to reason about.
- Per-GB pricing plus a monthly per-connector fee meets sustained high volume.
- Open-source licensing matters: the engine is mostly Business Source License, source-available rather than open source.
- Transformations beyond SQL, TypeScript, or Python derivations belong in a downstream framework.

## How it runs

Estuary operates the data plane as a managed service, with private deployment and BYOC as options. Captures run continuously, collections persist as JSON in your own cloud storage bucket, and materializations keep destinations current within milliseconds or on a per-destination schedule. There is no scheduler to run: pipelines are continuous, billed at $0.50 per GB moved plus a monthly connector fee.

## Details

### General

| Attribute | Value |
| --- | --- |
| License | Source-available |
| SPDX identifier | BUSL-1.1 |
| Deployment | Managed, Self-hosted, Hybrid |
| Workload | Batch, Streaming |
| Operational complexity | Low |
| Pricing | Free, Subscription |
| Language | Rust |
| Repository | https://github.com/estuary/flow |
| Documentation | https://docs.estuary.dev |
| Stars | 978 |

### Batch ELT

| Attribute | Value |
| --- | --- |
| Authoring model | Low-code UI, or flow.yaml specs via the flowctl CLI |
| Source coverage | Databases, SaaS APIs and object storage, all as captures |
| Destinations | Warehouses, lakes, streams and SaaS targets as materializations |
| Custom connectors | Open Docker-image protocol; any language |
| Incremental sync | Incremental by design; collections keep history for re-backfills |
| Sync frequency | Continuous, or a sync schedule per materialization, 30 min default |
| Schema drift | Schema inference; autoDiscover adds fields, breaking changes backfill |
| Transformations | Derivations in SQL, TypeScript or Python; dbt Cloud after load |
| Scheduling | None needed: pipelines run continuously, not on a scheduler |
| Billing unit | $0.50 per GB moved plus a monthly fee per connector |

### Change Data Capture

| Attribute | Value |
| --- | --- |
| Sources | 200+ connectors: databases and SaaS sources |
| Source requirements | Replication slot and publication on Postgres; ROW binlog on MySQL |
| What you run | Nothing: Estuary runs the data plane; private or BYOC optional |
| Initial snapshot | Backfill from collection history, not from the source |
| End-to-end lag | Sub-100ms end to end; streaming rather than polled |
| Delivery guarantee | Exactly-once into transactional targets, else At-least-once |
| Schema drift | autoDiscover evolves the collection; breaking changes re-version it |
| Transformations | Derivations: continuous SQL, TypeScript or Python over collections |
| Destinations | 200+ materializations; collections in your own bucket |
| Billing unit | $0.50 per GB moved plus a monthly fee per connector |

## Capabilities

- [Batch ELT](https://matca.io/capabilities/batch-elt)
- [Change Data Capture](https://matca.io/capabilities/change-data-capture)

---

Source: https://matca.io/estuary-flow
Last updated: 2026-08-31T11:40:48.287Z
