OpenWeatherMap.org Javascript SDK
Ready-to-use javascript library to consume OpenWeatherMap.org free services.
Request a free api key on http://openweathermap.org/appid.
Typescript supported ✅
Using npm:
// using npm
npm install openweatherapi-js-sdk --save
// using yarn
yarn add openweatherapi-js-sdk
Import createAPI function from the installed library, and create your api using your existing api key, if you don’t have a key, request a free one on http://openweathermap.org/appid.
const { createAPI } = require("openweatherapi-js-sdk");
const api = createAPI("your_api_key");
// Short example
api
.weather
.getWeatherByCityName({
cityName: "London", // required
units: "metric", // optional
})
.then((weather) => console.log("Weather object is", weather));
// Full example
api
.weather
.getWeatherByCityName({
cityName: "London", // required
stateCode: "uk", // optional
countryCode: "GB", // optional
lang: "fr", // optional
units: "metric", // optional
})
.then((weather) => console.log("Weather object is", weather));
List of city ID ‘city.list.json.gz’ can be downloaded from this link http://bulk.openweathermap.org/sample.
// Example
api
.weather
.getWeatherByCityId({
cityId: 2172797, // required
lang: "fr", // optional
units: "metric", // optional
})
.then((weather) => console.log("Weather object is", weather));
// Example
api
.weather
.getWeatherByGeo({
latitude: 37, // required
longitude: 10, // required
lang: "fr", // optional
units: "metric", // optional
})
.then((weather) => console.log("Weather object is", weather));
// Example
api
.weather
.getWeatherByZipCode({
zipCode: 94040, // required
countryCode: "us", // optional
lang: "fr", // optional
units: "metric", // optional - standard, metric and imperial units are available.
})
.then((weather) => console.log("Weather object is", weather));
// Short example
api
.forecast
.getForecastByCityName({
cityName: "London", // required
units: "metric", // optional
})
.then((weather) => console.log("Weather object is", weather));
// Full example
api
.forecast
.getForecastByCityName({
cityName: "London", // required
stateCode: "uk", // optional
countryCode: "GB", // optional
lang: "fr", // optional
units: "metric", // optional
})
.then((weather) => console.log("Weather object is", weather));
List of city ID ‘city.list.json.gz’ can be downloaded from this link http://bulk.openweathermap.org/sample.
// Example
api
.forecast
.getForecastByCityId({
cityId: 2172797, // required
lang: "fr", // optional
units: "metric", // optional
})
.then((weather) => console.log("Weather object is", weather));
// Example
api
.forecast
.getForecastByGeo({
latitude: 37, // required
longitude: 10, // required
lang: "fr", // optional
units: "metric", // optional
})
.then((weather) => console.log("Weather object is", weather));
// Example
api
.forecast
.getForecastByZipCode({
zipCode: 94040, // required
countryCode: "us", // optional
lang: "fr", // optional
units: "metric", // optional - standard, metric and imperial units are available.
})
.then((weather) => console.log("Weather object is", weather));
This package is tested using jest. You can find the tests in the /tests folder. This package is developed using the TDD approach.
Feel free 😊 to enhance it and to add more tests 🧪🧪🧪
Feel free to contribute to this library ❤️
Thanks