1. Pick a subject
Answer the question: a mashup of what? Hint: Plotting markers on maps is probably the easiest place to start. It might just be the best delis in your neighborhood. While you could go for something more complex with muliple data sources: maps + photos + bookmarks + more, you may want to keep it simple to start.
This helps define what APIs and tools you’ll be looking at: maps, news, auctions, products, etc. Browse this site’s API Database and sort by Category to get a sense of API types. You can also browse the Mashup Listing to see which interesting applications have been built using which APIs.
2. Decide where your data is coming from
What is the source of your data? This can drive the APIs you’ll use. For example, if you want to do something with your photos on Flickr or sale items on eBay, then those vendors APIs are the likely candidates. Or, you may be inputting the data yourself such as with simple map markers. In which case your options are more open.
(For the purposes of this Guide, I won’t spend time distinguishing between a true ‘mashup’, thus 2 or more data sources, and just using an API, which may mean only 1 external source. The exact definition of mashup is vague so no need to fight semantics at the moment.)
3. Weigh your coding skills
Mashups, as of today, are mostly a programmer’s affair although there are some tools such as MapBuilder and Wayfaring that can help you create basic maps without coding.
How much of a coder are you?
Maps APIs are simplest but more sophisticated APIs, such as those for conducting financially-sensitive operations like auctions, are more complex.
How much time do you have?
Again, development speed is inversely proportional to complexity.
Do you have a server to run this on?
Simpler APIs can be used from JavaScript in a web page or take specially formated XML file as input (as shown here at Engadget). While this is indeed simple, security issues limit JavaScript’s suitability for true client-only mashups. Odds are that you will need to run your application from a web server which you manage or have access to.
What language will you use?
This is primarily driven by what programming languages you know. While your decision may also be influenced by vendor-provided toolkits, most web APIs aim to be language-agnostic so this is less of a vendor-dictacted issue than your own choice. You can use the API reference to see if an API has a language-specific toolkit (such as Flickr which has many).
Note that this whole step may arguably be Step 1, depending on your perspective.
4. Sign-up for an API
Most, but not all, API providers require you to have a developer/application ID, a user account with their service, or both. Some services give you one ID for as many applications as you write while others require you to get an ID for each application that you create. While this signup may sound complicated, and for a few services it is, most of the time this takes only a minute or two to complete. As an example, take a look at the Google Sign-up Page.
5. Start coding
For this step, the big one, rather than describe the many variations in detail, I’ll refer you to a variety of well-written and useful API-specific tutorials and introductions. You can also check the profile for any of the APIs and refer to resources from the reference section as needed.
Note that this list is dynamic and will change over time so check back later for updates.
-
Amazon EC2 [API Profile]
- EC2 API Perl client
A Perl client for the EC2 REST API. Available on CPAN. -
Amazon eCommerce [API Profile]
- Explore Amazon Web Services with AJAX
Very informative five part series from Ajax Magazine on using Amazon E-Commerce services. PHP examples. - Amazon E-Commerce Service Tour
A tour of the REST functionality from Amazon’s developer site. - Amazon Web Services Code Samples
Full code samples from Amazon’s site. Languages include Java, Perl, ASP.NET in C# and VB. - Consuming Amazon’s Web API Directly with Javascript
Shows how to use the Amazon free XSLT transformation service, the JSON output format, and a bit of plain old javascript to show you how to place live Amazon.com data on any web page. - Create an Amazon storefront using PHP
Two part tutorial on Amazon ECS and PHP by Tyler Anderson at IBM Developerworks. Registration required. - Sample Amazon ECS Store in Java
A sample application that illustrates how to build an basic storefront using Java, Amazon ECS, and SOAP. - Use Amazon Web Services in ASP.NET
Tutorial demonstrating VB ASP.NET programming for Amazon’s services. By Philip Miseldine at Sitepoint. - Video Tutorial ASP.NET Mashups
See how to create a mashup application that uses ASP.NET AJAX bridging files to access the Flickr and Amazon services, and combines the results in a single user interface. Presented by Joe Stagner -
Amazon Flexible Payments Service [API Profile]
- Amazon FPS library for Bungee Connect
Wrapper of the Amazon Flexible Payment System library for Bungee Connect developer tools. This post describes the wrapper and it is available to users of Bungee. -
Amazon S3 [API Profile]
- AWS::S3 for Ruby
A Ruby library for Amazon’s Simple Storage Service, S3, REST API. -
Backpack [API Profile]
- Harnessing the BackPack API
Thorough article on using the Backpack API. Examples in .NET with C#. By Michael Campbell. -
Bible Gateway [API Profile]
- Bible Gateway in PHP
Article on Cleaning-up the BibleGateway SOAP example. -
Bloglines [API Profile]
- The New Bloglines Web Services
Detailed introduction at XML.com by Marc Hedlund. Full Java sample application. -
CNET [API Profile]
- CNET API Developer’s Guide
An overview of the CNET API and its general structure. - CNET API Quick Start Guide
A guide to quickly get up and running with the CNET API. - CNET API Resource Guide
A detailed guide listing the CNET API’s REST entry points. The request and response structure for each REST resource is documented. -
del.icio.us [API Profile]
- A Truly Delicious API
Webmonkey tutorial on the del.icio.us API using PHP. By Paul Adams, Feb 06. - Introducing del.icio.us
Introduction to the del.icio.us API with examples using Python. By Matt Biddulph at XML.com -
Digg [API Profile]
- Using the Digg API with Ruby
This tutorial will get you started fast using the Digg API in your Ruby on Rails (RoR) application. I am assuming you already have setup your RoR application. -
eBay [API Profile]
- A Practical Introduction to eBay’s Web API
Programmer’s introduction to the eBay API with detailed C# example code. By Tim Stevens. - eBay API Getting Started and Best Practices
eBay official starting point. Good quality overviews and details. - eBay API with REST and PHP
Good starting point for using the eBay REST API with PHP 5. - eBay XML API Guide
eBay’s official guide to their XML API. - PHP Ultimate eBay Store
A small commercial PHP library for creating an eBay storefront. -
EVE Online [API Profile]
- Python Sample for EVE Online
Short python snippet for EVE Online game. -
Facebook [API Profile]
- Using Ruby on Rails for Facebook
Detailed tutorial on using Ruby on Rails for creating Facebook applications. -
FedEx [API Profile]
- FedEx Code Samples
Get examples for the Ship Manager API in a variety of programming languages: C++, Java, C#, VB, JavaScript and ASP.NET. -
FeedBurner [API Profile]
- FeedBurner API Quick Tour
Basic introduction to the FeedBurner API at their developer site. -
Flickr [API Profile]
- Accessing Images with the Flickr API
Introductory article to Flickr’s API using the Flickr.NET open source .NET library. By Tim Stevens at informIT. - Flickr API with AJAX
Presentation slides on Flickr API with AJAX from Simon Willison. - Scripting Flickr with Python and REST
Article on Flickr programming with Python at xml.com. By Uche Ogbuji in January, 2006. - Video Tutorial ASP.NET Mashups
See how to create a mashup application that uses ASP.NET AJAX bridging files to access the Flickr and Amazon services, and combines the results in a single user interface. Presented by Joe Stagner -
Google AdWords [API Profile]
- AdWords Developer’s Guide
Google official AdWords API guide with detailed examples. - Google APIlity Library
From Google, a set of PHP classes for accessing their AdWords API. - Ruby Gem for Google AdWords
Open source Ruby client library for the AdWords API makes it easier to write Ruby clients to programmatically access AdWords accounts. The client library is provided as a gem, or can be installed independently. Also has sample code. -
Google Checkout [API Profile]
- Build a .NET App for Google Checkout
Good overview of Google Checkout API along with a very complete .NET application. By Martin Omander, a member of the Google Checkout team, at the O’Reilly WindowsDevCenter. -
Google Maps [API Profile]
- An Introduction to Google Maps
An Introduction to Google Maps and the Google Maps API by Eric Pimpler at GISuser.com. - Detailed Google Maps API Tutorial
Very thorough Google Maps tutorial from Mike Williams. Over 40 sections, each with its own example map and code. Many with pointers on things to watch out for. - Google Maps Ajax and ASP.NET
Shows how to create an ASP.NET server control that would allow a .NET developer to harness the power of Google Maps in the code-behind model. - Google Maps API Documentation
Google’s official API documentation. Includes “Hello World” and JavaScript examples. - Google Maps Applications Development
Good book on using PHP and Ajax with Google Maps. Covers nuances to using the API. By Michael Purvis, Jeffrey Sambells, Cameron Turner. 350 pages, published by Apress, Aug 2006. - Google Maps Hacking and Bookmarklets
Interesting reference site shows API hacks and snippets. - Google Maps via PHP-MySQL Tutorial
Clean, simple PHP example how the mashup showing locations related to the band The Who on a Google Map. - Hacking Google Maps: Building a Community Site
Sample chapter from the book Hacking Google Maps by Martin C Brown. Code samples use JavaScript and Perl. - Hacking Maps with the Google Maps API
Very good introduction to the API by Hari Gottipati. Examples in JavaScript. He reviews shortcomings of the API and compares to Yahoo! - How to add a Google Map to any web page in less than 10 minutes
Exploration Age shows how easy it can be to add a Google Map to any page. Nice straightforward demonstration. - Integrating Google Maps into Your Web Applications
Tutorial on the Google Maps API with detailed JavaScript example code. By By Jason Gilmore at developer.com - Java for Google Maps Mashups
Javaworld.com article using the geocoder.us service, the open source library DRW, SOAP, and server-side Java for geocoding and mapping. - JobMapper in Ruby
Shows you how to create a mashup of Google Maps, Indeed, and Yahoo Search using Ruby. - Jon Udell Google Maps Screencast
Infoworld columnist Jon Udell shows how he created a Google Maps walking tour of Keene, NH, in this five minute screencast. - Make your own Google map
Engadget.com tutorial showing how to create a simple annotated Google Map. - Making of the Charlottetown Transit Map – Rukapedia
Explanation by Peter Rukavina of how he built the Charlottetown Transit Map. Includes how he setup MySQL data tables. - Phoogle Maps
PHP class that integrates itself with the Google Maps API and with the geocoder.us database to make an easy to use interface to display Google Maps on your site. With about 5 lines of PHP code you can display a customized Google Map on your website. - Phoogle Maps PHP Library
PHP library that simplifies geocoding with Google Maps. - PHP GoogleMapAPI
Good, complete, PHP library for integrating Google Maps. By Monte Ohrt. -
Google Search [API Profile]
- Build a Site Search with the Google Search API
Good introduction to the Google Search API using PHP examples. From Mike Papageorge at fiftyfoureleven.com. - Some Google in Your Apps
Some Google in Your Apps: An Introduction to the Google Web API Using .NET and Java, by Tim Stevens. Full source code using both languages. - Using the Google Web Services API with Flash
Shows how to create a search application using Flash + PHP + Google API. Full source code. By Jeff Hill. -
indeed [API Profile]
- JobMapper in Ruby
Shows you how to create a mashup of Google Maps, Indeed, and Yahoo Search using Ruby. -
MapQuest [API Profile]
- Getting Started with the MapQuest Open API
Brief introduction to MapQuest API at Designorati: Cartography by Samuel John Klein. -
Microsoft start.com [API Profile]
- Building a simple gadget for Live.com
Detailed walkthrough of created a gadgets in JavaScript. Via GadgetNews at Microsoft. - Building a Simple Gadget for Live.com
Good overview of how to buid a gadget for Live.com. -
Microsoft Virtual Earth [API Profile]
- Building a Virtual Earth Website with PHP
Tutorial on using PHP to create Virtual Earth applications. - Creating a Commercial Website with Virtual Earth
Demonstrates creating applications using C# with Virtual Earth. - Creating your first Virtual Earth Web Page
Virtual Earth tutorial on using JavaScript to create a VE map. - Virtual Earth Tutorial Part 1
Shows how to use Ajax and Virtual Earth. - Wii Earth
Example application and source code showing how to use the Nintendo Wii to control 3D Virtual Earth maps. Take the Virtual Earth control out of the web browser, use it in a WinForms application, and control it with a Nintendo Wii Remote. -
Twitter [API Profile]
- Twitter .NET API
Do you possess an undying urge to make something in .NET that can communicate with Twitter.com? Try the TwitterooCore Library, now available for download. -
Wesabe [API Profile]
- C# Wrapper for Wesabe
This C# library from Scott Hanselman wraps the basic functions of the Wesabe API. Hosted on Google Code to facilitate community development. -
Windows Live Contacts Control [API Profile]
- Hosting the Windows Live Contacts gadget
Microsoft Channel 9 video on scenarios around what the Windows Live Contacts gadget is for and how a developer can integrate it on any web site. -
Windows Live Search [API Profile]
- Build a Site Search with the MSN Search API
Clear introduction to using the MSN Search API using PHP. From Mike Papageorge at fiftyfoureleven.com. -
Yahoo Maps [API Profile]
- Building Mashup Portlets
Detailed article from the Sun Developer Network on how to use Java with the Yahoo Maps AJAX API to build a portlet for their Portal Server. - GeoCool
Rasmus Lerdorf, creator of PHP and now at Yahoo!, gives this good introduction to the Yahoo! Maps API using PHP and Flash. - How to build a Maps Mash-up
Yahoo! Maps tutorial using PHP and JavaScript. From Dan Theurer. - Introducing Yahoo! Maps JS-Flash API
Good introduction by Yahoo! Technical Evangelist Jason Levitt on creating Flash-based Yahoo! Maps applications. - Yahoo! Maps AJAX API Getting Started Guide
Yahoo’s introduction to their v2 AJAX Maps API. With JavaScript examples. - Yahoo! Maps JavaScript-Flash API Getting Started Guide
Yahoo’s introduction to using JavaScript and their Flash-based maps. -
Yahoo Search [API Profile]
- Build a Site Search with Yahoo! Search Web Services
Nice introduction on using the Yahoo! Search API using PHP. From Mike Papageorge at fiftyfoureleven.com. - JobMapper in Ruby
Shows you how to create a mashup of Google Maps, Indeed, and Yahoo Search using Ruby. - Working with the Yahoo! API
Overview of the Yahoo! Search APIs including image and video APIs. Example application in PHP. At informit.com -
Yahoo Term Extraction [API Profile]
- Yahoo Term Extraction in PHP5
Simple Term Extraction example in PHP5 by Philipp Lenssen at GoogleBlogoscoped. -
YouTube [API Profile]
- Ruby YouTube Wrapper
A Ruby interface to the YouTube REST API. - The Amazing YouTube Tools Collection
Collection of links to tools and applications for YouTube. Many use the API, some with code links. At QuickOnlineTips.com. - YouTorials
YouTorials is an assemblage of free video tutorials collected from YouTube. Users can search or browse through hundreds of videos from how to solve a Rubik cube to how to break-dance. Uses can submit their own videos and subscribe via RSS. - YouTube API Feed Extractor
PHP Class that uses the YouTube API to pull dynamic content to a website. - YouTube API How To Guide
Basic overview of the YouTube API and available language wrappers. Includes a Ruby snippet.



