DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

How does AI transform chaos engineering from an experiment into a critical capability? Learn how to effectively operationalize the chaos.

Data quality isn't just a technical issue: It impacts an organization's compliance, operational efficiency, and customer satisfaction.

Are you a front-end or full-stack developer frustrated by front-end distractions? Learn to move forward with tooling and clear boundaries.

Developer Experience: Demand to support engineering teams has risen, and there is a shift from traditional DevOps to workflow improvements.

Related

  • How to Identify the Underlying Causes of Connection Timeout Errors for MongoDB With Java
  • Unlock AI Power: Generate JSON With GPT-4 and Node.js for Ultimate App Integration
  • Instant App Backends With API and Logic Automation
  • Unleashing the Power of GPT: A Comprehensive Guide To Implementing OpenAI’s GPT in ReactJS

Trending

  • How You Can Use Few-Shot Learning In LLM Prompting To Improve Its Performance
  • How Node.js Works Behind the Scenes (HTTP, Libuv, and Event Emitters)
  • Integrating Apache Spark With Drools: A Loan Approval Demo
  • How Security Engineers Can Help Build a Strong Security Culture
  1. DZone
  2. Data Engineering
  3. Databases
  4. 4 Free Weather Providers API To Develop Weather Apps

4 Free Weather Providers API To Develop Weather Apps

Thinking of building an app that displays weather information? Here are some APIs that can help you.

By 
Francesco Azzola user avatar
Francesco Azzola
·
Feb. 04, 16 · Tutorial
Likes (5)
Comment
Save
Tweet
Share
298.8K Views

Join the DZone community and get the full member experience.

Join For Free

Android apps that give weather information are common in the Play store. Moreover, weather apps and widgets are amongst the most downloaded apps.

When it is time to develop a weather app, it is necessary to use a weather provider as the source of weather information. These weather providers expose a set of services or, in other words, an API, that supports RESTful web services.

Most of these services accept XML or JSON data. It is important to know the service features before selecting the right provider for our needs.

Generally speaking, the first point to consider is if the Android app will be free or not. Based on this, it is possible to select the right weather provider because some features may be not free. Moreover, there are weather providers that limit the number of calls to their services if you select a free plan. So consider the weather provider carefully as usually it is not so easy to change the client code once you have  developed the app. The client will be tightly dependent on the weather API, so if you change the API you have to re-implement your client.

To make the process of selecting the right weather provider a little easier, I compiled a list of weather providers that I have used and tested.

Openweathermap

This is the first provider I ever used and this is my preferred one. Openweathermap gives current weather information and forecasts. It is very simple to use. The Openweathermap weather API uses JSON to exchange data.

The weather API returns current weather, forecast, historical weather information and weather station data. Moreover, it also has UV index data.

How can we get weather information for a selected location? Openweathermap provides different two modes to look for a city. One uses name pattern and another using geo-coordinates.

I developed an Android weather app based on Openweathermap and you can look at my other posts to know more how to develop in Android this app.

All these APIs are free to use, you have to create a dev key so that you can make requests.

Yahoo! Weather

Yahoo! Weather is another great weather provider that is also very simple to use even if it gives less information than Openweathermap. Using Yahoo! Weather, the app can get current weather information and forecast. The API are based on JSON or on XML, so the developer can choose which one to use.

It is free service as long as you use your app for not commercial use. Read the Yahoo! Weather policy to know more. If you like to use this provider in your app, you can look at my post describing how to develop an Android app with Yahoo! weather.

Weather Underground

Weather Underground API is a great weather provider that offers lots of API endpoints to get detailed information. The Weather Underground API provides current weather and forecast. Moreover, you can retrieve historical data, hurricanes, astronomy data (like moon data) and so on.

It provides also radar images that can be displayed directly on the smartphone

To find the city, it is possible to use name pattern, geo-location.

The  service is free as long as you do not make to many requests, so, in other words, if you use it as a developer to test the API it is ok otherwise you have to pay.

Forecast.Io

Forecast.io is another interesting weather provider that offers current weather information, forecast and hour by hour weather details.

It worths taking a look at because it is very easy to use and provides a set of libraries for different languages.

Finally, some words about showing weather conditions on a map like Google Maps. Personally, I used Openweathermap and it is quite easy to add weather tiles. If you are interested I wrote a post about how to add weather information to Google Maps.

There are many other weather providers but most of them have paid services and I did not have the chance to test them.


API app

Published at DZone with permission of Francesco Azzola, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • How to Identify the Underlying Causes of Connection Timeout Errors for MongoDB With Java
  • Unlock AI Power: Generate JSON With GPT-4 and Node.js for Ultimate App Integration
  • Instant App Backends With API and Logic Automation
  • Unleashing the Power of GPT: A Comprehensive Guide To Implementing OpenAI’s GPT in ReactJS

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • [email protected]

Let's be friends: