Capture changes and stream data out of Postgres

Capture changes and stream data out of Postgres

Replace tools like SQS, Kafka, and Debezium by streaming data right from your database.

Turn any table into a stream of messages

Turn any table into a stream of messages

Bring your own (or any) Postgres database

Bring your own (or any) Postgres database

Automatic retries, replays, and rewinds

Automatic retries, replays, and rewinds

Simple HTTP interface

Simple HTTP interface

Open source, MIT license

Open source, MIT license

Consumer Group API

Consumer Group API

Consumer Group API

Webhooks

Webhooks

Webhooks

Sync API

Sync API

Sync API

# Receive messages from a consumer
curl -X 'GET' 'https://api.sequinstream.com/consumer/receive'

# Returns
{
  "data": [
    {
      "ack_token": "MTYyeJ7abUjl1pO",
      "data": {
        "record": {
          "id": 1,
          "name": "Paul Atreides",
          # more fields...
        }
      }
    },
    # more messages...
  ]
}

# Acknowledge a message
curl -X 'POST' 'https://api.sequinstream.com/consumer/ack' 
-d '{ "ack_token": ["MTYyeJ7abUjl1pO"] }'

Guarantees

Guarantees

Guarantees

Capture & deliver every row

Capture & deliver every row

Sequin streams your Postgres data to your applications and services. Sequin never misses an insert, update, or delete and provides exactly-once processing of changes. Your data stays in your database - no need to copy data to a new system or master a new technology.

Sequin streams your Postgres data to your applications and services. Sequin never misses an insert, update, or delete and provides exactly-once processing of changes. Your data stays in your database - no need to copy data to a new system or master a new technology.

Key features

Key features

Key features

A new standard for streaming

A new standard for streaming

Streaming data out of your database typically requires adding complicated dependencies, endless configuration, and blackbox runtimes. Sequin uses the database you already know to give you the features you've always wanted.

Streaming data out of your database typically requires adding complicated dependencies, endless configuration, and blackbox runtimes. Sequin uses the database you already know to give you the features you've always wanted.

SQL routing

Use WHERE clauses to route messages to consumers

function onRow(r) {
  switch (r.status) {
    case 'active': return JSON.stringify('running');
    case 'pending': return JSON.stringify('waiting');
    default: return JSON.stringify('unknown');
  }
}
function onRow(r) {
  switch (r.status) {
    case 'active': return JSON.stringify('running');
    case 'pending': return JSON.stringify('waiting');
    default: return JSON.stringify('unknown');
  }
}

Transforms

Transform messages with JS and Go

Rewind

Rewind consumers to any position

Observable

Trace every row from capture through to delivery

How it works

How it works

How it works

Simple, composable parts

Simple, composable parts

Turn any table in your database into a Stream. Consume records using Sequin's HTTP APIs. Use our CLI, web console, and config files to get set up quickly.

Streams

Create streams for tables in your database.

Streams

Create streams for tables in your database.

Change Capture

Change Capture

Console

Console

Config as Code

Config as Code

CLI

CLI

Streams

Create streams for tables in your database.

Streams

Create streams for tables in your database.

Config as Code

Config as Code

Change Capture

Change Capture

Console

Console

CLI

CLI

Streams

Create streams for tables in your database.

Change Capture

Console

CLI

Config as Code

Benchmarks

Benchmarks

Benchmarks

Scales like Postgres

Scales like Postgres

Sequin uses logical replication to ensure no change is missed. If your database can handle the transaction, Sequin can stream it with minimal overhead.

Sequin uses logical replication to ensure no change is missed. If your database can handle the transaction, Sequin can stream it with minimal overhead.

0
Messages / Second
0
P95 Latency (MS)

We're happy to host

Sequin Cloud

Fully managed service, we handle the infrastructure

Built to scale, tuned to support high message volume

Get started right away

Get started right away

Widely supported

Widely supported

Widely supported

Works with your stack

Works with your framework

Sequin works with any Postgres database (version 12+). Use our CLI to tunnel to localhost, or connect to any cloud provider to start streaming rows. Then, use our SDKs to consume rows in the language you prefer.

Sequin works with any Postgres database (version 12+). Use our CLI to tunnel to localhost, or connect to any cloud provider to start streaming rows. Then, use our SDKs to consume rows in the language you prefer.

sequin-js

npm i @sequinstream/sequin-js --save

sequin-js

npm i @sequinstream/sequin-js --save

sequin-js

npm i @sequinstream/sequin-js --save

sequin-go

go get

sequin-go

go get

sequin-go

go get

sequin-ruby

gem 'sequin', '~> 1'

sequin-ruby

gem 'sequin', '~> 1'

sequin-ruby

gem 'sequin', '~> 1'

sequin-elixir

{:sequin, "~> 0.1.0"

sequin-elixir

{:sequin, "~> 0.1.0"

sequin-elixir

{:sequin, "~> 0.1.0"

Community

Community

Community

Open source

Open source

Sequin is completely open source with an MIT license. Follow us on GitHub. Let us know what you want to see!

Sequin is completely open source with an MIT license. Follow us on GitHub. Let us know what you want to see!

Blog

Read about how we're building Sequin, shipping features, and pushing Postgres

Discord

Join the Sequin Discord server to chat with contributors, get support, and discuss your use case.

GitHub

GitHub

You can view all the projects we have developed as open source on our GitHub page.

Pricing

Pricing

Pricing

Double the value of each row

Double the value of each row

Sequin is the most cost efficient way to stream data. By using the database that stores your data to stream your data, you get twice the value of each row.

Sequin is the most cost efficient way to stream data. By using the database that stores your data to stream your data, you get twice the value of each row.

Free

$0.00

For hobby projects that need to stream a couple tables.

Max Delivered Rows Per Day

10,000

Max Delivered Rows Per Second

500

Pay as you go

$1.00

/ 100K delivered rows

per 100K delivered rows

Built to stream high throughput tables with bursting writes.

For production apps,

pay-as-you-go

Max Delivered Rows Per Day

Unlimited

Max Delivered Rows Per Second

500

Pro

$300

/ month

per month

For businesses with consistent streams and predictable costs.

For businesses with predictable streams

Max Delivered Rows Per Day

Unlimited

Max Delivered Rows Per Second

2,000

A delivered row is counted each time a row is delivered to a webhook or requested from the Consume API or Sync API.

Ready to stream?

Ready to stream?

Postgres has evolved into a powerful database that can easily serve as the foundation of your stream. Boot Sequin and experience a feature rich stream that is dead simple to run and scale.

Postgres has evolved into a powerful database that can easily serve as the foundation of your stream. Boot Sequin and experience a feature rich stream that is dead simple to run and scale.

Postgres has evolved into a powerful database that can easily serve as the foundation of your stream. Boot Sequin and experience a feature rich stream that is dead simple to run and scale.

©️ 2024 Sequin Labs, Inc. All rights reserved.

©️ 2024 Sequin Labs, Inc. All rights reserved.

©️ 2024 Sequin Labs, Inc. All rights reserved.