Looking for an excuse to try out Google AppEngine, and encouraged by someone on StackOverflow looking for a free web service to convert between currencies at historical dates, I built the Historical currency converter web service. Using a very simple RESTfull API, you can convert between all currencies on the ECB’s list, using exchange rates that date back to January 1999.
My preliminary findings: Google AppEngine is really cool (obviously), and using Python again after almost OD-ing on PHP was very pleasant. I’m still learning to properly use the datastore though, setting a multi-column primary key to guarantee unique (date, currency) records wasn’t very straightforward. Also the import of the historical data was a bit of a hassle with the import script timing out, until I found how the BulkLoader can automatically do this in multiple HTTP requests. Finally, getting this to run on my own domain, currencies.apps.grandtrunk.net
, took some time until I found out the right DNS magic to set in DreamHost‘s panel (if you’re interested: I’m now fully hosting apps.grandtrunk.net
, which allows me to set the domain validation code using a normal file uploaded to DreamHost; apps.grandtrunk.net
is also the domain I told Google Apps to use, while at DreamHost I needed to set a CNAME (alias) record for currencies.apps.grandtrunk.net
that points to ghs.google.com
). The cron job is also humming along nicely now downloading daily updates, so convert away while I watch the dashboard seeing my quota trickle down…
I find your app very useful interesting and important, it’s a great reality check.
I suggest add a second ‘current’ conversion rate function too if not too much fuss, it could easily compete with xe.com or any other major converter site seeing as they don’t offer the historic element.
I’m using the currency converted in a program associated to a research paper.
Hello Wim,
tnx for your webservice , I’m using if for drafting a budgeting sheet
Thanks for your app, I am using it for my course paper.
Thanks, I am using this example for showing an REST web services. It would beb nice to have a JSON mode too.
I’m using the currency converted in a program associated to a research paper.
Thx you very much!
Thankyou!
I had to convert all customer order and payment data to a new currency, but with the old conversation rate. Life saver.
Hello,
Since 1 September the exchange rates are not updated anymore and remain the same. Check e.g. with
“http://currencies.apps.grandtrunk.net/getrange/2019-07-01/2019-09-03/eur/hrk”
Will this be remedied soon or has this great service been terminated now?
Not sure what happened but it is updating again now:
http://currencies.apps.grandtrunk.net/getrange/2019-08-01/2019-09-13/eur/hrk
Hello,
Since 22-10-2023 the list of historical conversion rates does not work anymore, e.g.
http://currencies.apps.grandtrunk.net/getrange/2021-10-23/2023-10-23/xau/eur
The result passed back is “Incomplete response received from application”
Thanks,
Ingo