DotaData

I want to give a quick preview of the DotaData service I have been working on, salvaging some of the work put into creating a Dota2 community site a few years ago. One of several features is Tooltips for links to the dota2, dotabuff and opendota websites:

Heroes like Dragon Knight, Monkey King and Lion. Abilities like Blink, Counter Helix and Thundergod’s Wrath. Items like Battle Fury, Spirit Vessel and Dagon.

I am currently working on a WordPress plugin which will easily add this to a site, but still have some work todo- primarily the ability to embed datasheets into posts and pages. I have one remaining issue, which is that the Dota2 CDN is HTTP only (no HTTPS) which breaks the SSL badge on sites when using the Tooltips. I am currently looking into self-hosting the images, so that they can be HTTPS.

Once that work is complete I can write the documentation and instructions for manual use and release it to the world. If any of the solutions I provide are not enough, people will be free to use the API directly, who returns Dota2 data with support for all the languages Dota2 supports.

The API holds all the data in memory and API responses are made within 200 nanoseconds, which provides an excellent user experience for the tooltips. Here is an example of an API response for the request /api/v1/item/battle_fury:

{
  "id""145",
  "name""bfury",
  "title""Battle Fury",
  "cd": [
    4
  ],
  "cost"4400,
  "shop_tags": [
    "damage",
    "health_regen",
    "mana_regen",
    "hard_to_tag"
  ],
  "quality""epic",
  "components": [
    {
      "name""recipe",
      "title""Recipe",
      "cost"300,
      "img_url""http://cdn.dota2.com/apps/dota2/images/items/recipe_lg.png"
    },
    {
      "name""demon_edge",
      "title""Demon Edge",
      "cost"2200,
      "img_url""http://cdn.dota2.com/apps/dota2/images/items/demon_edge_lg.png"
    },
    {
      "name""pers",
      "title""Perseverance",
      "cost"1700,
      "img_url""http://cdn.dota2.com/apps/dota2/images/items/pers_lg.png"
    },
    {
      "name""quelling_blade",
      "title""Quelling Blade",
      "cost"200,
      "img_url""http://cdn.dota2.com/apps/dota2/images/items/quelling_blade_lg.png"
    }
  ],
  "desc""<h1>Active: Chop Tree/Ward</h1> Destroy a target tree or ward.<br><br>Tree Cast Range: 350<br>Ward Cast Range: 450 <br />\r\n<h1>Passive: Quell</h1> Increases attack damage against non-hero units by 60% for melee heroes, and 25% for ranged. <br />\r\n<h1>Passive: Cleave</h1> Deals 40% of attack damage as physical damage in a cone up to 625 around the target. (Melee Only)",
  "notes""Cleave damage is reduced by armor type but not by armor value.<br />Cleave damage goes through spell immunity.<br />If multiple sources of Cleave are present, each Cleave's damage is applied separately.<br />Chop can be used to destroy Techies' Remote Mines.",
  "lore""The bearer of this mighty axe gains the ability to cut down swaths of enemies at once.",
  "img_url""http://cdn.dota2.com/apps/dota2/images/items/bfury_lg.png"
}

I am looking forward to public release and seeing what people do with it.