Mashups combine data and services provided by third parties through open APIs (such as Google Maps and Flickr), as well as internal data sources owned by users. The creation of mashups is supported by a complex ecosystem of interconnected data providers, mashup platforms, and users. In this paper, we examine the structure of the mashup ecosystem and its growth over time. Several observations follow from our analysis. First, we can conclude that while the number of new APIs and mashups over time follows a linear growth pattern, the distribution of mashups over APIs is not uniform but follows a power law. This implies that a small number of APIs provides the basis for the majority of mashups, and the other APIs are only used in certain application niches. Second, our analysis suggests that mashup platforms were introduced in response to the increasing complexity of mashups, as mashups evolved from one-feature mashups (widgets). Third, we observe that complementary relationships between open APIs are formed based on the position of the APIs in the ecosystem. The propensity of two APIs to be used together in the same mashup depends on the existing number of mashups to which they both contribute. The growth of the mashup ecosystem follows a pattern where keystone data providers or 'powerful hubs' attract niche data providers as complementors, and the positions of keystones in the ecosystem are mutually reinforcing.