left arrow Back to posts

Announcing rate limit controls

Eric Goldman
2 min read
main image of the article

From the beginning, we architected Sequin to manage API quotas for every sync. Now, we’re giving you more control over how Sequin handles your integration’s quota. You can set how many API calls your integration uses based on your needs.

Rate limits are an unfortunate reality of every API. The intention is sound: they prevent abuse and help keep load on APIs predictable. But they make integrations harder.

From the beginning of your integration, rate limits mean you need to write logic that tracks and paces your API calls. As you scale, rate limits force you to start caching your reads and batching your writes. Both are complicated and require setting up background jobs to push to and pull from the API.

Rate limits are one of the primary reasons our customers adopt Sequin. So it will continue to be a huge focus for us.

How it works

When creating or editing a sync, you’ll set how many API calls to allocate to your integration. Your integration will never exceed this limit:

Sequin's rate limit controls
Sequin's rate limit controls

Sequin will pace reads and batch writes to the API to ensure we stay within this allocation. To keep your sync as fast as possible, Sequin will dynamically prioritize API calls. We'll focus read requests towards active endpoints. We'll slow down reads to make room for writes. And as you write data through your database or the Sequin proxy, we’ll batch requests where possible.

After configuring your rate limit, you can use Sequin for your integration without worrying about it. Query your data without concern and write changes to the API without worrying about 429s.

Learn more about how Sequin manages your quota and rate limit in our docs.

More to come

We’ll be rolling out more tools to help you manage the efficiency and speed of your integration:

Batching controls

Soon, you’ll be able to configure how Sequin batches writes. You’ll tell Sequin to wait for a collection of Y records for up to X seconds before making a write.

Table-level priority

When syncing, Sequin prioritizes which API endpoints to check based on their activity level. Endpoints that often have more changes to sync have more of your API quota allocated to them.

But sometimes, specific endpoints are more important for your app than others. Perhaps you only want to sync Salesforce admin accounts once per day, and you want to free up the rest of your quota to sync other endpoints faster. Soon, you’ll be able to set these priorities in the console.

Sync Speedometer

As you adjust your API allocation, batching, and priority, the speed of your sync changes. We’ll begin to show you how adjustments impact the sync performance of each of your tables so you can make the right decision for your integration.