When using Rutter, you will not experience the normal rate-limits imposed by a specific Ecommerce platform (e.g. Shopify). Rutter has its own rate-limits, but these are much more lenient and will be negotiated as part of your production plan.
In order to offer fast performance to merchants' data, Rutter uses a combination of caching and webhooks to store the latest data for a merchant. When you send requests to Rutter's API (Products, Orders, and Customers), most of the time the data will be cached and returned immediately. One exception is when a merchant first authorizes you to use their data: Rutter will begin downloading the data immediately, but it will not be ready until the INITIAL_UPDATE webhook fires.
Rutter does an "initial sync" of a merchant's data when they authenticate your app. This may take hours to days depending on the size of the store, and the most requested data will be cached first. Once this process completes, Rutter subscribes to relevant webhooks on the Ecommerce platform to keep the data in sync. As a final precaution, Rutter also regularly makes requests to platforms to double-check that no updates were lost from the webhooks.