An application programming interface (API) is, basically, a method for a computer (person, script etc.) to interact with another computer. APIs allow programmers to access data that is held in another system, and to sometimes do stuff with that data. As a simple example, Google allows access to their search results via their search API, and with it you can build a custom search tool; see here for an example.
ProgrammableWeb is an excellent source for staying on top of APIs and Mashups. The site lists over 350 APIs and 1500 Mashups at the time of posting.
It has a mashup and API faq, the API Dashboard and Mashup Listings for people looking for inspiration.
The site also has a blog and forums, so if you are looking at digging into APIs and building some form of mashup, ProgrammableWeb is a pretty safe place to start.
Here's an excellent original use of how to use an API to add some meaning to and clean up some data, or, as the authors put it adding value to your own data by using external information
.
Starting with some very simple information (names), the developers where able to create a relation map between the names by using the Yahoo search API along with Wikipedia and the Yahoo Terms Suggestion tool.
Very cool work, and a short read worth checking out.
Four tutorials for using various APIs. Three of the examples show you how to build a site search using the APIs from Yahoo!, Google and MSN, while the fourth example shows you how to use the Yahoo! term extraction tool and the Tagyu API to retrieve tag suggestions for content that you pass to it.
Links to 33 apps built on Google's APIs by Philipp Lenssen of Google Blogoscoped.
An ASP implementaion of using the google APIs to spell check.