MoySklad API Limits and How to Build Reliable Data Exchange

Contents
Integration with MoySklad usually starts easily: an open API, clear documentation, and webhooks. Problems appear later, as your catalog, order volume, and number of connected systems grow. That is when the integration hits limits, starts missing changes, or slows down.
This article is for anyone who has already run into these issues or wants to avoid them from the start.
Limitations you may encounter
Request limits
The MoySklad API limits the number of requests per period and the number of concurrent requests. If you exceed them, the server returns an error, and you must retry the request later. Current limit values are specified in the API documentation.
Data volume in a single response
Lists are returned in batches, and exporting the entire catalog requires many sequential requests.
Webhooks
Change notifications help you avoid polling the system constantly, but they do not guarantee delivery of every event. You need a fallback reconciliation process.
Shared account limits
If multiple integrations (website, portal, CRM, delivery service) are connected to a single MoySklad account, they share a common limit. One "greedy" integration can disrupt the others.
Typical symptoms
- inventory levels on the portal update with a long delay;
- some price updates do not go through;
- the integration periodically crashes with rate limit errors;
- the overnight full export does not finish in time;
- after connecting a new integration, existing ones start performing worse.
Principles of reliable data exchange
- Sync changes, not the entire dataset. A full export is only needed for the initial load and occasional reconciliation.
- Use webhooks plus reconciliation. Webhooks provide speed, while reconciliation ensures completeness.
- Store a copy of the data on your side. The portal reads from its own database instead of querying MoySklad on every user action.
- Prioritize requests. Creating an order is more important than updating descriptions.
- Retry with a delay. If a rate limit error occurs, do not retry immediately: increase the delay.
- Log everything. Every operation is recorded with its status and error details.
- Consolidate integrations. Do not connect each system to MoySklad separately.
When this becomes critical
- a catalog of tens of thousands of items with variants;
- hundreds of orders per day;
- frequent price and inventory updates;
- multiple channels: portal, website, CRM, delivery services.
Frequently asked questions
Can you increase the limits?
Terms depend on MoySklad and your plan. But even with higher limits, a proper data exchange architecture remains essential.
Why aren't webhooks arriving?
Reasons vary: an unavailable handler, slow responses, or errors on the service side. That is why webhooks are always supplemented with reconciliation.
Can you fix an existing integration?
Usually, yes: switch data exchange to changes only, add a queue, retries, and reconciliation.


