Real-Time Forex Data API
Live OHLCV candles, tick data, 42 pre-calculated indicators, and real-time spreads — refreshed as our data updates and served from Redis for near-instant response times.
-
Minute-Level Price Refresh
Our data updates about every 60 seconds, so quotes and spreads move on roughly a one-minute cadence through the trading session.
-
Redis-Cached
Most requests are served straight from memory — no database round-trip and no recalculation per call.
-
Live Tick Data
Raw bid/ask tick data via /v1/ticks. See every price movement with timestamps for sub-candle precision.
-
Real-Time Indicators
All 42 indicators update with each new candle close. M1 indicators refresh every minute, M5 every 5 minutes.
-
Live Spread Data
Current bid-ask spread, average spread, and spread percentile — updated in real time for cost-aware trading.
-
Our Data
Our data, live through the trading session.
Real-Time Data Example
import requests, time
from datetime import datetime, timedelta, timezone
headers = {"X-API-Key": "YOUR_API_KEY"}
BASE = "https://tickatlas.com/v1"
# Continuous real-time monitoring
while True:
# Ticks from the last minute — /v1/ticks requires both from and to
now = datetime.now(timezone.utc)
tick = requests.get(f"{BASE}/ticks", headers=headers,
params={"symbol": "EURUSD",
"from": (now - timedelta(minutes=1)).isoformat(),
"to": now.isoformat()}).json()
latest = tick["data"]["ticks"][-1]
print(f"EURUSD bid={latest['bid']} ask={latest['ask']}")
# Real-time RSI
rsi = requests.get(f"{BASE}/indicator", headers=headers,
params={"symbol": "EURUSD", "indicator": "RSI_14", "timeframe": "M1"}).json()
print(f"RSI(M1): {rsi['data']['value']:.1f}")
# Current spread
spread = requests.get(f"{BASE}/spread", headers=headers,
params={"symbol": "EURUSD"}).json()
print(f"Spread: {spread['data']['current_spread_pips']:.1f} pips\n")
time.sleep(60) # Our data updates about once a minute Real-Time Endpoints
| Endpoint | Refresh Rate | Data |
|---|---|---|
/v1/ticks | Second-resolution samples | Bid, ask, timestamp |
/v1/spread | ~60 seconds | Current, avg, min, max |
/v1/indicator | Per candle close | Any of 42 indicators |
/v1/ohlc | Per candle close | Open, high, low, close, vol |
/v1/heatmap | ~5 minutes | Currency strength |
Frequently Asked Questions
How real-time is the forex data?
Our data is served from Redis and updates about every 60 seconds; indicator and candle values refresh on the cadence of their timeframe — M1 and M5 on the minute, M15/M30/H1 every 10 minutes, H4 and above every 30 minutes.
What real-time data formats are available?
Real-time OHLCV candles, pre-calculated indicators (42 total), raw tick data (bid/ask), spread data, and rule-based market summaries. All in JSON format.
Can I get streaming real-time data?
Yes, on Starter and above: /ws/v1/quotes pushes live bid/ask quotes for the symbols you subscribe to, and the pushes do not count against your quota. On pay-as-you-go, poll the REST API instead, at the cadence of the data you want: quotes change about once a minute, indicators once per timeframe interval. Every call is served from Redis, so polling is cheap on our side — it simply will not return anything new before our data updates again.
What is the rate limit for real-time data?
Pay as you go: 30/min on the starting credit, 600/min after a top-up. Starter: 120/min. Pro: 600/min (10/sec). Enterprise: 6,000/min (100/sec). Pro and Enterprise handle continuous real-time polling.
How does the data reach the API?
Our data flows through PostgreSQL for persistence and Redis for real-time caching.
Get Real-Time Forex Data Now
Start free with $2.50 of API credit. Live prices, refreshed every minute.