FOREX.com · Rate Limits

Forex Com Rate Limits

FOREX.com does not publish explicit numerical rate limit thresholds in public documentation. The REST API (ciapi.cityindex.com/TradingAPI) uses session-based authentication and Lightstreamer for real-time streaming. Historical price requests are capped at 4,000 records per call. Specific per-minute or per-second REST request rate limits should be confirmed with FOREX.com API support (support.en@forex.com). FIX API message rates for institutional clients are configured per-agreement.

Forex Com Rate Limits is the machine-readable rate-limit profile for FOREX.com on the APIs.io network, conforming to the API Commons Rate Limits specification.

It captures 4 rate-limit definitions, measuring records, requests, subscriptions, and messages_per_second.

The profile also includes 5 backoff/retry policies defined and response codes documented for throttled.

Tagged areas include Rate Limiting, Forex, and Trading.

4 Limits Throttle: 429
Rate LimitingForexTrading

Limits

Historical price records per request request
records · request
4000
REST API request rate session
requests · second
Lightstreamer streaming subscriptions session
subscriptions · session
FIX API message rate session
messages_per_second · second

Policies

AppKey activation required
API access requires an AppKey provisioned by FOREX.com support. Submit requests to support.en@forex.com and allow approximately 3 business days for activation.
Use Lightstreamer for real-time data
Avoid polling REST endpoints for live prices. Subscribe to the Lightstreamer STREAMINGALL adapter in MERGE mode to receive bid/ask/offer and AuditId fields pushed server-side, reducing unnecessary REST load.
Paginate historical data requests
Historical price requests return up to 4,000 records per call. Use date range (start/end) or count parameters to paginate data retrieval across multiple requests.
Implement exponential backoff
Implement exponential backoff with jitter when receiving error responses to avoid sustained throttling and ensure orderly reconnection after streaming disconnects.
Reuse session credentials
Sessions are authenticated once via POST /session and the returned session ID is passed in request headers. Avoid re-authenticating on every request; reuse the session ID for the lifetime of an API session.

Sources