Help

Save the date! Join us on October 16 for our Product Ops launch event. Register here.

We made a service that lets you query Airtable with SQL

13333 9
cancel
Showing results for 
Search instead for 
Did you mean: 
Eric_Goldman1
7 - App Architect
7 - App Architect

Hey everyone,

Excited to share a new tool we just built for Airtable - Sync Inc (syncinc.so). With a couple clicks, we’ll setup a hosted Postgres database containing all your Airtable data. We keep your database in sync in real-time. All you have to do is connect to it with your favorite SQL client, programming language, or app.

We used Airtable to power a volunteer organization we helped start at the beginning of this year. We loved how quick Airtable was to get up and running. But while we liked all the cool features for our volunteers, we missed the power of SQL on the back-end. And when we wanted to extend our base by building external apps on top of it, we ran into limitations with Airtable’s API (hello, filterBy). While Airtable looks like a database, you can’t query it like one.

With Sync Inc, you get the best of both worlds. You can keep using Airtable exactly as you do now. But unlock the flexibility of a SQL database behind the scenes.

You can try it out totally free here: https://syncinc.so.

If you’re curious about how it all works, check out our docs: https://docs.syncinc.so/

We’re looking forward to hearing feedback and answering any questions!

9 Replies 9
kaykydebrito
4 - Data Explorer
4 - Data Explorer

I’ve been wanting to query Airtable with SQL. We would use JOIN and UNION all the time when we used Microsoft Access. So this looks helpful!

But I’m curious how lookups will work here?

For example, if I have a record that is linked to two or more records on another table via a lookup - how will this work with Sync Inc?

Hey @kaykydebrito,

Happy to hear this looks useful :slightly_smiling_face:

Let’s say you have a table named orders with a lookup field containing the products in the order. Your Sync Inc database will also have a table called orders with a column, products . products will be a text[] type in Postgres - a Postgres array of record IDs.

In your Sync Inc Postgres database, it will look like this:

products
-------------------------------
{rec8Uizjiakjx, rec98akjdiZUZj}

That’s just what text arrays look like in Postgres. In JSON, this would be: [ "rec8Uizjiakjx", "rec98akjdiZUZj"]

So, to find all orders containing a particular product, you would do this:

SELECT * FROM orders WHERE 'rec98akjdiZUZj' = ANY(product);

Or to get the first product in every order you could do something like this:

SELECT product[1] FROM purchase_orders;

We have a complete example in our our docs that you can use to get going quickly:

I am here so let me know if you need anything!

kaykydebrito
4 - Data Explorer
4 - Data Explorer

I connected my Airtable base to Google Data Studio using the standard Postgres connector to run some analytics for a project. The arrays aren’t causing any issues. It’s working great.

I have a small base right now, so it seems to be syncing instantly. I’m thinking about using this for some bigger projects. How real-time is this for bigger bases?

Hey @kaykydebrito great to hear it!

We have a dedicated process that works to keep your base in sync constantly. For bases under 1,000 rows, your follower database will never be more than a few seconds behind.

The largest bases can lag by about 2-3 minutes, but we’re working right now on some innovative solutions to bring this down to real-time (under a couple seconds). Should be live in a few weeks. Sign-up now and we’ll keep you posted :slightly_smiling_face:

– Anthony @ Sync Inc

Hey @acco and @Eric_Goldman , did you succeed at getting Sync Inc to follow Airtable bases in near-real time?

How is that possible? Given that Airtable limits API requests to something like 5 requests per second, I’m mystified trying to imagine how one could keep a clone of an entire base only a couple of seconds behind. As far as I know, Airtable doesn’t provide webhooks either; the closest they have are Automations, but those are also quota-limited, so if you fired an Automation for every individual edit you would quickly use up the available quota (we’ve tried :winking_face: ).

We’re considering using Sync Inc and we’re super curious how you’re doing this. Thanks!

acco
6 - Interface Innovator
6 - Interface Innovator

Hey @Ping_Yee!

You’re right, the API quota is the limiting factor on sync speed. So changes can take ~2min on a 50k record base to propagate. But we have a trick where creates/updates/deletes made through the API sync instantly.

Email me (I’m anthony@) and let’s chat.

Best,
Anthony

Ahhh, I see! So proxied updates from our app would appear immediately, whereas edits made directly in Airtable would show up a couple minutes later.

Eric_Goldman1
7 - App Architect
7 - App Architect

We’re excited to announce that Sync Inc is now Sequin!

Almost a year ago, we first launched our product here in the Airtable community with this post.

The open-minded, supportive, and gracious feedback we received from this community helped us grow.

Today, syncing data is just one element of the much larger data integration problems we’re currently solving across Airtable and tools like Stripe and Shopify. So we sought out a brand to break the mold, hence Sequin.

You can find us at sequin.io.

All of our links across the community will automatically redirect you to the correct destination at sequin.io.

As always, we’ll continue to improve our product and support for Airtable. We’d love to hear from you if you have any questions or suggestions.

Many thanks,
Eric and the Sequin team

These guys just keep hitting the right mix of integration. Long live SQL!