Market Sessions
Returns live status for all four major forex trading sessions -- Sydney, Tokyo, London, and New York -- including which sessions are currently open, active overlap periods, and countdown timers to the next session event. Session awareness is fundamental to FX trading execution quality: liquidity, spreads, and volatility all vary dramatically depending on which markets are active.
Parameters
This endpoint requires no query parameters. It returns the current session state based on UTC time.
| Parameter | Type | Required | Description |
|---|---|---|---|
No parameters required. Authenticate with your API key via the X-API-Key header. | |||
Example Request
cURL
curl -H "X-API-Key: YOUR_API_KEY" \
"https://tickatlas.com/v1/sessions" Python
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://tickatlas.com"
response = requests.get(
f"{BASE_URL}/v1/sessions",
headers={"X-API-Key": API_KEY}
)
data = response.json()
print(f"Active sessions: {data['data']['active_sessions']}")
print(f"Current overlaps: {data['data']['overlaps']}")
for name, info in data["data"]["sessions"].items():
if info["status"] == "open":
print(f" {name}: OPEN - closes in {info['closes_in']}")
else:
print(f" {name}: closed - opens in {info['opens_in']}") JavaScript
const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://tickatlas.com";
const response = await fetch(`${BASE_URL}/v1/sessions`, {
headers: { "X-API-Key": API_KEY }
});
const { data } = await response.json();
console.log("Active sessions:", data.active_sessions);
console.log("Overlaps:", data.overlaps);
// Gate trading to open sessions only
if (data.active_sessions.length === 0) {
console.log("All sessions closed. Pausing execution.");
} Success Response
{
"success": true,
"data": {
"current_time": "2026-04-04T14:30:00Z",
"active_sessions": ["london", "new_york"],
"sessions": {
"sydney": { "status": "closed", "opens_in": "7h 30m" },
"tokyo": { "status": "closed", "opens_in": "9h 30m" },
"london": { "status": "open", "closes_in": "2h 30m" },
"new_york": { "status": "open", "closes_in": "6h 30m" }
},
"overlaps": ["london_new_york"],
"next_major_event": { "event": "london_close", "in": "2h 30m" }
}
} active_sessions -- Array of session names currently in their open window.
sessions.{name}.status -- Either "open" or "closed".
sessions.{name}.opens_in / closes_in -- Human-readable countdown to the next state change for that session.
overlaps -- Array of currently active overlap periods (e.g., "london_new_york").
next_major_event -- The soonest upcoming session open or close event.
Session Hours (UTC)
All times are in UTC. The forex market operates continuously from Sunday 22:00 UTC (Sydney open) through Friday 22:00 UTC (New York close).
| Session | Open (UTC) | Close (UTC) | Notes |
|---|---|---|---|
| Sydney | 22:00 | 07:00 | Crosses midnight UTC |
| Tokyo | 00:00 | 09:00 | Overlaps with Sydney until 07:00 |
| London | 08:00 | 17:00 | Highest FX volume session |
| New York | 13:00 | 22:00 | Overlaps with London 13:00-17:00 |
Overlap Periods
Session overlaps are the most important windows in the forex trading day. When two major sessions are active simultaneously, the combined order flow produces the deepest liquidity, tightest bid-ask spreads, and strongest directional moves. The London-New York overlap (13:00-17:00 UTC) consistently accounts for the highest volume period in global FX markets and is the preferred execution window for institutional and algorithmic traders.
| Overlap | UTC Window | Significance |
|---|---|---|
| Sydney / Tokyo | 00:00 - 07:00 | AUD, NZD, JPY pairs most active |
| Tokyo / London | 08:00 - 09:00 | Brief transition; GBP/JPY, EUR/JPY volatility |
| London / New York | 13:00 - 17:00 | Peak global liquidity. Tightest spreads on majors. |
Weekend Detection
The forex market closes for the weekend from Friday 22:00 UTC (New York close) through Sunday 22:00 UTC
(Sydney open). During this window, the API forces all sessions to "closed"
regardless of what the standard session schedule would otherwise indicate. The opens_in
countdown reflects the actual time until Sunday's Sydney open, not the next weekday occurrence.
Trading bots should use this endpoint to detect weekends rather than implementing their own UTC calendar logic, as the API accounts for edge cases such as holiday schedules and daylight saving time transitions that shift session boundaries.
Example: Trade Only During London-New York Overlap
This pattern is common in algorithmic trading systems that restrict order execution to peak liquidity windows. The bot polls the sessions endpoint and only proceeds when the desired overlap is active.
import requests
import time
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://tickatlas.com"
def wait_for_london_newyork_overlap():
"""Block until the London-New York overlap is active."""
while True:
resp = requests.get(
f"{BASE_URL}/v1/sessions",
headers={"X-API-Key": API_KEY}
)
sessions = resp.json()["data"]
if "london_new_york" in sessions.get("overlaps", []):
print("London-New York overlap active. Executing strategy.")
return sessions
# Check how long until London opens (if NY is already open)
london = sessions["sessions"]["london"]
ny = sessions["sessions"]["new_york"]
if london["status"] == "closed" and ny["status"] == "open":
print(f"Waiting for London to open ({london['opens_in']})")
elif london["status"] == "open" and ny["status"] == "closed":
print(f"Waiting for New York to open ({ny['opens_in']})")
else:
print("Both sessions closed. Waiting...")
time.sleep(60) # Re-check every minute
# Usage in a trading bot
overlap_data = wait_for_london_newyork_overlap()
# Now execute your high-liquidity strategy... Use Cases
Session-Aware Order Execution
Route orders to execute only when the relevant session is active. A EUR/USD strategy should wait for the London or New York session; an AUD/JPY strategy performs best during Sydney-Tokyo overlap.
Liquidity Scheduling
Schedule large orders during overlap periods to minimize slippage. The London-New York overlap offers the deepest liquidity pool for major pairs, reducing the market impact of sizable positions.
Spread Optimization
Combine with the Spread Analysis endpoint to verify that spreads are within acceptable thresholds before executing. Spreads widen significantly during off-hours and session transitions.
Trading Bot Session Gating
Use the active_sessions array as a gate in your bot's
main loop. When no sessions are active (weekends, holidays), the bot can pause polling and conserve
API quota rather than requesting stale data.