NewStore applies limits to data import jobs to keep the platform stable and to ensure fair usage across all tenants. These limits cap the size of an individual import job and the total volume of entities a tenant can import over time. They are not intended to restrict normal integration workflows, which operate well below these thresholds, but to protect the platform against accidental or excessive load. For example, the limit may kick in during large data migrations or bulk catalog updates.
Import limits are enforced at two levels:
Limits for each job - The maximum number of entities a single import job may contain.
Throughput limits for each tenant - The maximum number of entities a tenant may import per hour and per day, across all import jobs.
Maximum job size
A single import job may contain a maximum of 500,000 entities, counted across all entity types included in the job (products, categories, prices, and availabilities). If a job exceeds this limit, it is rejected when it is created and no data is processed.
To import a larger data set, split it into multiple jobs. Each of these jobs should stay within the limit and you can submit them sequentially. For guidance on breaking up large imports, see Importing data.
Limit | Value |
|---|---|
Maximum entities per import job | 500,000 |
Tenant throughput limits
In addition to the job-specific limit, each tenant is subject to hourly and daily limits on the total number of entities it can import. These limits apply across all of the tenant's import jobs and reset on a rolling basis. Non-production tenants have lower limits, reflecting their reduced load requirements.
Limit | Production tenants | Sandbox/Staging tenants |
|---|---|---|
Maximum entities per import job | 500,000 | 100,000 |
Hourly tenant limit (entities / hour) | 1,000,000 | 200,000 |
Daily tenant limit (entities / day) | 10,000,000 | 2,000,000 |
Parallel jobs for each tenant
A tenant can run only a limited number of import jobs of the same entity type at the same time. This limit is applied per tenant and is separate from the job specific limits and throughput limits specified. While a tenant is at its parallel-job limit for an entity type, additional jobs for that entity type are held in the waiting state and only begin processing once a running job for the same entity type completes.
Entity type | Maximum parallel jobs for each tenant |
|---|---|
Products | 1 |
Categories | 5 |
Prices | 5 |
Availabilities | 5 |
What happens when a limit is exceeded
When a tenant reaches its hourly or daily limit, NewStore stops accepting new import jobs for that tenant until enough of the window has elapsed for usage to fall back below the threshold. Requests to create a new import job in this state are rejected with an HTTP 429 Too Many Requests response. The response includes a Retry-After header indicating when the request can be retried.
A job that exceeds the per-job entity limit is rejected immediately when it is created and returns a validation error. No partial import is performed.
Recommendations for import jobs
Split large data sets into multiple jobs that each stay within the per-job limit, and submit them sequentially rather than in parallel.
Spread bulk imports across the day where possible to stay within the hourly limit, rather than submitting the full daily volume in a single burst.
Monitor for
HTTP 429responses and implement retry logic that respects theRetry-Afterheader, using exponential backoff with jitter.Use staging and sandbox tenants to test import pipelines, and remember that the limits are lower than production. A job that succeeds in production may exceed a sandbox limit and therefore fail.
If your business consistently needs higher limits, reach out to your point of contact at NewStore to discuss your requirements.