BellHour API

Free JSON API for global market hours and status

GET /api/markets

Returns full status for all 12 exchanges including countdown timers.

curl https://bellhour.com/api/markets
Response Schema
[
  {
    "id": "nyse",
    "name": "New York Stock Exchange",
    "shortName": "NYSE",
    "flag": "πŸ‡ΊπŸ‡Έ",
    "country": "United States",
    "timezone": "America/New_York",
    "status": "open | closed | pre-market | after-hours | lunch-break | holiday",
    "localTime": "10:30:00 AM",
    "nextEvent": "opens | closes | lunch | resumes",
    "nextEventTimeMs": 1712678400000,
    "nextEventLocal": "16:00",
    "countdownMs": 19800000,
    "regularHours": "09:30 - 16:00",
    "holidayName": "Christmas Day",
    "earlyClose": "13:00",
    "earlyCloseName": "Christmas Eve"
  }
]

GET /api/status

Lightweight endpoint β€” status and countdown only.

curl https://bellhour.com/api/status
Response Schema
[
  {
    "id": "nyse",
    "status": "open",
    "nextEvent": "closes",
    "nextEventTimeMs": 1712678400000,
    "countdownMs": 19800000,
    "localTime": "10:30:00 AM"
  }
]

Embeddable Widget

Embed a live countdown widget on your site:

<iframe src="https://bellhour.com/embed/nyse" width="280" height="160" frameborder="0"></iframe>

Available market IDs: nyse, nasdaq, lse, tse, hkex, sse, euronext, asx, tsx, nse, jse, krx

Usage

Rate LimitsNo authentication required. Responses are cached at the edge (10-30s).
CORSAll endpoints support cross-origin requests.
FormatAll responses are JSON with UTF-8 encoding.