Nylas API and Sync Architecture Overview
The Nylas API makes it easy to connect and sync mail, calendar, and contact data from any email service provider. Below is a diagram showing you how your application can use the Nylas API to sync data from providers like GSuite and Microsoft.


Data storage
When you authenticate an account to Nylas, one of our sync servers will claim the account and automatically start syncing mail, calendar, and contact data into Nylas' sharded MySQL database. We store mail, contact, and calendar data indefinitely in our database until it is deleted by an API request or the account is deleted from our system.
Further, we sync all data for an account, sometimes called "historical mail". This means if you authenticate an account that has 10 years worth of data, we will sync that into our system. There are various filtering mechanisms on our API that allow you to filter out unwanted data when making API requests.
We also cache files, attachments, and copies of the raw RFC-2822 MIME message in an Amazon S3 bucket for 7 days. If you request the raw message within the first seven days, we'll return our cached copy from S3. After that, we'll delete the extra copy of the raw message from S3, and any further requests for the data will be proxied to the original mail server to re-retrieve the original data.
Performance
Here are some commonly requested performance stats around our API uptime and sync latencies. You can subscribe to our status page about system-wide performance and status incidents.
Approximations of Performance
These are approximations and actual performance may vary per provider. These mainly serve to provide a rough estimate when thinking about designing your application with our API. Please reference your master service agreement for specific guarantees regarding performance.
Metric | Value | Description |
---|---|---|
API Success Rate | 99.9% | Number of requests that return successful HTTP status codes |
P90(request_time) | Less than 500ms | P90 of request_time to various API endpoints |
TT50 | 5 min | During initial sync, the average time it takes to sync the first 50 threads for an account. |
TT500 | 25 min | During initial sync, the average time it takes to sync the first 500 threads for an account. |
Historical Sync Time | 1 day | The average time it takes to sync all historical mail for an account. Highly variable depending on how much data the account has and the upstream bandwidth of the mail server |
Sync Latency | 30s | Time for new messages or changes to data on the mail server to be synced into Nylas database. |
Syncback Latency | 30s | Time for modifications through the Nylas API to be synced back to the mail provider. |
What's Next?
Updated about a month ago