How to programmatically access AIP data, METAR, TAF, NOTAMs? I'm looking at developing an app where one of the functions I would like to implement needs to use data which is normally available in AIP, like:


Aerodrome names, ICAO codes, GPS location, elevation
VFR reporting point names, GPS location
Nav points (names, locations)


In addition, I may want to display or use data from NOTAMs, METARs, TAFs, etc in my app. 

Does anyone know the official sources for this data, ideally published by CAAs (FAA in the US, Eurocontrol in the EU and similar)? Please note I'm really only interested in programmatic access (e.g. a JSON, XML or similar feed available through a web API or similar), as opposed to document based data in the form of PDF or HTML files. 

It goes without saying that I would ideally like this access for free, but a commercial arrangement is also I would look at - provided it's not outrageously expensive.
ICAO is offering a very nice API for retrieval of, for example, aerodrome names/ICAO codes and NOTAM's. It is currently in public beta, which means that it is free to use. Once they finish testing it, there will be some kind of cost involved, but they have not published any pricing details yet. You can find it here: https://www.icao.int/safety/iStars/Pages/API-Data-Service.aspx

NOAA offers API access to weather information such as METAR's and TAF's: https://aviationweather.gov/adds/dataserver

You can find waypoints and navaids, including names and locations, via EUROCONTROL EAD: https://eadbasic.ead-it.com/fwf-eadbasic/restricted/reporting/reporting.faces (register first, then return to that link). However, what they seem to offer is a one time search/database dump, more than an actual API.