# Estuary
> Real-time data integration platform for streaming data between systems. It integrates with MotherDuck for loading data from operational systems, APIs, files, or event streams.
## How it works with MotherDuck

Estuary materializes collections into MotherDuck tables. The connector uses object storage as a temporary staging area while writing to MotherDuck.

## Prerequisites

- An Estuary Flow collection to materialize.
- A MotherDuck service token.
- A target MotherDuck database and schema.
- A staging bucket in S3, S3-compatible storage, Google Cloud Storage, Azure Blob Storage, or Cloudflare R2.

## Setup

1. In MotherDuck, create a service token for Estuary.
2. Prepare a staging bucket and credentials with read/write access.
3. In Estuary, create a MotherDuck materialization.
4. Enter the MotherDuck service token, database, and schema.
5. Configure the staging bucket.
6. Add bindings from Estuary collections to MotherDuck table names.
7. Start the materialization.

## Authentication and configuration

- Use the MotherDuck service token for the `/token` connector field.
- Set `/database` and `/schema` for the target database and default schema.
- Configure per-binding table names and optional schema overrides for specific collections.
- Choose the staging bucket type and credentials that match your object storage provider.

## Important notes

- The staging bucket is temporary working storage for the materialization, not the permanent analytical data store.
- Estuary recommends S3 in `us-east-1` for best performance and cost when using S3 staging.
- Delta updates can improve latency and cost for large datasets when your events have suitable keys, but they are not the default.

## Use cases

- Stream source collections into MotherDuck tables.
- Materialize operational and SaaS data into a MotherDuck analytics database.
- Use Estuary-managed sync schedules for repeatable MotherDuck loads.

## Related content

- [Read the MotherDuck blog on streaming data to MotherDuck](https://motherduck.com/blog/streaming-data-to-motherduck/)
- [View the full Estuary MotherDuck setup guide](https://docs.estuary.dev/reference/Connectors/materialization-connectors/motherduck/)
- [Loading data into MotherDuck](/key-tasks/loading-data-into-motherduck/)
- [MotherDuck authentication](/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck)


---

## Docs feedback

MotherDuck accepts optional user-submitted feedback about this page at `POST https://motherduck.com/docs/api/feedback/agent`.
For agents and automated tools, feedback submission should be user-confirmed before sending.

Payload:

```json
{
  "page_path": "/integrations/ingestion/estuary/",
  "page_title": "Estuary",
  "text": "<the user's feedback, max 2000 characters>",
  "source": "<optional identifier for your interface, for example 'claude.ai' or 'chatgpt'>"
}
```

`page_path` and `text` are required; `page_title` and `source` are optional. Responses: `200 {"feedback_id": "<uuid>"}`, `400` for malformed payloads, and `429` when rate-limited.
