When you’re integrating CoinAPI into a trading bot or data analytics pipeline, one of the first technical questions that arises is:
“Besides the main quota limit, are there additional restrictions such as concurrency caps or protocol-specific limits?”
Yes. CoinAPI applies different limits depending on how you access market data.
This article explains the main categories of CoinAPI limits, how to monitor usage, and where to find current product-specific thresholds.
What Types of Limits Exist Beyond the Main Quota?
CoinAPI Market Data uses several types of controls:
- REST Credit limits — how much REST API usage your plan includes or supports.
- Concurrency limits — how many requests can be processed simultaneously.
- WebSocket limits — request/IP,
hello/IP, and concurrency/API-key controls. - FIX session limits — rules governing simultaneous FIX sessions per API key.
These limits serve different purposes. Having enough credits, for example, does not necessarily mean you can send an unlimited number of simultaneous requests.
Many responses include usage or limit headers, but availability can vary by endpoint and product. For reliable monitoring, use the API BRICKS Console and log usage headers when present.
How Do Market Data REST Limits Work?
Market Data REST has two important concepts: REST Credits and concurrency.
REST Credits measure API usage. Concurrency determines how many requests can be processed at the same time.
REST Credit Consumption
Credit consumption depends on the endpoint and the amount of data returned.
For Market Data REST, the general rule is:
If the limit parameter is used, every 100 data points returned counts as 1 REST Credit, rounded up.
In formula form:
REST Credits = ceil(returned_data_points / 100)
If limit is not used or is unavailable for the endpoint, each API call generally counts as 1 REST Credit.
Endpoint-specific billing behavior may apply, so check the current documentation when estimating a production workload.
Daily quotas and plan limits reset according to the rules of the relevant product and plan. Check the current API limits and billing documentation for exact reset behavior rather than assuming every limit uses the same 24-hour window.
What Are Concurrency Limits?
Concurrency limits control how many REST requests can be processed simultaneously for your API key.
This is separate from your REST Credit balance.
For example, an account can have sufficient credits available but still receive a limit response if an application sends too many requests simultaneously.
If you exceed a concurrency or rate limit, CoinAPI may return:
Your client should respond by reducing request pressure rather than retrying continuously.
A good production strategy is to:
- Use exponential backoff with jitter
- Cap retry attempts
- Respect retry headers when provided
- Reduce concurrency where necessary
- Cache requests that don't need to be repeated
Concurrency-related headers may also be returned where supported. Because exact header availability can vary, check the current documentation and log available headers during integration testing rather than depending on a specific header always being present.
How Does CoinAPI Handle WebSocket Limits?
Market Data WebSocket uses a different model from REST.
Current WebSocket controls include categories such as:
- Request Limit / IP
- Hello Limit / IP
- Concurrency Limit / API key
These controls help prevent excessive connections, subscription activity, and reconnect loops.
If a WebSocket client disconnects, avoid aggressive reconnect behavior. Use controlled retries and backoff rather than immediately creating repeated new connections.
WebSocket billing also differs from REST.
Market Data WebSocket usage can be measured through:
- Tier 1 Data — trades, quotes, and order book data transferred
- Tier 2 Data — metadata, OHLCV, and exchange-rate data transferred
Plan quotas and metered usage depend on your selected plan.
For continuous real-time data, WebSocket is generally more appropriate than repeatedly polling REST.
What Limits Apply to Market Data FIX?
Market Data FIX has its own session rules.
The main limit is one active FIX session per API key. Opening a new session with the same API key disconnects the existing session.
FIX usage may also be billed through Connection-Hours, depending on the plan.
If your architecture requires additional FIX sessions or more complex connectivity, contact CoinAPI to discuss the appropriate setup.
It is also important to distinguish Market Data FIX from CoinAPI EMS. Market Data FIX is used for receiving market data, while EMS is the execution and trading product.
Are There Special Rules for Order Books?
Order book workloads can become significantly larger than basic price or metadata requests.
REST order book endpoints are best suited to current snapshots and targeted historical queries.
For large-scale historical order book datasets, including full-depth updates where available, use CoinAPI Flat Files.
Coverage varies by exchange, symbol, date range, and dataset, so verify availability for the specific market you need.
When Should You Use Flat Files Instead of REST?
Order books aren't the only case where Flat Files make more sense.
For multi-year:
Flat Files are usually more appropriate than paginating through REST.
Flat Files are a separate bulk historical product. They are not governed by WebSocket-style streaming limits, but access still depends on your Flat Files API key, Usage Credits, dataset availability, and current pricing rules.
This gives each access method a clearer role:
| Interface | Primary limits / usage model |
| Market Data REST API | REST Credit Limit + Concurrency Limit |
| Market Data WebSocket API | Request/IP + Hello/IP + Concurrency/API key; Tier 1/Tier 2 data usage |
| Market Data FIX API | Session/API key; Connection-Hours depending on plan |
| Flat Files | Usage Credits + dataset/access rules |
How Do You Monitor CoinAPI Limits?
The API BRICKS Console should be your primary account-level monitoring tool.
Use the API BRICKS Console to monitor:
- API keys
- Usage
- Quotas
- Usage Credits
- Billing
- Subscriptions
Response headers can provide additional request-level information.
Where supported, responses may include rate-limit, credit, or concurrency information. Useful headers can include x-credits-used and other product-specific usage headers.
Because these headers may not appear on every endpoint or response, production systems should not rely on them as their only source of usage information.
Instead, combine application-level logging with the API BRICKS Console.
What Happens When You Hit a Limit?
When a threshold is reached, CoinAPI can communicate the restriction through an HTTP status code and, where supported, response headers.
A common example is:
When this happens, first determine which limit you hit.
It could be:
- REST Credit availability
- REST concurrency
- WebSocket request activity
- WebSocket connection or subscription behavior
- FIX session rules
- Another product- or plan-specific restriction
Don't simply retry the same request continuously. Reduce request pressure, apply backoff, and check your account usage.
Can You Use Multiple API Keys?
Yes. Multiple API keys can be useful for separating different workloads.
For example, you might use different keys for:
- A production application
- Data ingestion
- Research
- Development and testing
This makes it easier to organize integrations and monitor their usage.
However, multiple keys should not be treated as a way to bypass account-level limits. Overall usage remains governed by your account plan, quotas, and Spend Management settings.
Use the API BRICKS Console to monitor your keys, usage, quotas, and billing.
Can CoinAPI Limits Be Increased?
Some account settings can be managed through the API BRICKS Console, but higher operational limits are not necessarily self-service.
If you need:
- Higher REST concurrency
- Additional FIX connectivity
- Higher throughput
- Larger committed usage
- Custom infrastructure
contact CoinAPI Sales or Support.
Higher concurrency, FIX sessions, or custom limits are reviewed case by case based on the workload and account requirements.
Do Limits Differ Across CoinAPI Interfaces?
Yes. Each interface has limits suited to the way it delivers data.
| Product / interface | Main limit type |
| Market Data REST API | REST Credits Limit + Concurrency Limit |
| Market Data WebSocket API | Request Limit / IP, Hello Limit / IP, Concurrency Limit / API key |
| Market Data FIX API | Session / API key |
| Flat Files | Usage Credits, access permissions, and dataset availability |
Flat Files should not be interpreted as having “no limits.” They simply operate differently from streaming APIs.
Why Does CoinAPI Provide Usage Headers?
Usage and limit headers can help developers understand how individual requests affect their account.
When available, they can be used to:
- Track request cost
- Log API consumption
- Trigger application-level alerts
- Adjust request frequency
- Improve retry logic
But they are only one part of monitoring.
Not every response or endpoint necessarily includes every rate-limit or concurrency header. For that reason, use the API BRICKS Console for account-level visibility and response headers for additional request-level observability when available.
Key Takeaways
CoinAPI doesn't use one universal limit across every interface.
Market Data REST uses REST Credits and concurrency limits. When limit is used, every 100 returned data points generally counts as 1 REST Credit.
WebSocket has request, hello, and concurrency controls, while usage is measured through Tier 1 and Tier 2 data transfer.
FIX uses session limits per API key and may be billed through Connection-Hours.
Flat Files are the better option for large historical backfills and are governed by Usage Credits, access permissions, pricing, and dataset availability.
For production integrations, monitor account usage in the API BRICKS Console, log available response headers, implement proper backoff for 429 responses, and choose the access method that matches your workload.
Learn More
- Market Data API Limits & Billing Metrics
- Market Data API Pricing
- CoinAPI Flat Files
- API BRICKS Console
- CoinAPI Status Page
Need higher throughput, additional FIX connectivity, or a custom setup?












