I have recently noticed that some people are scraping the HTML of this website to retrieve a list of Minecraft items in their application, and I've also had a few emails asking if I offer the list in a machine-readable format. I have in fact been offering the list in JSON format to a small number of people for a few years and now I have now decided to document the APIs publicly.
The list of items is available in two formats, JSON and TSV, at the following URLs:
The columns of the TSV file are: numeric id, metadata, name, text id.
The item icons are also available in a ZIP file, containing one PNG image per item named <id>-<metadata>.png, at the following URL:
http://minecraft-ids.grahamedgecombe.com/items.zip
Individual PNGs are not hosted directly to discourage hotlinking - unfortunately, the site already consumes a large amount of bandwidth already, and if I allowed hotlinking of images it would probably increase the hosting costs significantly.
Whilst there is a single 'sprite' PNG containing all the items on the site, this is not considered part of the API. The order of the items within it and its URL may change at any time!
If a program you develop downloads the ZIP file, please consider caching it to conserve bandwidth. The web server sets the ETag and Last-Modified header on it and supports conditional GETs to help you implement caching. Alternatively, feel free to host it yourself to help me conserve my bandwidth ;)
The list of entities is available in JSON and TSV format at the following URLs:
The columns of the TSV file are: numeric id, name, text id.
The entity icons are available in a ZIP file, containing one PNG image per entity named <id>.png, at the following URL:
http://minecraft-ids.grahamedgecombe.com/entities.zip
The size of entities.zip is currently much smaller than items.zip so I'm not as concerned about its bandwidth usage.