Wolfram Alpha has assembled an impressive collection of information on everything from chemistry to high finance, but until recently external developers could only access it by paying between two and six cents per query. Today the company announced a big change to its pricing plans which gives non-commercial users 2,000 free calls a month, as well as adding new features like the asynchronous delivery of slower results. With few external applications appearing to use the old interface, can these changes open it up to a wider audience of developers?
The API itself is very similar to the Wolfram Alpha Web interface. Developers pass in a query string, and then get back XML results that reflect exactly what you'd see in the browser for the same search. This makes it ideal for formatting and displaying to users, since you get back plain text descriptions and images visualizing the information. This is exactly how most of Wolfram's flagship customers have been using it. For example Bing displays information from Alpha alongside its own search results, and Touch Press uses it to supplement its interactive books.
This is great if you want to show the information immediately to users, but what if you want to understand and process the data as part of your application? You might want run your own analysis on a company's share price, but you'll have a tough time converting their plain text results into numbers you can feed into an algorithm, and though their Mathematica versions are structured, it's not a simple format to read in. This may not be accidental - their terms of service make it clear that you can't "access, cache, store, retain, or in any way compile any copies or portion of any Wolfram|Alpha content." Wolfram has built up a large and valuable collection of data, and the company doesn't want to make it too accessible for fear that it may be copied. There is a sign of hope though in the mention of an upcoming data API, which sounds like it might offer a more programmer-friendly version of the results.
The easiest way to try it for yourself is through their API Explorer page. If you enter a query, you'll see the XML results appear, along with the URL you'd call from your application to run the same search. The results are split up into sections that Wolfram describe as "Pods." Each one of these corresponds to a different nugget of information related to the terms you entered, and matches the way results are shown in the normal Web interface.
There's a complete reference guide available as a PDF, detailing the options you can specify to narrow down your query, as well as the meaning of some of the results sections.
Stephen Wolfram and his team have created an astonishingly powerful collection of information. As he puts it on the Wolfram blog, the dream is to make this "computable knowledge" available to immediately enhance any program that's connected to the service. Today's announcement is a big step forward to opening it up to far more developers, but it will need much more computer-readable results before it will really fulfill that promise. Do you agree, or am I misunderstanding the power of the API as it is right now? Are there existing applications beyond the handful that Wolfram highlight? Let us know in the comments.