Rate limits & automatic retries
How 2sync handles API rate limits from Notion, Google, and Microsoft
2sync communicates with external APIs (Notion, Google, Microsoft, Todoist) on every sync cycle. These APIs enforce rate limits to prevent overload. 2sync handles rate limits automatically with retries and backoff, so your data syncs reliably without manual intervention.
What are rate limits?
Rate limits are restrictions set by API providers on how many requests an app can make in a given time period. When 2sync hits a rate limit, the API temporarily rejects further requests until the limit resets.
Every provider has different limits:
| Provider | Behavior |
|---|---|
| Notion | Limits requests per integration per second |
| Limits per-user quota across Calendar, Tasks, Contacts, and Gmail | |
| Microsoft | Limits per-app and per-user across Outlook services |
| Todoist | Limits per-user requests per minute |
How does 2sync handle rate limits?
2sync uses exponential backoff for all retries. When a rate limit is hit:
- The sync pauses for the affected API
- 2sync waits an increasing interval before retrying (1s, 2s, 4s, 8s, etc.)
- Retries continue until the API accepts requests again
- The sync resumes from where it paused
This entire process is transparent. You do not need to click anything or restart your automation.
Rate limits are not errors. They are normal API behavior during high-volume operations. 2sync is designed to work within these limits automatically.
What triggers rate limits?
Rate limits are more likely during:
- Initial sync of a large database (hundreds or thousands of items)
- Bulk changes applied to many items at once
- Multiple automations syncing the same provider simultaneously
- Other apps using the same API quota on your account
How does batch processing help?
For large sync operations, 2sync groups changes into batches rather than sending one request per item. This reduces the total number of API calls and keeps operations within rate limits more effectively.
Batch sizes adjust dynamically based on the provider and the current rate limit status.
What should I expect during high-volume syncs?
During initial setup or after a long pause, 2sync may need to process thousands of items. In these cases:
- Sync times may be longer than the usual cycle
- The automation status shows Syncing for an extended period
- All items will eventually sync; no manual intervention is needed
If you see a "Rate Limited" error on your automation, it means the current sync cycle was paused due to API limits. The next scheduled sync will proceed normally. No data is lost.
How do I reduce rate limit impact?
Narrow your time window: Syncing 6 months of events requires fewer API calls than 2 years.
Use filters: Exclude items you do not need. Fewer synced items means fewer API requests per cycle.
Stagger automations: If you run multiple automations for the same provider, consider slightly different sync times to spread the load.
Avoid bulk changes right before a sync: If you modify hundreds of items, let one sync cycle complete before making more changes.
Before enabling a large sync for the first time, run a Dry Run to estimate the number of changes. This helps you anticipate how long the initial sync will take and whether rate limits will be a factor. See Advanced sync settings for details.
Related
- Error codes for resolving Rate Limited and other error statuses
- Advanced sync settings for controlling batch behavior and sync timing
- Sync problems for troubleshooting slow or stalled syncs
- Plans and pricing for sync frequency differences by plan
FAQ
Do I need to do anything when 2sync hits a rate limit?
No. 2sync handles rate limits automatically using exponential backoff. The sync pauses briefly and resumes when the API allows. No manual action is needed.
Will rate limits cause data loss?
No. Rate limits only slow down the sync temporarily. All pending changes are queued and processed once the limit resets. Nothing is skipped or lost.
Why is my first sync taking so long?
Initial syncs process your entire database within the configured time window. This can mean thousands of API calls, which may trigger rate limits and require multiple retry cycles. Subsequent syncs only process changes and are much faster.
Can I increase my API rate limits?
Rate limits are set by the API providers (Google, Microsoft, Notion), not by 2sync. 2sync operates within these limits and optimizes requests to minimize impact. There is no setting to increase them.
I'm facing rate limit issues with Notion. What can I do?
Notion rate limits depend on the size of your database. If you hit limits frequently, reduce the number of synced items by narrowing your sync timeframe or adding filters. Most syncs succeed after automatic retries, but persistent issues with very large databases may require splitting data across multiple databases.