Get started with WeatherKit

WeatherKit, together with the all-new Apple Weather service, provides apps and services with a wide range of valuable weather data that can help people stay up to date, safe, and prepared. Learn about the requirements, tools to get started, and how to transition from the Dark Sky weather service.

Requirements

Apple Developer Program membership

Access to WeatherKit is included in the Apple Developer Program, which also provides all the tools, resources, and support you need to develop and distribute apps — including access to beta software, app services, testing tools, app analytics, and more.

Software

WeatherKit requires iOS 16, iPadOS 16, macOS 13, tvOS 16, or watchOS 9. REST APIs can be used for websites and other platforms.

Availability and pricing

WeatherKit provides up to 500,000 API calls a month per Apple Developer Program membership. If you need additional API calls, the Account Holder of your Apple Developer Program membership can subscribe in the Account tab of the Apple Developer app. Subscription plans are priced in U.S. dollars, or in local currency where available.

  • 500,000 calls/month: Included with membership
  • 1 million calls/month: US$49.99
  • 2 million calls/month: US$99.99
  • 5 million calls/month: US$249.99
  • 10 million calls/month: US$499.99
  • 20 million calls/month: US$999.99

The Account Holder can upgrade or downgrade a subscription at any time. If the Account Holder:

  • Upgrades a subscription, a new billing period is started and you can start using the new plan immediately. Your quota resets to 0 and the number of API calls is replaced based on the new subscription.
  • Downgrades a subscription, you can continue to use your current plan during the current billing period.

Please note that unused API calls don’t roll over to the next month.

Attribution requirements

When using WeatherKit in your apps, web apps, or websites, you’ll need to follow guidelines and requirements for attributing weather data from Apple. For details, view the attribution requirements section below.

Tools and documentation

Xcode and SDKs

Swift APIs for WeatherKit require Xcode 14, iOS 16, iPadOS 16, macOS 13, tvOS 16, and watchOS 9. For other platforms and websites, you can use the REST API.

Service ID and key configuration

You’ll need to use Certificates, Identifiers & Profiles to set up identifiers and keys before you can implement WeatherKit.

Videos and documentation

Apple Weather and third-party attribution

If your apps, web apps, or websites display any weather data from Apple (other than weather alerts or value-added services or products, as described below), you must clearly display the Apple Weather trademark (Weather), as well as the legal link to other data sources.

Weather alerts

  • All weather alerts displayed must contain an embedded link to the Apple weather alert details page provided to you by Apple.
  • All weather alert titles or descriptions must contain the full name of the source meteorological agency that issued the alert. For additional information on the applicable meteorological agency and the licensing terms governing the use and distribution of these weather alerts, please visit the applicable Apple weather alert details page.
  • You must not modify, change, alter, or obscure the text of a severe weather alert in any way.

Value-added services or products

Value-added services or products means data, products, and/or services you develop that are derived from weather data from Apple and are transformed so that no user or other third party can discover, access, reverse engineer, or otherwise ascertain or use the original weather data from Apple. When displaying value-added services or products, you agree to attribute the source of the data to “Weather”, along with a notice that the data provided by Apple has been modified.

Transitioning from Dark Sky

Support for the Dark Sky weather service will end March 31, 2023. To transition to WeatherKit and continue accessing weather data for your apps, webs apps, websites, and services, you’ll need to be a member of the Apple Developer Program, review special considerations, and map fields to their appropriate names.

If you’re a nonprofit organization, accredited educational institution, or government entity, you may qualify for an Apple Developer Program membership fee waiver.

Important updates

  • All daily data is defined as occurring within the calendar day. For example, July 1 starts at 12:00 a.m. and ends at 11:59 p.m.
  • Daytime high apparent temperature and overnight low apparent temperature are no longer provided.
  • You can verify which data sets or features are available for a specified location using the availability endpoint in WeatherKit.
  • Dark Sky Time Machine functionality is now built into the hourly and daily weather requests.

Field mapping

Dark Sky Field REST Swift
RESPONSE FORMAT
latitude metadata.latitude metadata.latitude
longitude metadata.longitude metadata.longitude
exclude None None
extend=hourly None None
lang=[language] metadata.language None
units=[units] metadata.units None
timezone None None
currently currentWeather currentWeather
minutely forecastNextHour minuteForecast
hourly forecastHourly hourlyForecast
daily forecastDaily dailyForecast
alerts weatherAlerts weatherAlerts
flags metadata (on each object) metadata (on each object)
DATA POINT OBJECT
apparentTemperature temperatureApparent apparentTemperature
apparentTemperatureHigh None None
apparentTemperatureHighTime None None
apparentTemperatureLow None None
apparentTemperatureLowTime None None
apparentTemperatureMax None None
apparentTemperatureMaxTime None None
apparentTemperatureMin None None
apparentTemperatureMinTime None None
cloudCover cloudCover cloudCover
dewPoint temperatureDewPoint dewpoint
humidity humidity humidity
icon conditionCode condition / symbolName
moonPhase moonPhase (daily only) dailyForecast.moon.phase
nearestStormBearing None None
nearestStormDistance None None
ozone None None
precipAccumulation precipitationAmount precipitationAmount
precipIntensity precipitationIntensity precipitationIntensity
precipIntensityError None None
precipIntensityMax None None
precipIntensityMaxTime None None
precipProbability precipitationChance precipitationChance
precipType precipitationType precipitation
pressure pressure pressure
summary None minuteForecast.summary
sunriseTime sunrise, sunriseAstronomical, sunriseCivil, sunriseNautical sun.sunrise
sunsetTime sunset, sunsetAstronomical, sunsetCivil, sunsetNautical sun.sunset
temperature temperature temperature
temperatureHigh None None
temperatureHighTime None None
temperatureLow None None
temperatureLowTime None None
temperatureMax temperatureMax highTemperature
temperatureMaxTime None None
temperatureMin temperatureMin lowTemperature
temperatureMinTime None None
time dailyStart, hourlyStart, forecastStart, startTime date
uvIndex uvIndex uvIndex
uvIndexTime None None
visibility visibility visibility
windBearing windDirection wind.direction
windGust windGust wind.gust
windGustTime None None
windSpeed windSpeed wind.speed
DATA BLOCK OBJECT
data dataSets None
summary None None
icon conditionCode condition / symbolName
ALERTS ARRAY
description messages summary
expires expireTime metadata.expirationDate
regions areaId/areaName region
severity severity severity
time issuedTime metadata.date
title description summary
uri detailsUrl detailsURL
FLAGS OBJECT
nearest-station None None
sources source weatherService.attribution
units units None
RESPONSE HEADERS
Cache-Control Cache-Control None
Expires deprecated None None
X-Forecast-API-Calls None None
X-Response-Time None None

Help and contacting us

Apple Developer Forums

Post questions and share technical information with other developers and Apple engineers.

View forums

Feedback Assistant

File bug reports, and request enhancements to APIs and developer tools.

Go to Feedback Assistant

Apple Developer Support

Have a question? Apple Developer Support can help. Receive guidance by phone or email.

Contact us