Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

44 items tagged “apis”

GeoPlanet Explorer. Chris Heilmann’s YQL powered explorer for the invaluable Yahoo! GeoPlanet / WhereOnEarth dataset. Every API deserves an explorer of some sort. 0 2nd March 2010, 8:14 am

OSM static map api. A very welcome addition to the OpenStreetMap world (with plenty of options for overlaying points, polygons etc) slightly marred by the size and relative ugliness of the OpenStreetMap watermark. 2 12th October 2009, 1:37 pm

Cloudvox. A brand new startup offering “API-driven phone calls” with a beautifully simple webhooks based API. 0 8th October 2009, 11:31 pm

Google Docs OCR. Whoa, the Google Docs API just got really interesting—you can upload an image to it (POST /feeds/default/private/full?ocr=true) and it will OCR the text and turn it in to a document. Since this is Google, I imagine they’ll also be using the processed documents to further improve their OCR technology. 0 29th September 2009, 9:57 pm

Exploring OAuth-Protected APIs. One of the downsides of OAuth is that it makes debugging APIs in your browser much harder. Seth Fitzsimmons’ oauth-proxy solves this by running a Twisted-powered proxy on your local machine which OAuth-signs every request going through it using your consumer key, secret and tokens for that API. Using it with a browsers risks exposing your key and token (but not secret) to sites you accidentally browse to—it would be useful if you could pass a whitelist of API domains as a command line option to the proxy. 1 23rd August 2009, 11:06 am

YQL: INSERT INTO internet. insert into twitter.status (status,username,password) values (“Playing with INSERT, UPDATE and DELETE in YQL”, “twitterusername”,“twitterpassword”) 0 8th July 2009, 8:19 pm

The Twitpocalypse is Near: Will Your Twitter Client Survive? Twitter tweet IDs will shortly tick over past the maximum signed 32 bit integer, potentially breaking applications. I learnt this lesson when the same thing happened to Flickr photo IDs: never store numeric IDs from external systems as integers, always use strings. 3 9th June 2009, 10:52 am

Google Maps Data API (via) I’m disappointed by this one—it’s really just a CRUD store for the KML files used in Google MyMaps. It would be a lot more useful if it let you perform geospatial calculations against your stored map data using some kind of query API—a cloud service alternative to tools like PostGIS. 1 20th May 2009, 9:07 pm

resty. 58 lines of bash provides a better command-line interface to RESTful APIs, using curl under the hood. This should save me from running “man curl” several times a week. 0 18th May 2009, 1:07 pm

The Little Manual of API Design (PDF). A concise, highly readable guide to designing APIs that are “Complete, Easy to learn and memorize, lead to readable code, hard to misuse, and easy to extend”, based on lessons learnt over many years of development of the Qt framework. 0 18th May 2009, 10:14 am

django-piston. Promising looking Django mini-framework for creating RESTful APIs, from the bitbucket team. Ticks all of Jacob’s boxes, even including built-in pluggable authentication support with HTTP Basic, Digest and OAuth out of the box. 0 30th April 2009, 7:55 pm

With YQL Execute, the Internet becomes your database. This is nuts (in a good way). Yahoo!’s intriguing universal SQL-style XML/JSONP web service interface now supports JavaScript as a kind of stored procedure language, meaning you can use JavaScript and E4X to screen-scrape web pages, then query the results with YQL. 1 29th April 2009, 10:50 pm

A few notes on the Guardian Open Platform

This morning we launched the Guardian Open Platform at a well attended event in our new offices in Kings Place. This is one of the main projects I’ve been helping out with since joining the Guardian last year, and it’s fantastic to finally have it out in the open. [... 839 words]

Panda Tuesday; The History of the Panda, New APIs, Explore and You. Flickr’s Rainbow Vomiting Panda of Awesomeness now has a family of associated APIs. 0 4th March 2009, 11:49 am

Web Hooks and the Programmable World of Tomorrow. Tour de force presentation on Web Hooks by Jeff Lindsay. Tons of really good ideas—provided your application isn’t Flickr sized, there’s a good chance you could implement web hooks pretty cheaply and unleash a huge flurry of creativity from your users. GitHub makes a great case study here. 1 16th February 2009, 9 pm

YQL opens up 3rd-party web service table definitions to developers. This really is astonishingly clever: you can create an XML file telling Yahoo!’s YQL service how to map an arbitrary API to YQL tables, then make SQL-style queries against it (including joins against other APIs). Another neat trick: doing a SQL “in” query causes API requests to be run in parallel and recombined before being returned to you. 0 9th February 2009, 9:08 pm

When APIs go dark, how do you do a data backup? (Answer: you often can’t.) With public, microformatted content, there will likely be a public archive that can be used to reconstitute at least portions of the service. With dynamic APIs and proprietary data formats, all bets are off.

Chris Messina 5 9th February 2009, 8:46 pm

Pragmatism, purity and JSON content types

I started a conversation about this on Twitter the other day, but Twitter is a horrible place to have an archived discussion so I’m going to try again here. [... 555 words]

Announcing the Article Search API. The most interesting API from the NYTimes yet—search against 2.8 million articles from 1981 until today using 35 searchable fields and get back detailed metadata as well as the first paragraph of the articles themselves. 0 5th February 2009, 11:06 pm

Much like an oral agreement, publishing microformats is an informal agreement between you and (hopefully) a developer community that sets up a relationship with plenty of vagueness, inertial resistance to change, and potential landmines to step on. Would you create a real developer API without a TOS, agreement, or at the very least, guidelines? [...] are you prepared to announce all frontend markup changes? Does publishing a microformat without a special agreement mean that you are implicitly allowing comprehensive scraping of your web data?

Gordon Luk 0 5th February 2009, 10:46 pm

Ghostly fingers of APIs. Phil Gyford has a lovely diagram of the sites that he updates manually and the surprisingly large number of other sites that they affect. 0 30th October 2008, 5:08 pm

FriendFeed launch a real-time API. This is huge: JSONP plus long polling Comet, with “everything since X” tokens to ensure you don’t miss anything. This is the first open Comet API I’ve seen anywhere. Combine this with FriendFeed’s regular API (which allows arbitrary message posting) and you’ve got a really powerful tool for hackers who want to experiment with Comet without rigging up their own infrastructure. 1 22nd October 2008, 2:18 pm

Page Inlink Analyzer (via) Here’s why I’m so keen on JSONP APIs—Eric Miraglia’s tool fires off dozens of cross-domain JSON requests to pull together information about inbound links to your site from Yahoo! Site Explorer and del.icio.us. I imagine it would have been uneconomic for him to provide the tool if it had to proxy every request through his own server. 0 15th October 2008, 5:23 pm

Decorator to limit request rates to individual views. Neat piece of code for public facing web APIs written in Django. Update: some smart criticisms in the comments. 2 24th September 2008, 1:13 pm

OAuth Playground (via) Neat OAuth API explorer from the Google Data APIs team. 0 20th September 2008, 4:40 pm

Google’s undocumented favicon to png convertor (via) Showing the favicon of a domain next to a link is a really nice trick, but it’s slightly tricky to achieve as IE won’t display a .ico file if you link to it from an img element, so you need to convert the images server-side. This undocumented Google API does that for you, meaning it’s much easier to add favicons as a feature to your site. 7 30th August 2008, 8:40 pm

Flickr Developer Blog: API Responses as Feeds (via) Flickr API calls that return a “standard photos response” (e.g. flickr.photos.search and flickr.favorites.getList) can now output eight different feed formats as well, including Atom, RSS flavours, geoatom, geordf and KML. Error codes are returned as X-FlickrErrCode HTTP headers. 3 25th August 2008, 10:20 pm

Google Code Blog: Two new ways to location-enable your web apps. The Gears Geolocation API isn’t very exciting just yet as it only really works on windows mobile devices, but the new google.loader.ClientLocation Ajax API is great—it gives you the user’s location based on looking up their IP address, saving you from needing to install a IP-to-geo lookup database. 0 22nd August 2008, 10:12 am

Show Us a Better Way. The UK Government’s Power of Information Taskforce are running a mashup competition (a.k.a. “ideas for new products that could improve the way public information is communicated”) with a £20,000 prize fund and gigabytes of brand new data and APIs. This is a great opportunity for the software community to demonstrate how important this kind of open data really is. 0 4th July 2008, 9:36 am

OAuth for Google Data APIs (via) Awesome. Now, how’s OAuth support shaping up over at Twitter (who are serious offenders when it comes to encouraging the password anti-pattern, despite Twitter engineers being key to the creation of the original OAuth spec)? 1 27th June 2008, 7:49 am

Yahoo! Internet Location Platform. As an ex-Yahoo! this is really exciting—WhereOnEarth (a London company acquired by Yahoo! in 2005) provide the incredibly detailed geographical data used by Flickr, Upcoming and FireEagle—and now it’s available as an external API. 1 12th May 2008, 9:02 pm

Google AJAX Search API: Flash and Server Side Access. Over a year after Google shot down their SOAP Search API, they’ve quietly released a JSON based one under the guise of supporting “Flash and other non JavaScript environments”. Comes with the strange requirement that an HTTP referer be sent with every request; the API key is optional. 1 22nd April 2008, 7:16 pm

Introducing the Google Contacts Data API. Brilliant! (and about time)—now there’s no excuse for asking your users for their Gmail username and password so you can import contacts from their address book. Yahoo! and Microsoft need to catch up on this one fast. 3 6th March 2008, 11:29 pm

flickr.places.findByLatLon. New API method for Flickr Places. If only Flickr could return a bounding box for each place... 0 24th January 2008, 1:05 pm

Google Chart API (via) Really neat charting API from Google—simply encode your chart data and configuration options in to a URL and Google will serve up a nicely rendered PNG. No API key required. It’s like a documented version of the Google Groups rounded corners API. 4 6th December 2007, 5:37 pm

OAuth Core 1.0. The final spec. Expect to see this crop up all over the place in the next few months. 0 5th December 2007, 3:39 am

Figuring out OpenSocial

So it’s out, and lots of people are talking about it, but I’m still trying to work out exactly what it is. There seem to be two parts to it: a standardised set of GData APIs for accessing lists of friends and their activities (like the Facebook news feed) and a bunch of JavaScript APIs for enabling developers to write hostable widgets and “container sites” to embed those widgets. [... 289 words]

Google Announces the OpenSocial API. I doubt the similarity between this and Brad Fitzpatrick’s social graph paper are a coincidence—what IS impressive is that he only joined Google a couple of months ago. 0 31st October 2007, 4:34 pm

New on Dopplr: The Past (with Pictures). Dopplr’s trip pages automatically display your Flickr/Facebook photos that were taken during the duration of the trip—simple and smart integration of third party sites. 0 20th October 2007, 11:25 am

OAuth: Your valet key for the Web. OAuth is a really important new specification that aims to solve the “give this application permission to do X on my behalf” problem once and for all. 0 21st September 2007, 11:34 pm

The best reason to always build out APIs for your product is that it makes it easier for the rest of the world to extend your product or service rather than start competitors.

Dick Costolo 0 16th March 2007, 10:41 am

Facebook Query Language. The Facebook API now lets you run SQL-like queries. You can’t do joins but you can perform very simple subselects. 0 25th February 2007, 12:06 pm

Beginning of the end for open web data APIs? Google just ditched their SOAP API in favour of a crippled Ajax widget. What are the implications for other free-as-in-beer APIs? 0 20th December 2006, 12:44 am

Ten Web 2.0 APIs you can really use. An excellent collection. 0 18th December 2006, 7:01 pm

A django site