As the name might imply, the AVWX REST API is a publically-available REST API for aviation weather.
The service organizes METAR and TAF reports into their individual elements and returns them in JSON, XML, or YAML format. It does a considderable amount of error correction so that your report is as clean and thorough as possible. It has additional services like providing station information, translating the report into English, and creating summary strings meant to be read or spoken. For more details, check out the documentation.
The service pulls each report from NOAA by way of aviationweather.gov, the official site for aviation weather for pilots in the US. The other two official aviation weather services, DUAT and CSC DUATS, use the same NOAA services. For coordinate look-up, the service uses geonames.org to find the nearest station, which is also provided by NOAA.
Every element in the report is identified and organized for you, even the most obscure. The 20-year-old NOAA ADDS service is not as robust at fixing common errors or with international stations; AVWX corrects 95% of errors that trip up ADDS. AVWX also performs additional analysis. For example, every time period in a TAF report also contains its forecasted flight rules, something ADDS does not do.
JSON, XML, and YAML are widely-supported and have native parsers in most languages. Let a remote server do the intensive work for you, saving your users' devices precious battery life.
You bet it's open-source! You can view, download, and contribute to the code on GitHub. Additionally, the core library itself is available in a separate GitHub repository.
AVWX's core parsing services are now and will always be free. However, while the library is freely available, hosting this API costs money (about $200/month at its current usage). Donations are always welcome. If AVWX is powering your paid or commercial application, please consider making a recurring monthly donation.
I've been asked by a number of people if AVWX will ever include historical backlogs (like requesting the most recent 24 hours). Currently, AVWX only uses ephemeral caching to improve response times, and adding a service like this would drastically increase costs. If enough people express interest, I could look into offering it as a separate paid service, but for now, i'd recommend sourcing historical reports from other services like aviationweather.gov. You can even run these reports through AVWX using the parse endpoint.
The parser itself has been field-tested and in use since September 2014. It was originally made for a Raspberry Pi IoT project, but was eventually made available as a public API. I've been contacted by flight schools, research institutions, and many mobile and desktop application developers. Here are a few of my favorite projects using AVWX.