# Acumatica API Request Capacity Calculator

> Source: https://netray.co/tools/acumatica-api-request-capacity-calculator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Sizes API traffic from integrations, sync frequency and batch size, then checks headroom against your licensed request limit.

## Category

developer

## Erp

Acumatica

## Industry

SMB Manufacturing

## Audience

- Integration developer
- ERP admin
- Solution architect

## Tool

**Kind:** calculator

**Inputs:**

#### Active integrations

**Key:** integrations

**Type:** number

**Default:** 4

**Min:** 1

**Step:** 1

**Unit:** count

**Help:** Ecommerce, EDI, shipping, CRM, BI extracts.

#### Records per sync run

**Key:** records

**Type:** number

**Default:** 400

**Min:** 1

**Step:** 10

**Unit:** records

#### Sync runs per hour per integration

**Key:** syncs

**Type:** number

**Default:** 4

**Min:** 0

**Step:** 1

**Unit:** runs

#### Records per API call

**Key:** batch

**Type:** slider

**Default:** 25

**Min:** 1

**Max:** 200

**Step:** 1

**Unit:** records

**Help:** Where the endpoint accepts batches or you page results; 1 means one call per record.

#### Average call duration

**Key:** latency

**Type:** number

**Default:** 0.8

**Min:** 0.05

**Step:** 0.05

**Unit:** seconds

#### Target utilisation per session

**Key:** target

**Type:** slider

**Default:** 60

**Min:** 20

**Max:** 90

**Step:** 5

**Unit:** %

#### Licensed API requests per minute

**Key:** limit

**Type:** number

**Default:** 120

**Min:** 1

**Step:** 10

**Unit:** per minute

**Help:** Read it from your Acumatica licence and service level; the limit depends on the licence.

**Outputs:**

#### API calls per hour

**Key:** calls_hour

**Expr:** integrations * syncs * ceil(records / batch)

**Format:** integer

#### Average calls per minute

**Key:** calls_min

**Expr:** calls_hour / 60

**Format:** decimal

**Primary:** true

#### Session busy time

**Key:** busy

**Expr:** calls_hour * latency / 3600 * 100

**Format:** percent

**Description:** Share of an hour that one session would be busy making these calls.

#### API sessions needed

**Key:** sessions

**Expr:** max(1, ceil(busy / target))

**Format:** integer

**Primary:** true

#### Headroom against licensed limit

**Key:** headroom

**Expr:** (limit - calls_min) / limit * 100

**Format:** percent

**Description:** Negative means the average load already exceeds the limit.

**Chart:**

#### Calls per minute by batch size

**Type:** line

**X:** batch

**From:** 1

**To:** 200

**Steps:** 40

**Series:**

- calls_min

**Disclaimer:** Average load only. Bursts at the top of the hour can be much higher than the average; check your licence for the exact limits that apply.

## Content

**Intro:** Integrations that look light on paper can saturate an ERP when every record is its own call. This calculator converts records, sync frequency and batch size into calls per minute and the number of API sessions you need, so you can design before the limits bite.

**Sections:**

#### How to use it

**Body:** List each integration's average records per sync and runs per hour, using the sum if integrations differ. Set records per call to the real batch or page size your code uses. Enter the average call duration measured from logs. Then read the calls per minute, sessions needed and the headroom against the request limit in your licence.

#### The arithmetic

**Body:** Calls per hour is integrations x runs x ceil(records / batch). Busy time is calls x duration divided by 3,600 seconds. Sessions are busy time divided by a target utilisation, rounded up, since a session cannot run flat out without queueing. Headroom is the unused share of the licensed per-minute limit. Larger batches reduce calls sharply at first and flatten later, as the chart shows.

**Bullets:**

- Log out API sessions explicitly; idle sessions hold licence slots.
- Spread schedules instead of firing every integration on the hour.
- Use paging and filters to cut payload, not just call count.

#### Common mistakes

**Body:** The average hides peaks: ten jobs scheduled at minute zero look like a tenth of the traffic in the average but arrive all together. Test with a burst scenario, add retry traffic from failures, and include reporting and BI pulls that run during business hours. If you are close to the limit, redesign before buying capacity.

**Cta:** Netray can review your integration design and logs and suggest batching, scheduling and caching changes.

**Faq:**

#### What are Acumatica's API limits?

**Answer:** Limits depend on your licence and service level, such as requests per minute and concurrent API users. Check your licence terms rather than relying on a generic number.

#### Why does batch size matter?

**Answer:** Each call has fixed overhead for authentication, network and processing. Fewer larger calls reduce that overhead, until payload size or timeouts become the limiting factor.

#### Does this cover OData or generic inquiries?

**Answer:** The model is generic: any request that counts against your limit. Replace records per call with the page size you use for an OData or inquiry pull.

#### What utilisation should I target?

**Answer:** Around 60 percent leaves room for bursts and retries. Higher targets increase queueing delay and timeouts when many jobs start together.

## Search terms

acumatica api rate limit, acumatica api requests per minute, acumatica integration capacity, acumatica concurrent api users, acumatica rest api batch size, acumatica contract based api performance

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
