There are many cool things that can be built from the pull API - it gives much the same access to the raw data that Realtime Trains itself uses. Some ideas are using the data to generate delay repay claims on behalf of commuters, monitoring performance on a specific line, and more.
The pull API is provided on a HTTPS endpoint with access credentials being verified via a HTTP BASIC auth. The endpoint location is provided to you upon a successful application.
All request responses have gzip compression applied to them before leaving the server. Most clients and libraries should be able to handle this elegantly.
Responses may be returned in either JSON or XML formats. The JSON is the preferred format - XML is simply a reformatted version. The version selected can be determined using the request URI.
Responses will, generally, only contain information which is different from the default value, or is empty, in order to conserve space. The documentation details the default value for each property returned.