Wesabe makes Financial Data available programmatically July 13, '07 Comments [20] Posted in eFinance | Programming Sponsored By Wesabe has just done what I've been trying to convince banks to do for years. They're making financial data available via a simple POX (Plain Old XML) API. A year ago I did a POX API for Corillian products that Patrick and I presented at TechEd 2006, but it only for whatever single financial institutions chose to install it. How does Wesabe do it? Your bank probably uses a funky SGML format (that I've talked about before; I was the OFX Vendor Committee Chair for a bit) called OFX that is not only obscure, but difficult and no fun. Microsoft Money and Quicken, as well as some others, download OFX from your bank into their local storage. Unfortunately, neither Money nor Quicken makes the downloaded data available programmatically, which is one of the reasons I've stopped using both of them them. You can upload your transaction details to Wesabe on your own, but you can also install their Account Uploader. It's Wesabe's small OFX Client of their own that runs in the background on your computer. It downloads OFX and uploads to their servers. Then they make the aggregated data available (as of today) via a POX (they say REST) XML API. Kind of like the quickie diagram at right (Thanks Paint.NET!) So, over lunch I did a quick C# library (with my two high-school interns, Eric and Shady) to access their API. It's up here at Google Code if you want start expanding it. If anyone wants to take over, be a member, whatever, put your Google Code username in the comments and I'll add you. What I added just does the account download and is separated into a lib and a command line client. I did add a couple of things like a check to make sure that when you talk to them via SSL that you are actually talking to them and not a man in the middle:public class wesabe_rest { static wesabe_rest() { ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate; } // The following method is invoked by the RemoteCertificateValidationDelegate. public static bool ValidateServerCertificate( object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { if (sslPolicyErrors == SslPolicyErrors.None && certificate.Subject == @"CN=www.wesabe.com, OU=Thawte SSL123 certificate, OU=Go to https://www.thawte.com/repository/index.html, OU=Domain Validated, O=www.wesabe.com") return true; Console.WriteLine("Certificate error: {0}", sslPolicyErrors); // Do not allow this client to communicate with unauthenticated servers. return false; } I also did the XML work via XmlSerializer, because I'm still a fan. The Wesabe guys didn't include a schema, but I suggested it strongly. You can too over in the Wesabe API Developer's Group (Free Wesabe login needed, with no obligation to upload anything financial). For those of you who commented on my post on Quicken and Money, I noticed that a lot of you use Excel and other tools to get at your data. The Wesabe API will let you get transaction data in 5 formats, one of which being XLS. For example: This resource is also available in OFX, OFX2, QIF, CSV, and XLS formats:GET /accounts/show/<account id>.ofx GET /accounts/show/<account id>.ofx2 GET /accounts/show/<account id>.qif GET /accounts/show/<account id>.csv GET /accounts/show/<account id>.xls By changing the extension you get a different file. Apparently all this Wesabeness works in 30 countries, so it's not specific to US Dollars or US institutions. It's early, sure, but it's a slick idea and it can potentially help you unlock your financial lock and allow you do any number of cool things with it. One of the things that has impressed me so far with Wesabe is their openness to feedback. You can even call their CEO directly. He's got phone hours and a number published on their site and you can call and talk to him personally, seven days a week. That's so cool. I like it when people dig their jobs. Technorati Tags: Wesabe, Banking, REST, OFX, Finance, API « The CodingHorror Ultimate Developer Rig ... | Blog Home | Wife Nixes iPhone, Man Buys Apple Newton... » About Scott Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author. About Newsletter Sponsored By Hosting By