How to programmatically access AIP data, METAR, TAF, NOTAMs?
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.