Epicor REST API Paging and Throughput Calculator
Pulling a large table through Epicor REST with a tiny page size makes thousands of round trips, while a huge page risks timeouts. This calculator shows the duration, request count and throughput for any page size and parallelism so you can choose with numbers.
Your numbers
Network, authentication and query setup for each request.
Respect your license, server capacity and any API limits.
Your results
Model assumes fixed latency plus linear per-record time. Very large pages can time out or strain memory, so test on your own system and keep pages moderate.
Total duration vs page size
Sweeps Page size ($top) from 10 to 2000, holding your other inputs fixed.
Epicor data pipeline design
Optional: talk through an extract or integration design with someone who has built them.
Optional. The tool and every export work without this. No spam.
How to use it
Enter the number of records, the page size you plan to request with $top, and your measured fixed latency per call. Add per-record time and the number of parallel requests. The tool returns the request count, time per request, total duration and records per second, and the chart shows duration across page sizes so you can see where larger pages stop helping.
- Measure latency by calling a tiny page such as $top=1.
- Page with $top and $skip, or use a stable ordering key for safety.
- Add $select to return only the columns you need.
The math
Requests equal records divided by page size, rounded up. Each request costs fixed latency plus page size times per-record time. Total time is requests times request time, divided by the number of parallel threads. Throughput is records divided by total seconds. Because latency is paid per call, larger pages remove overhead until per-record time dominates and the curve flattens.
Practical guidance
The chart typically falls steeply and then flattens, so beyond a few hundred to a couple of thousand records the gain is small while risk grows. Skip-based paging gets slower on deep pages in some queries, so filtering by a date or key range and extracting in slices is often safer. Run extracts off-hours and keep concurrency modest to protect users.
Common mistakes
Extracting without $select drags every column over the wire. Using one thread for a huge table wastes time, while too many threads can slow the whole server. Failing to handle token expiry on long jobs and not retrying transient errors are common causes of half-finished extracts. Log the last successful page so you can resume.
Frequently Asked Questions
What page size should I start with?
A few hundred to a thousand records is a sensible start for many tables. Test a couple of sizes against your system and watch response time and server load, then settle on the lowest size that keeps duration acceptable.
Should I use BAQ endpoints or table services?
BAQ endpoints let you shape and filter data on the server and return only needed fields, which often suits extracts. Table services suit simple reads and writes. Choose by the shape of the data you need.
Are there API rate limits?
Limits depend on your Epicor deployment, licensing and configuration. Check with your administrator or Epicor documentation, and design the job to back off and retry on throttling responses.
How do I avoid missing rows while paging?
Order by a stable unique key and, ideally, filter by a time or key range rather than relying on deep skip values, so changes made during the extract do not shift your pages.
If you are building a data pipeline out of Epicor, Netray can help design it with proper paging, retries and read-only safeguards. The calculator stands alone.
Related Tools
Epicor BAQ Runtime and Row Volume Estimator
Model how filters, joins and indexes change the rows a BAQ reads and the seconds it takes, before you publish it to users.
EpicorEpicor DMT Data Load Time Calculator
Plan DMT load windows by combining record counts, throughput, error rates and fix time into total hours.
EpicorEpicor Database Growth Forecast Calculator
Project storage needs over several years from transaction volume, row size, index overhead, growth and backup copies.
More Epicor tools
See all- Epicor Kinetic Customization Change Request Form Template
- Epicor Kinetic Go-Live Cutover Plan Template
- Epicor Kinetic User Access Request Form Template
- Epicor Kinetic BPM Directive Inventory Worksheet
- Epicor Kinetic Scheduled Task Register Worksheet
- Epicor Kinetic Custom Report Inventory Worksheet
- Epicor Kinetic Data Migration Mapping Worksheet
- Epicor Kinetic Data Load Effort Calculator
- Epicor Business Object Services Reference