Sequin: Replicate third-party APIs to Postgres
Extracto
Replicate your SaaS data to a follower Postgres database in real-time.
Contenido
Sync APIs to
your database
in real-time
Integrate in a fraction of the time with a production sync right to your database. No more polling, webhooks, or rate limits.
Get startedSequin syncs the data and events from the services you use right to your database. Instead of parsing API docs, translating queries into HTTP params, and fussing with pagination — start with all the data you need so you can integrate in minutes.
Choose the platform you're integrating with from our catalog. More sources are being added regularly.
Keep things simple by selecting just the tables and columns you need to start. Add more data at any time.
Start syncing to one of our hosted databases in a click. Or sync directly to your production database.
Sequin is always syncing so your database is never more than a couple seconds behind the API.
Your data is mapped to a Postgres schema with native types and foreign keys.
We manage your API quota, handle webhooks, recover from errors, and monitor your sync.
Sequin comes with a complete toolset to accelerate development for you and your team at every stage. From your proof-of-concept, to the first production deploy, to the inevitable migration.
APIs slow you down. They are foreign and bespoke. Stop parsing API docs, translating your queries into HTTP params, and fussing with pagination.
Instead, work with all your data in your database. Say hello to your old pals JOIN and WHERE. Or use your favorite ORM.
1// without Sequin 🥵
2
3const res = await fetch("https://api.stripe.com/invoices",
4 {
5 headers: {
7 Authorization: "Basic your_key"
8 "Content-Type": "text/json"
9 },
10 method: "POST",
11 body: JSON.stringify({
12 customer: "cus_TUJiqxHeTUHRh6Xz"
13 }
14 }
15})
16
17const data = await res.body.json()
1// with Sequin 😎
2
3await prisma.invoices.findMany({
4 where: {
5 customer_id: "cus_TUJiqxHeTUHRh6Xz"
6 }
7})
New signup!
1const Sequin = require('sequin');
2
3// handle paid invoice event
4Sequin.subscribe('close', 'signup', (event) => {
5 handle_paid_invoice(event.customer_id)
6}
Handling webhooks is a key part of most API integrations. But what if you miss one? Setting up a robust system to handle webhooks, errors, and retries is time-consuming.
With Sequin, skip webhooks entirely. Use our client libraries and locally synced event table to process new events as they happen. You can work with your event table as you need - replay, rewind, and restart.
Yes, we've thought about writes too. Sequin promotes a one-way dataflow: read from your database, write to the API.
But what if you want to read data immediately after mutating some data? Use Sequin's /wait endpoint or proxy. This ensures your data is up-to-date before you read from your database again.
1// get number of invoices issued
2await prisma.invoices.count()
>4
3
4// create invoice
5await stripe.create(...)
Creating invoice...
6
7await fetch("https://api.sequin.io/wait")
Waiting for sync...
8
9// get number of invoices issued
10await prisma.invoices.count()
>5
With all your third-party APIs accessible in your database, you can take your data to new places, faster.
Build complete features for your users in a fraction of the time.
Standup and improve CRUD apps, internal tools, and workflows.
Reveal the metrics hiding across your services.
Retool. Supabase. Hasura. If it supports Postgres, Sequin makes it better.
API integrations can feel brittle. API versions increment. Your features mature. You'll want to change the data you're storing. With Sequin, just select the new data you need as you need it. We'll take care of the rest.
You already use database migrations to handle changes in your data structures. Now, with Sequin, you can use these same migrations to work with your API data.
"Sequin changes the way we work with our SaaS data. It's a data access pattern we're going to expand across On Deck."

Stef Lewandowski
Senior Software Engineer, On Deck
"Sequin has made working with our Airtable data much faster. Taking us from hundreds of lines of Python down to one SQL query that returns the data exactly as we need it."

Matt Caruso
Operations Manager, Vimeo
"Sequin makes integrating our SaaS data easy. We had all our Airtable data in our BI tools in under an hour."

Soroush Pour
Head of Engineering, Vow