This uses UK government data sources for the tides (UK Government Hydrographic Office) and for the weather (Met Office). The server part of the tide clock parses the XML from the Met Office from the land forecasts feed and from the sea observations feed. There's not many sea observation points. Really! There's about ten that actually have information about the sea itself (as opposed to visibility and the like). I wanted sea temperature. The documentation is pretty good, just needs a free API key to access.
By contrast UKHO have an EasyTide application which is not designed to be machine parseable, but it puts out a "printer friendly" format that removes enough cruft to be attacked with BeautifulSoup, a Python HTML parser. It also only puts out times in GMT and not BST despite saying it has DST support.