I'd like to continue the API discussion from the devblog.
Proposed specs:
XML and JSON available
Will need a login in User Controls, and a unique key generated within
Will be throttled by bandwidth/processing time per hour
All requests will be limited to one realm at a time, unless otherwise specified.
A visitor emailed me with some very good notes. There could be 3 API categories: raw, history, and aggregate.
Raw data: the most recent data scanned from the auction house. Can filter by itemid(s) or seller(s), or get everything.
History data: get a list of all auctions for a given item/seller, including time first seen and time last seen, for a given time period up to two weeks.
Aggregate data: get the market price and quantity available for given item(s). Plus anything else calculated by the site and not "raw."
Sales data is likely not going to be included because it's not very accurate. False positives are minimized but I'm still not comfortable with it.
Bandwidth concerns: the auction database sits behind an asymmetrical DSL connection. Uploads from the database to the world are not high speed. This works well for the "summary" type information currently on the web, but APIs that request a lot of data would need to be limited. This is one of my greatest concerns with offering history data.
Blizzard will soon (tm) have their own API which will offer great live data, and maybe more. So I probably don't need to go too overboard with this.
Any thoughts?