Every API is Unique

Rob Galanakis on June 8, 2023

zoomed in artificial snowflakes, each unique

WebhookDB prides itself on being able to sync from literally any API.

As we integrate new APIs, we still find ourselves having to make slight modifications and enhancements to our core system.

This is because every API is different. And often, inconsistent.

On the plus side, using WebhookDB means not worrying about these differences and inconsistencies.

You just query a database.

Here are some fun examples to chew on.

APIs express time as POSIX timestamps in seconds, POSIX timestamps in milliseconds, ISO-8601 strings, and even novel formats.

WebhookDB normalizes these all to timestamps with timezones.

Almost no API uses the same design for sorting, searching, filtering, and field expansion.

Because WebhookDB syncs into a database, you can use whatever it provides.

Most Stripe resources, like Charges, can be enumerated directed. Some, like cards, cannot, and must be enumerated through their attached Customer.

Every Stripe resource in WebhookDB is in its own table.

In ConvertKit, you cannot iterate over active and canceled subscribers together. You iterate one list, then the other.

With WebhookDB, you are only looking at a single list of ConvertKit subscribers.

ICalendar seems well-supported but almost every library is incomplete. Many are lossy (you can't access the original parsed data).

We had to build our own parser so WebhookDB can provide fully-parsed, structured ICalendar data.

Google Calendar requires per-account webhooks (subscriptions) to be managed.

WebhookDB does this for you, and all Gogle Calendar events show up in the same table. You can also set up HTTP Sync to send everything to your own endpoint.

Microsoft Outlook Calendar first appears similar to Google Calendar, except with caveats like only the primary calendar can receive notifications.

WebhookDB syncs or polls for Outlook events as needed.

Plaid's API design is a whole world unto itself. If you know, you know, or will find out when you use the API.

Thankfully (you may be noticing a trend), you query a database filled with all your Plaid data.

Sponsy has resources, like customers, that can only be found through other resources.

WebhookDB syncs nested resources into their own table for easy access.

Twilio doesn't even have webhooks; only their event handlers, which you probably need to use yourself.

WebhookDB takes care of rapidly enumerating and storing Twilio messages.

These problems are one reason why syncing an API to a database is the best solution.

WebhookDB manages to make this sync both delightfully simple and absurdly powerful at the same time.

And it's super easy (and free!) to get started.

Check out a video of WebhookDB in action, take WebhookDB for a spin, or get in touch.

Recent Blog Posts

webhookdb hook logo wearing angel wings
WebhookDB Gives You Wings!

June 1, 2023

Answer any question instantaneously, instead of drowning in documentation and tools.

Read More →
programmers reading code behind two doors, one with more cursing than the other, correlating code quality and cursing
Why would they do that!

May 24, 2023

Or, how to stop worrying and learn to love every API.

Read More →
tired hippo sleeping
Never miss API changes

May 17, 2023

Ensuring changes to external systems are never missed is a difficult problem best left to dedicated services.

Read More →
open lock hanging from a door
Securing API keys

May 11, 2023

Learn about securing API keys when using React or building any client software.

Read More →