Your API has an API
Ostensibly one might think that a single page application would be simpler than a multi-page app. I mean, it’s just one page. The multi-page app might be dozens of pages. However, from what I’ve seen such is not alway (ever?) the case.
A RESTful multi-page app maintains a fairly good translation of routes to views. In an MVC framework the controller renders the views based on modelled data. It’s very straightforward (by the way, why are these squirrels always dropping stuff on the roof? Are they greedy grabbing acorns they can’t hold onto?). When using, say, Backbone.js, the models model data from the server API which may still have its own (albeit stripped down) MVC framework (sans V, just MC then). So the actual routes being served (server-side) map indirectly to renderings on the client side which might also render based on event triggers without fetching new server-side data.
So, a client can eagerly load a bunch of data from the server’s few routes and then have a field day with implementing dozens of ways of displaying it. Somehow, it’s still fairly straightforward, but it does take some getting used to and it does surprise me how complex single page apps are. Apparently there are plugins to optimize them for SEO too.