Dark Sky · Schema
Dark Sky Forecast Response
JSON Schema for the top-level response object returned by the Dark Sky Forecast API and Time Machine endpoint.
WeatherForecastHyperlocalPrecipitationMachine LearningRESTApple
Properties
| Name | Type | Description |
|---|---|---|
| latitude | number | Latitude of the request location in decimal degrees. |
| longitude | number | Longitude of the request location in decimal degrees. |
| timezone | string | IANA timezone name for the requested location (e.g. 'America/New_York'). |
| offset | number | Current timezone offset in hours from UTC. |
| currently | object | |
| minutely | object | |
| hourly | object | |
| daily | object | |
| alerts | array | Array of severe weather alerts for the requested location. |
| flags | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/dark-sky/main/json-schema/dark-sky-forecast-response.json",
"title": "Dark Sky Forecast Response",
"description": "JSON Schema for the top-level response object returned by the Dark Sky Forecast API and Time Machine endpoint.",
"type": "object",
"required": ["latitude", "longitude", "timezone"],
"properties": {
"latitude": {
"type": "number",
"description": "Latitude of the request location in decimal degrees."
},
"longitude": {
"type": "number",
"description": "Longitude of the request location in decimal degrees."
},
"timezone": {
"type": "string",
"description": "IANA timezone name for the requested location (e.g. 'America/New_York')."
},
"offset": {
"type": "number",
"description": "Current timezone offset in hours from UTC."
},
"currently": {
"$ref": "#/$defs/DataPoint"
},
"minutely": {
"$ref": "#/$defs/DataBlock"
},
"hourly": {
"$ref": "#/$defs/DataBlock"
},
"daily": {
"$ref": "#/$defs/DataBlock"
},
"alerts": {
"type": "array",
"items": {
"$ref": "#/$defs/Alert"
},
"description": "Array of severe weather alerts for the requested location."
},
"flags": {
"$ref": "#/$defs/Flags"
}
},
"$defs": {
"Icon": {
"type": "string",
"enum": [
"clear-day",
"clear-night",
"rain",
"snow",
"sleet",
"wind",
"fog",
"cloudy",
"partly-cloudy-day",
"partly-cloudy-night"
],
"description": "Machine-readable icon name representing the weather conditions."
},
"DataBlock": {
"type": "object",
"description": "A collection of DataPoint objects over a period of time (minutes, hours, or days).",
"properties": {
"summary": {
"type": "string",
"description": "Human-readable text summary of the data block."
},
"icon": {
"$ref": "#/$defs/Icon"
},
"data": {
"type": "array",
"items": {
"$ref": "#/$defs/DataPoint"
}
}
}
},
"DataPoint": {
"type": "object",
"description": "A data point object containing weather observation properties for a point in time.",
"properties": {
"time": {
"type": "integer",
"description": "Unix timestamp (seconds since epoch) of the data point."
},
"summary": {
"type": "string",
"description": "Human-readable text summary."
},
"icon": {
"$ref": "#/$defs/Icon"
},
"sunriseTime": {
"type": "integer",
"description": "Sunrise time as Unix timestamp (daily data points only)."
},
"sunsetTime": {
"type": "integer",
"description": "Sunset time as Unix timestamp (daily data points only)."
},
"moonPhase": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Fractional lunation number: 0=new moon, 0.25=first quarter, 0.5=full, 0.75=last quarter."
},
"nearestStormBearing": {
"type": "integer",
"minimum": 0,
"maximum": 360,
"description": "Direction to nearest storm in degrees clockwise from north (currently only)."
},
"nearestStormDistance": {
"type": "number",
"description": "Distance to nearest storm in requested units (currently only)."
},
"precipIntensity": {
"type": "number",
"description": "Precipitation intensity in inches/hour (us/uk2/ca) or mm/hour (si)."
},
"precipIntensityMax": {
"type": "number",
"description": "Maximum precipitation intensity during the period (daily only)."
},
"precipIntensityMaxTime": {
"type": "integer",
"description": "Unix timestamp of maximum precipitation intensity (daily only)."
},
"precipProbability": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Probability of precipitation between 0 and 1."
},
"precipAccumulation": {
"type": "number",
"description": "Accumulated snowfall in inches (or cm for si) during the period."
},
"precipType": {
"type": "string",
"enum": ["rain", "snow", "sleet"],
"description": "Type of precipitation. Only present when precipIntensity > 0."
},
"temperature": {
"type": "number",
"description": "Air temperature. Fahrenheit for us units; Celsius for si/ca/uk2."
},
"apparentTemperature": {
"type": "number",
"description": "Apparent ('feels like') temperature in the requested units."
},
"temperatureHigh": {
"type": "number",
"description": "Daytime high temperature (daily only)."
},
"temperatureHighTime": {
"type": "integer",
"description": "Unix timestamp of daytime high temperature (daily only)."
},
"temperatureLow": {
"type": "number",
"description": "Overnight low temperature (daily only)."
},
"temperatureLowTime": {
"type": "integer",
"description": "Unix timestamp of overnight low temperature (daily only)."
},
"temperatureMin": {
"type": "number",
"description": "Daily minimum temperature (daily only)."
},
"temperatureMinTime": {
"type": "integer",
"description": "Unix timestamp of daily minimum temperature (daily only)."
},
"temperatureMax": {
"type": "number",
"description": "Daily maximum temperature (daily only)."
},
"temperatureMaxTime": {
"type": "integer",
"description": "Unix timestamp of daily maximum temperature (daily only)."
},
"apparentTemperatureHigh": {
"type": "number",
"description": "Daytime high apparent temperature (daily only)."
},
"apparentTemperatureHighTime": {
"type": "integer",
"description": "Unix timestamp of daytime high apparent temperature (daily only)."
},
"apparentTemperatureLow": {
"type": "number",
"description": "Overnight low apparent temperature (daily only)."
},
"apparentTemperatureLowTime": {
"type": "integer",
"description": "Unix timestamp of overnight low apparent temperature (daily only)."
},
"dewPoint": {
"type": "number",
"description": "Dew point temperature in the requested units."
},
"humidity": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Relative humidity between 0 and 1."
},
"pressure": {
"type": "number",
"description": "Sea-level air pressure in millibars."
},
"windSpeed": {
"type": "number",
"description": "Wind speed in the requested units."
},
"windGust": {
"type": "number",
"description": "Wind gust speed in the requested units."
},
"windGustTime": {
"type": "integer",
"description": "Unix timestamp of maximum wind gust (daily only)."
},
"windBearing": {
"type": "integer",
"minimum": 0,
"maximum": 360,
"description": "Wind direction in degrees clockwise from north."
},
"cloudCover": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Fraction of sky covered by clouds, between 0 and 1."
},
"uvIndex": {
"type": "integer",
"description": "UV index."
},
"uvIndexTime": {
"type": "integer",
"description": "Unix timestamp of maximum UV index (daily only)."
},
"visibility": {
"type": "number",
"maximum": 10,
"description": "Average visibility in miles (us/uk2) or kilometers (si/ca), capped at 10."
},
"ozone": {
"type": "number",
"description": "Columnar density of total atmospheric ozone in Dobson units."
}
}
},
"Alert": {
"type": "object",
"required": ["title", "time", "expires", "description", "uri"],
"description": "Severe weather alert issued by a governmental weather authority.",
"properties": {
"title": {
"type": "string",
"description": "Short text summary of the alert."
},
"regions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Names of regions covered by the alert."
},
"severity": {
"type": "string",
"enum": ["advisory", "watch", "warning"],
"description": "Severity of the alert."
},
"time": {
"type": "integer",
"description": "Unix timestamp of the alert's onset."
},
"expires": {
"type": "integer",
"description": "Unix timestamp when the alert expires."
},
"description": {
"type": "string",
"description": "Detailed text description of the alert."
},
"uri": {
"type": "string",
"format": "uri",
"description": "HTTP URI linking to the full text of the alert."
}
}
},
"Flags": {
"type": "object",
"description": "Metadata about the request including data sources used.",
"properties": {
"sources": {
"type": "array",
"items": {
"type": "string"
},
"description": "Machine-readable identifiers of weather data sources used."
},
"nearest-station": {
"type": "number",
"description": "Distance to nearest weather station in requested units."
},
"units": {
"type": "string",
"enum": ["auto", "ca", "si", "uk2", "us"],
"description": "Units used in the response."
}
}
}
}
}