Turn APIs into
Postgres tables and webhooks

Turn APIs into
Postgres tables and webhooks

Turn APIs into
Postgres tables and webhooks

Don't waste time on another API sync. With Sequin, you can read data at rest in Postgres. Receive data via webhooks. And write back to a unified endpoint.

Don't waste time on another API sync. With Sequin, you can read data at rest in Postgres. Receive data via webhooks. And write back to a unified endpoint.

Don't waste time on another API sync. With Sequin, you can read data at rest in Postgres. Receive data via webhooks. And write back to a unified endpoint.

Postgres®

Sync changes

to your db

Webhooks

Push changes

to your app

Serverless
message bus

Pull changes

into your app.

Kafka®

Plug in your

message bus

Postgres®

Sync changes

to your db

Webhooks

Push changes

to your app

Serverless
message bus

Pull changes

into your app.

Kafka®

Plug in your

message bus

Postgres®

Sync changes

to your db

Webhooks

Push changes

to your app

Serverless
message bus

Pull changes

into your app.

Kafka®

Plug in your

message bus

Trusted by engineering teams that ship

Bob Lauer

Principal Engineer, Bloomtech

Sequin gives us the interfaces we always tried to build ourselves. I only wish we found Sequin sooner. We wasted time on every developer tool offered by Salesforce: APEX triggers. SOQL. Salesforce events. The streaming API… but we always hit errors and limitations.

Trusted by engineering teams that ship

Bob Lauer

Principal Engineer, Bloomtech

Sequin gives us the interfaces we always tried to build ourselves. I only wish we found Sequin sooner. We wasted time on every developer tool offered by Salesforce: APEX triggers. SOQL. Salesforce events. The streaming API… but we always hit errors and limitations.

Trusted by engineering teams that ship

Bob Lauer

Principal Engineer, Bloomtech

Sequin gives us the interfaces we always tried to build ourselves. I only wish we found Sequin sooner. We wasted time on every developer tool offered by Salesforce: APEX triggers. SOQL. Salesforce events. The streaming API… but we always hit errors and limitations.

API data as rows
and events

All your API data in an
event stream

All your API data in an
event stream

Sequin streams changes from APIs in real-time.

Sync records to Postgres, receive events as webhooks, and ack messages from Sequin's serverless message bus.

Sequin streams changes from APIs in real-time.

Sync records to Postgres, receive events as webhooks, and ack messages from Sequin's serverless message bus.

Postgres sync

Read with SQL

Read with SQL

Read with SQL

Webhooks

Push events to your app

Push events to your app

Push events to your app

Serverless message bus

Pull events into your app

Pull events into your app

Pull events into your app

0

B

API OBJECTS / WEEK
0

B

EVENTS / WEEK

<

0

s

AVG LATENCY

curl --request POST

--url https://api.sequin.io/v1/consumers/postgres

--header 'Content-Type: application/json'

--data '{

"name": "Choam Corp - Webhook Consumer",

"sync_ids": ["*"],

"mappings" : [

{

"collection_id": "stripe.customer",

"field_mappings": [

{

"field_name": "firstName",

"column_name": "first_name",

"column_type": "string"

}

]

}

]

}'

Postgres sync

Sync all records to a Postgres database. Unlimited access to your API data.

Webhook events

Add webhooks to every API.

Learn more about the Webhook events

Serverless event stream

Sequin provides a serverless message bus accessible using HTTP. It’s a lightweight alternative to native Kafka clients.

Learn more about serverless event streams

curl --request POST

--url https://api.sequin.io/v1/consumers/webhook

--data '{

"name": "Choam Corp - Webhook Consumer",

"sync_ids": ["*"],

"collection_ids": [

"stripe.customer",

"stripe.charge"

]

}'

curl --request POST

--url https://api.sequin.io/v1/consumers/postgres

--header 'Content-Type: application/json'

--data '{

"name": "Choam Corp - Webhook Consumer",

"sync_ids": ["*"],

"mappings" : [

{

"collection_id": "stripe.customer",

"field_mappings": [

{

"field_name": "firstName",

"column_name": "first_name",

"column_type": "string"

}

]

}

]

}'

const { Kafka } = require("kafka");

const kafka = new Kafka({

sasl: {

username: "{{ kafka_username }}",

password: "{{ kafka_password }}",

},

});


const consumer = kafka.consumer({

groupId: "{{ group_name }}"

});


const consume = async () => {

await consumer.subscribe({

topic: "sequin.events",

});

await consumer.run({

eachMessage: async ({ message }) => {

// do work

},

});

};

consume();


const { Kafka } = require("kafka");

const kafka = new Kafka({

sasl: {

username: "{{ kafka_username }}",

password: "{{ kafka_password }}",

},

});


const consumer = kafka.consumer({

groupId: "{{ group_name }}"

});


const consume = async () => {

await consumer.subscribe({

topic: "sequin.events",

});

await consumer.run({

eachMessage: async ({ message }) => {

// do work

},

});

};

consume();


Kafka events

Build on your APIs using Kafka. You can consume events using any Kafka client.

Learn more about Kafka events

curl --request POST

--url https://api.sequin.io/v1/consumers/postgres

--header 'Content-Type: application/json'

--data '{

"name": "Choam Corp - Webhook Consumer",

"sync_ids": ["*"],

"mappings" : [

{

"collection_id": "stripe.customer",

"field_mappings": [

{

"field_name": "firstName",

"column_name": "first_name",

"column_type": "string"

}

]

}

]

}'

Postgres sync

Sync all records to a Postgres database. Unlimited access to your API data.

Webhook events

Add webhooks to every API.

Learn more about the Webhook events

Serverless event stream

Sequin provides a serverless message bus accessible using HTTP. It’s a lightweight alternative to native Kafka clients.

Learn more about serverless event streams

curl --request POST

--url https://api.sequin.io/v1/consumers/webhook

--data '{

"name": "Choam Corp - Webhook Consumer",

"sync_ids": ["*"],

"collection_ids": [

"stripe.customer",

"stripe.charge"

]

}'

curl --request POST

--url https://api.sequin.io/v1/consumers/postgres

--header 'Content-Type: application/json'

--data '{

"name": "Choam Corp - Webhook Consumer",

"sync_ids": ["*"],

"mappings" : [

{

"collection_id": "stripe.customer",

"field_mappings": [

{

"field_name": "firstName",

"column_name": "first_name",

"column_type": "string"

}

]

}

]

}'

const { Kafka } = require("kafka");

const kafka = new Kafka({

sasl: {

username: "{{ kafka_username }}",

password: "{{ kafka_password }}",

},

});


const consumer = kafka.consumer({

groupId: "{{ group_name }}"

});


const consume = async () => {

await consumer.subscribe({

topic: "sequin.events",

});

await consumer.run({

eachMessage: async ({ message }) => {

// do work

},

});

};

consume();


const { Kafka } = require("kafka");

const kafka = new Kafka({

sasl: {

username: "{{ kafka_username }}",

password: "{{ kafka_password }}",

},

});


const consumer = kafka.consumer({

groupId: "{{ group_name }}"

});


const consume = async () => {

await consumer.subscribe({

topic: "sequin.events",

});

await consumer.run({

eachMessage: async ({ message }) => {

// do work

},

});

};

consume();


Kafka events

Build on your APIs using Kafka. You can consume events using any Kafka client.

Learn more about Kafka events

curl --request POST

--url https://api.sequin.io/v1/consumers/postgres

--header 'Content-Type: application/json'

--data '{

"name": "Choam Corp - Webhook Consumer",

"sync_ids": ["*"],

"mappings" : [

{

"collection_id": "stripe.customer",

"field_mappings": [

{

"field_name": "firstName",

"column_name": "first_name",

"column_type": "string"

}

]

}

]

}'

Postgres sync

Sync all records to a Postgres database. Unlimited access to your API data.

Webhook events

Add webhooks to every API.

Learn more about the Webhook events

Serverless event stream

Sequin provides a serverless message bus accessible using HTTP. It’s a lightweight alternative to native Kafka clients.

Learn more about serverless event streams

curl --request POST

--url https://api.sequin.io/v1/consumers/webhook

--data '{

"name": "Choam Corp - Webhook Consumer",

"sync_ids": ["*"],

"collection_ids": [

"stripe.customer",

"stripe.charge"

]

}'

curl --request POST

--url https://api.sequin.io/v1/consumers/postgres

--header 'Content-Type: application/json'

--data '{

"name": "Choam Corp - Webhook Consumer",

"sync_ids": ["*"],

"mappings" : [

{

"collection_id": "stripe.customer",

"field_mappings": [

{

"field_name": "firstName",

"column_name": "first_name",

"column_type": "string"

}

]

}

]

}'

const { Kafka } = require("kafka");

const kafka = new Kafka({

sasl: {

username: "{{ kafka_username }}",

password: "{{ kafka_password }}",

},

});


const consumer = kafka.consumer({

groupId: "{{ group_name }}"

});


const consume = async () => {

await consumer.subscribe({

topic: "sequin.events",

});

await consumer.run({

eachMessage: async ({ message }) => {

// do work

},

});

};

consume();


const { Kafka } = require("kafka");

const kafka = new Kafka({

sasl: {

username: "{{ kafka_username }}",

password: "{{ kafka_password }}",

},

});


const consumer = kafka.consumer({

groupId: "{{ group_name }}"

});


const consume = async () => {

await consumer.subscribe({

topic: "sequin.events",

});

await consumer.run({

eachMessage: async ({ message }) => {

// do work

},

});

};

consume();


Kafka events

Build on your APIs using Kafka. You can consume events using any Kafka client.

Learn more about Kafka events

Unified writes

Unified writes

Unified writes

Mutate data via Sequin. One endpoint and one interface to mutate data across your integrations.

Mutate data via Sequin. One endpoint and one interface to mutate data across your integrations.

Mutate data via Sequin. One endpoint and one interface to mutate data across your integrations.

curl --request POST \

-- url https://api.sequin.io/v1/mutations/run \

-H 'content-type: application/json' \

-d '{

"kind": "create",

"sync_id": "my-sync-id",

"collection_id": "salesforce:contact",

"records": [

{

"data": {

"FirstName": "Paul",

"LastName": "Atreides",

"Email": "paul@arrakis.org"

}

}

]

}'

Built for developers

Built for developers

Built for developers

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

// Create a Stripe sync via the API


curl --request POST

--url https://api.sequin.io/v1/syncs

--data '{

"provider": "stripe",

"name": "Choam Corp - Stripe Production",

"collection_ids": [

"stripe.customer",

"stripe.invoice"

],

"rate_limit": {

"allowed_requests": 100,

"interval": 60000,

},

"credential": {

"provider": "stripe",

"access_token": "sk_live_7eC39HqLyjWDarjtT"

}

}'

Syncs, events streams, and more. All configurable via an API.

Syncs, events streams, and more. All configurable via an API.

Syncs, events streams, and more. All configurable via an API.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

// Create a Stripe sync via the API


curl --request POST

--url https://api.sequin.io/v1/syncs

--data '{

"provider": "stripe",

"name": "Choam Corp - Stripe Production",

"collection_ids": ["stripe.customer", "stripe.invoice"],

"rate_limit": {

"allowed_requests": 100,

"interval": 60000,

},

"credential": {

"provider": "stripe",

"access_token": "sk_live_7eC39HqLyjWDarjtT1zdp7dc"

}

}'

// Create a Stripe sync via the API


curl --request POST

--url https://api.sequin.io/v1/syncs

--data '{

"provider": "stripe",

"name": "Stripe Production",

"collection_ids": [

"stripe.customer",

"stripe.invoice"

],

"rate_limit": {

"allowed_requests": 100,

"interval": 60000,

},

"credential": {

"provider": "stripe",

"access_token": "sk_live_7eC39…"

}

}'

The stuff you don’t want to build

The stuff you don’t want to build

The stuff you don’t want to build

Sequin replaces the bespoke APIs and glue code you’d otherwise need to learn and write to integrate with an API. Here’s what you don’t need to build when you sync with Sequin:

Sequin replaces the bespoke APIs and glue code you’d otherwise need to learn and write to integrate with an API. Here’s what you don’t need to build when you sync with Sequin:

Auth & Token Management

You don’t need to build and debug another OAuth flow and handle token refresh.

Auth & Token Management

You don’t need to build and debug another OAuth flow and handle token refresh.

Auth & Token Management

You don’t need to build and debug another OAuth flow and handle token refresh.

Rate-limit controls

You don’t need to build a cache, fuss with webhooks, or debug missing events.

Rate-limit controls

You don’t need to build a cache, fuss with webhooks, or debug missing events.

Rate-limit controls

You don’t need to build a cache, fuss with webhooks, or debug missing events.

Query guess & check

You don’t need to learn a bespoke query language or worry about API versioning and erratic errors.

Query guess & check

You don’t need to learn a bespoke query language or worry about API versioning and erratic errors.

Query guess & check

You don’t need to learn a bespoke query language or worry about API versioning and erratic errors.

Observability & Monitoring

You don’t need to build tooling to monitor your integration, detect issues, and alert team members.

Observability & Monitoring

You don’t need to build tooling to monitor your integration, detect issues, and alert team members.

Observability & Monitoring

You don’t need to build tooling to monitor your integration, detect issues, and alert team members.

Pricing

Pricing

Pricing

Our pricing is designed to support integrations of every size.

Our pricing is designed to support integrations of every size.

Our pricing is designed to support integrations of every size.

Free

$0.00

Learn Sequin, ship to prod

Real-time speed

Unlimited syncs

Infinite monthly active rows

2 collections

Email support

On-Demand

Starting at

Built for growing companies

For production apps,

pay-as-you-go

Batch & real-time speed

Unlimited collections

10 Million monthly active rows

Advanced alerting

SSH tunneling

Chat and Slack support

Enterprise

Tailored

Scaled for enterprise

Pricing to scale

Kafka and NATS consumers

On premises deployment

SSO/SAML

Dedicated support and SLAs

Predictable. Transparent. Easy

Pay for Sequin like you pay for infrastructure.

Price / 1,000

monthly active rows

Price / 1,000 MAR

Real-time

(1-2 Second Latency)

Real-time

(1-2 Second Latency)

Batch

(~4 Hour Latency)

Batch

(~4 Hour Latency)

0 → 100K

0 → 100K

$8.00

$8.00

$2.50

$2.50

100K → 1M

100K → 1M

$4.00

$4.00

$1.25

$1.25

1M → 10M

1M → 10M

$1.20

$1.20

$0.50

$0.50

10M ++

10M ++

Enterprise pricing

Enterprise pricing

Rethink all your integrations

Rethink all your integrations

Rethink all your integrations

Replace all your integrations with Sequin.

Replace all your integrations with Sequin.

Replace all your integrations with Sequin.