Requesting data

When you've signed up for an account and got your API key, you can request data from one of the available endpoints using a GET request. Requests look like this:

https://api.metar-taf.com/API Name
?api_key=API key
&v=API version
&locale=Locale
...other parameters

For example, if you want to get METAR information for Adolfo Suárez Madrid-Barajas Airport (LEMD), your request looks like this:

https://api.metar-taf.com/metar
?api_key=YOUR_API_KEY
&v=2.2
&locale=en-US
&id=LEMD

Try it

Get credits to see live data

Endpoints

Currently, the following endpoints are available. Their outputs are discussed in the section "Data reference":

metar Get a raw and decoded METAR, with airport information, weather station info, runway directions and cross/headwind. Both current and historical METAR information.
taf Get the current TAF, raw and decoded per hour
airports Get a list of airports, with latitude/longitude and METAR and TAF availability
metar-history Get historical METARs of an airport

API version

The current version of this API is 2.2

You can just provide this value in all the calls you make.
Certain metrics may be removed or renamed in the future. Just provide the value above in the calls you make. This way we know when you implemented the API and which information your application expects.

When a new version of the API is released, your application won't break. We'll keep deprecated metrics where they are.

Locale

Airports, cities and other string data is available in multiple languages.

For example, LEMD is "Madrid–Barajas Airport" in English, but "Luchthaven Madrid-Barajas" in Dutch. With the locale parameter you can request in which language you want to have the result.

Note that this has no effect on numerical values. You'll find in the data reference that wind speeds are always in knots, heights always in feet, etc.

Available locales are:

de-DE Deutsch
en-US English
es-ES Español
fr-FR Français
it-IT Italiano
nl-NL Nederlands
pl-PL Polski
pt-PT Português
zh-CN 中文

Test mode

You can add &test=1 to the request if you want the JSON data in a human readable format. Every attribute will be on a new line.


Previous

Getting started

Next

Response format

We and third parties follow your internet behavior on our website with cookies. If you continue, we assume you agree with our cookie policy. Learn more