Today, many websites offer third-party access to their data through web APIs. However, manually encoding URLs with arbitrary endpoints, parameters, authentication handshakes, and pagination, among other things, makes API use challenging and laborious for programmers and untenable for novices. In addition, each API offers its own idiosyncratic data model, properties, and methods that a new user must learn, even when the sites manage the same common types of information as many others.In this thesis, I show how working with web APIs can be dramatically simplified by describing these APIs using a simple machine-readable ontology. I present a number of systems that can use these descriptions to access arbitrary APIs on the web. The first system lets users query and download data from any described web API. The second system exposes data behind web APIs as connected objects with standard types, allowing users to create interactive web applications that operate on the data accessible through these APIs. And the last system creates bridges between many heterogeneous types of data from different websites, allowing users to link and interact with data drawn from multiple web APIs simultaneously.