Skip to content

Part 3. How to Use the Wunderground API

Rachel edited this page Sep 20, 2017 · 4 revisions

Weather Underground

The Weather Underground (http://www.wunderground.com) provides real-time online weather information assisted by a network 140,000+ personal weather stations setup all over the world. Chances are, there is a Weather Underground personal weather station near you. The really cool aspect of Wunderground is that they have an API that we can use to retrieve the weather data (pretty much) any where in the world.

Temperature, dew point, wind gust, humidity, precipitation, pressure, UV index, ... all easily available for wherever we want, whenever we want. Let's learn how to use Wunderground's super-simple API.

IMAGE ALT TEXT HERE

In order to use the Wunderground API, you first need your own API key. Getting an API key is quick and free.

Wunderground

  • Create an account and click the link sent to you in a validation email to activate your account
  • Sign in
  • Go to Pricing and select the free Stratus Plan (default selection). You get 500 API calls per day for $0.  There is no credit card required to get the Developer level API.

Wunderground

  • Click “Purchase Key”
  • Fill out the form and submit it to get your API key

Your key will look something like this: 0def10027afaebb7. Save it.

You can make an API to Wunderground by typing in a URL into your browser in the following format:

http://api.wunderground.com/api/YOUR_API_KEY/conditions/q/THE_DESIRED_STATE/THE_DESIRED_CITY.json

for example, to get the weather in San Francisco, CA:

or, to get the weather in London

or, to get the weather in Toronto

Let's look at what is returned:

{
  "response": {
  "version":"0.1",
  "termsofService":"http://www.wunderground.com/weather/api/d/terms.html",
  "features": {
  "conditions": 1
  }
	}
  ,	"current_observation": {
		"image": {
		"url":"http://icons.wxug.com/graphics/wu2/logo_130x80.png",
		"title":"Weather Underground",
		"link":"http://www.wunderground.com"
		},
		"display_location": {
		"full":"London, United Kingdom",
		"city":"London",
		"state":"",
		"state_name":"United Kingdom",
		"country":"UK",
		"country_iso3166":"GB",
		"zip":"00000",
		"magic":"1",
		"wmo":"03772",
		"latitude":"51.47999954",
		"longitude":"-0.44999999",
		"elevation":"24.00000000"
		},
		"observation_location": {
		"full":"London, ",
		"city":"London",
		"state":"",
		"country":"UK",
		"country_iso3166":"GB",
		"latitude":"51.47750092",
		"longitude":"-0.46138901",
		"elevation":"79 ft"
		},
		"estimated": {
		},
		"station_id":"EGLL",
		"observation_time":"Last Updated on October 23, 5:50 AM BST",
		"observation_time_rfc822":"Fri, 23 Oct 2015 05:50:00 +0100",
		"observation_epoch":"1445575800",
		"local_time_rfc822":"Fri, 23 Oct 2015 06:13:53 +0100",
		"local_epoch":"1445577233",
		"local_tz_short":"BST",
		"local_tz_long":"Europe/London",
		"local_tz_offset":"+0100",
		"weather":"Overcast",
		"temperature_string":"50 F (10 C)",
		"temp_f":50,
		"temp_c":10,
		"relative_humidity":"87%",
		"wind_string":"From the Variable at 4 MPH",
		"wind_dir":"Variable",
		"wind_degrees":0,
		"wind_mph":4,
		"wind_gust_mph":0,
		"wind_kph":6,
		"wind_gust_kph":0,
		"pressure_mb":"1022",
		"pressure_in":"30.18",
		"pressure_trend":"0",
		"dewpoint_string":"46 F (8 C)",
		"dewpoint_f":46,
		"dewpoint_c":8,
		"heat_index_string":"NA",
		"heat_index_f":"NA",
		"heat_index_c":"NA",
		"windchill_string":"NA",
		"windchill_f":"NA",
		"windchill_c":"NA",
		"feelslike_string":"50 F (10 C)",
		"feelslike_f":"50",
		"feelslike_c":"10",
		"visibility_mi":"6.2",
		"visibility_km":"10.0",
		"solarradiation":"--",
		"UV":"0","precip_1hr_string":"-9999.00 in (-9999.00 mm)",
		"precip_1hr_in":"-9999.00",
		"precip_1hr_metric":"--",
		"precip_today_string":"0.00 in (0.0 mm)",
		"precip_today_in":"0.00",
		"precip_today_metric":"0.0",
		"icon":"cloudy",
		"icon_url":"http://icons.wxug.com/i/c/k/nt_cloudy.gif",
		"forecast_url":"http://www.wunderground.com/global/stations/03772.html",
		"history_url":"http://www.wunderground.com/history/airport/EGLL/2015/10/23/DailyHistory.html",
		"ob_url":"http://www.wunderground.com/cgi-bin/findweather/getForecast?query=51.47750092,-0.46138901",
		"nowcast":""
	}
}

Look at all of that glorious weather data. We just need to make a script to parse it, then ship it to a web-based dashboard - Initial State.

<< Part 3: Initial State - Part 3: A Wunderground Dashboard >>

Weather Underground is a registered trademark of The Weather Channel, LLC. both in the United States and internationally. The Weather Underground Logo is a trademark of Weather Underground, LLC.

Clone this wiki locally