Cumulus
Cumulus is a free and simple weather API without the need for an API key. I originally made this a few years ago, but it was terrible. Hopefully this works a little better.
Demo
The weather outside of the University of Pennsylvania in Philadelphia is (loading...). The temperature is (loading...) degrees Fahrenheit.Endpoint
Simply make an HTTP request to https://arjhantoteck.vercel.app/api/projects/cumulus?latitude=LATITUDE&longitude=LONGITUDE and read the data as a JSON. Obviously, make sure to replace LATITUDE and LONGITUDE with an actual valid latitude and longitude.
In JavaScript, for example:
Documentation
Cumulus returns the following data in a JSON format. Note that the data may be outdated by a few minutes, the time at which the data was updated is available in the timeUpdated property.
Property Name | Description | Data Type |
---|---|---|
airQualityIndex | A number ranging from 0 to 500 describing the amount of pollution in the air. If this value is low, it means the air quality is good. If this value is high, it means the air quality is poor. | Integer |
city | The name of the city/town where the weather is being observed. | String |
description | A basic description of the weather. Some examples include "Cloudy," "Clear," "Fair," "Mostly Cloudy," "Partly Cloudy," and "Sunny." | String |
dewPoint | The temperature in Fahrenheit that needs to be reached for the air to reach a humidity of 100%. | Integer |
feelsLike | What the temperature feels like outside due to the wind, sun, and other factors measured in Fahrenheit. | Integer |
high | The highest predicted temperature in Fahrenheit. | Integer |
humidity | A decimal number indicating the humidity from a scale of 0 to 1. | Decimal |
latitude | The latitude used to access the data. | Decimal |
longitude | The longitude used to access the data. | Decimal |
low | The lowest predicted temperature in Fahrenheit. | Integer |
moonPhase | The phase the moon is taking in the lunar cycle. | String |
pressure | The atmospheric pressure measured in inches. | Decimal |
rainChance | The chances it will rain today as a number from a scale of 0 to 1. | Decimal |
sunrise | The time in which the sun rises reported in an ISO date format. | String |
sunset | The time in which the sun sets reported in an ISO date format. | String |
temperature | The current temperature in Fahrenheit. | Number |
timeUpdated | The time at which the data was reported in in an ISO date format. | String |
timezone | The timezone reported in TZ identifier or "Area/Location" form. For example, "Europe/Paris" or "America/New_York." | String |
uvIndex | The measurement of UV rays received from the sun in the area, reported as a number from a scale of 0 to 1. | Number |
visibility | The number of miles visible from a given point under the current weather conditions. | Number |
windDirection | The direction in which the wind blows as an angle. Note that 0 is South, 180 is North, 90 is west, and 270 is east. | Number |
windSpeed | The speed of the wind measured in miles per hour. | Number |