All exchanges Widget
Put this on your own site
Pick the markets, copy the snippet, paste it in. It updates itself, it costs you nothing, and it asks your readers for nothing: no cookie, no tracking, no request to anybody but this site.
Pick your markets
How it will look
Live, and in your own timezone, because it is the real widget rather than a picture of one.
The snippet
Paste this wherever you want it. In WordPress use a Custom HTML block, not a paragraph: the visual editor strips an iframe out of ordinary text without telling you. In Ghost or Substack it is an HTML card. In plain HTML it goes anywhere.
Copied
The height is worked out from how many markets you picked. If you change the list by hand later, each row is 34 pixels and the footer is 30.
Keep the credit line
The second half of the snippet, the sentence under the frame, is the licence. The calendar is CC BY 4.0, which lets you use it for anything at all including commercially, and asks one thing back: say where it came from, somewhere a reader can follow.
It has to sit outside the frame, and that is worth knowing rather than taking on trust. A frame is not a link. A search engine reads an iframe as an embedded document, not as a citation, so a credit that lives inside the widget credits nobody: it gives this site nothing, and it gives your reader no way here except squinting at small print in a box. The line under the frame is the whole of what is being asked.
Parameters, if you would rather write it yourself
- m
- market ids or MIC codes, comma separated, up to 12. Ids are listed on the API page.
- theme
- auto, light, dark
- accent
- six hex digits with no hash, for focus rings and hover
- clock
- 1 or 0
- link
- 1 or 0
An id it does not recognise is dropped rather than shown as an error, so a typo costs you one row instead of the whole widget.
What it does on your page
It loads one HTML document, one stylesheet, two scripts and the calendar, all from this site and nothing from anywhere else. It sets no cookie and writes nothing to storage. It does not know who your readers are and neither do we: there are no analytics on this site at all, so an embed could not report anything back even if it wanted to, because there is nothing here to report to.
After that it makes one small request every five minutes, for as long as the page is open and visible, to a file that says whether any market has been suspended by hand. That is the one thing a cached calendar cannot know: a market that stopped this morning for a funeral or an outage. It stops while the tab is in the background. The calendar itself is re-read every six hours, and the countdown, which is the only thing that changes every second, is arithmetic and costs nothing.
Same disclaimer as everywhere else: these are published schedules, they can be wrong, and exchanges close at no notice. Do not put it in front of your readers as something they can trade on. The legal page is the long version.