To manage the performance of the Business Central SaaS servers, Microsoft limits the usage of the API. Be aware of these limitations so that you can optimize your code when you connect by using the API. Limitations also apply to OData and SOAP web services. The following limitations are in place:
Number of requests. In the sandbox environment, you can send a maximum of 300 requests each minute. The production environment contains a maximum of 600 requests each minute.
A timeout occurs when your request exceeds 10 minutes of run time.
The maximum number of simultaneous requests is 100.
A page can only contain 20000 entities for each page.
The operation timeout is set to eight minutes.
To reduce the number of calls from a client or integration and to reduce the run time, use the following approaches:
Webhooks should receive changes when they occur. Your application can get a push message when an entity is modified instead of you having to check for changes every few minutes. Try to convert your solution from a pull to a push model. If that option is not possible, you can apply other recommendations.
Use batching to perform multiple operations in one call.
Use the $filter OData filter expression to reduce the number of returned entities.
Use the $expand OData filter expression to retrieve related entities in one request.
When you post data, you can also use deep inserts. You can send details in one request. When you create a new sales order, you can send all of your sales lines in the same POST request and have them created in one call.