Search by task, endpoint, field, or error.
Weather API
Current conditions at a latitude and longitude.
Current conditions for a latitude and longitude, from the nearest official station. current holds the reading: temperature (and temperature_f), feels_like, humidity, wind_speed / wind_direction, and condition. station identifies the reporting station, and current.observed_at gives the reading time. Twelve countries: the United States, Canada, Germany, Australia, Japan, Sweden, Finland, Austria, Ireland, Portugal, Poland, and Switzerland.
Every measurement ships in metric and imperial side by side (wind_speed + wind_speed_mph, and so on). No unit parameter. A field can come back null when the station has a gap in that reading.
Lookup
Parameters 4
- latnumber · query · required
Latitude
- lonnumber · query · required
Longitude
- datestring · query · optional
A past UTC day (YYYY-MM-DD). With deep, that day rides deep.history
- deepboolean · query · optional
Additional current measurements, forecasts, radar rain, alerts, air quality and requested historical detail. Included on paid plans.
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.weather(40.7128, -74.006);
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"latitude": 40.7128,
"longitude": -74.006,
"current": {
"temperature": 25.6,
"temperature_f": 78.1,
"feels_like": 26.4,
"feels_like_f": 79.5,
"humidity": 85,
"wind_speed": 7.6,
"wind_speed_mph": 4.7,
"wind_direction": 200,
"condition": "clear",
"condition_name": "Clear",
"condition_emoji": "☀️",
"observed_at": "2026-08-09T12:51:00+00:00"
},
"station": {
"id": "KNYC",
"name": "New York City, Central Park",
"distance": 8.51,
"distance_mi": 5.29
}
}Response fields
- latitude
- Input latitude
- longitude
- Input longitude
- current.temperature
- Temperature in Celsius
- current.temperature_f
- Temperature in Fahrenheit
- current.feels_like
- Heat index, wind chill, or temperature. Celsius
- current.feels_like_f
- Same, in Fahrenheit
- current.humidity
- Relative humidity, percent
- current.wind_speed
- Sustained wind speed, km/h
- current.wind_speed_mph
- Sustained wind speed, mph
- current.wind_direction
- Wind direction, degrees. Null when calm
- current.condition
- Bounded condition code, e.g. rain, fog, clear
- current.condition_name
- Readable condition text as reported
- current.condition_emoji
- One emoji for the condition code
- current.observed_at
- Observation timestamp
- station.id
- Nearest station id
- station.name
- Readable station name
- station.distance
- km from the input point
- station.distance_mi
- Miles from the input point
In a mobile app
Ship an app key and the Swift or Kotlin SDK. They send your bundle ID as X-App-Id. Coordinates from the device, weather back.
import ParseAPI
let parse = try ParseAPI("parse_app_...")
let weather = try await parse.weather(lat, lon)import com.parseapi.ParseAPI
val parse = ParseAPI("parse_app_...") {
appId = BuildConfig.APPLICATION_ID
}
val weather = parse.weather(lat, lon)Deep
Paid. deep.current adds dewpoint, gust, pressure and visibility. deep.hours is one row per hour for the next 48, worldwide, on the point's own clock. deep.days is today plus six, cut on the point's own calendar. deep.minutes is minute-by-minute rain for the next hour from live radar (US coverage). deep.forecast carries 12-hour periods for about a week out (US and Canada). deep.alerts covers the US, Canada, and eight European countries, an empty array when skies are quiet. deep.air is the air quality at the point, worldwide: EPA index, PM2.5, PM10. Free ships deep: {}.
Time machine
Add date=YYYY-MM-DD to a deep call and deep.history returns that day at the point: high, low, precipitation total, max wind, sunrise, sunset, and the moon. Days are UTC. Worldwide.
Parameters 4
- latnumber · query · required
Latitude
- lonnumber · query · required
Longitude
- datestring · query · optional
A past UTC day (YYYY-MM-DD). With deep, that day rides deep.history
- deepboolean · query · optional
Additional current measurements, forecasts, radar rain, alerts, air quality and requested historical detail. Included on paid plans.
Deep examples run with your own key. Check this API’s included units and pricing before running.
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.weather(40.7128, -74.006, { deep: true });
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"latitude": 40.7128,
"longitude": -74.006,
"current": {
"temperature": 25.6,
"temperature_f": 78.1,
"feels_like": 26.4,
"feels_like_f": 79.5,
"humidity": 85,
"wind_speed": 7.6,
"wind_speed_mph": 4.7,
"wind_direction": 200,
"condition": "clear",
"condition_name": "Clear",
"condition_emoji": "☀️",
"observed_at": "2026-08-09T12:51:00+00:00"
},
"station": {
"id": "KNYC",
"name": "New York City, Central Park",
"distance": 8.51,
"distance_mi": 5.29
},
"deep": {
"forecast": [
{
"name": "Today",
"start": "2026-08-09T06:00:00-04:00",
"end": "2026-08-09T18:00:00-04:00",
"daytime": true,
"temperature": 31,
"temperature_f": 87,
"precipitation_chance": 15,
"wind_speed": 14.5,
"wind_speed_mph": 9,
"wind_direction": 270,
"condition": "thunderstorm",
"condition_name": "Mostly Sunny then Slight Chance Showers And Thunderstorms",
"condition_emoji": "⛈️"
}
],
"alerts": [
{
"event": "Heat Advisory",
"severity": "moderate",
"urgency": "expected",
"headline": "Heat Advisory issued August 9 at 2:51AM EDT until August 9 at 7:00PM EDT by NWS Upton NY",
"onset": "2026-08-09T10:00:00-04:00",
"expires": "2026-08-09T11:00:00-04:00"
}
],
"minutes": [
{
"at": "2026-08-09T14:07:00Z",
"precipitation": 0,
"precipitation_in": 0,
"type": null
},
{
"at": "2026-08-09T14:08:00Z",
"precipitation": 1.8,
"precipitation_in": 0.071,
"type": "rain"
}
],
"hours": [
{
"at": "2026-08-09T10:00:00-04:00",
"daytime": true,
"temperature": 29,
"temperature_f": 84,
"feels_like": 31.2,
"feels_like_f": 88.2,
"humidity": 62,
"precipitation_chance": 5,
"wind_speed": 11.3,
"wind_speed_mph": 7,
"wind_gust": null,
"wind_gust_mph": null,
"wind_direction": 247.5,
"condition": "mostly_clear",
"condition_name": "Mostly Sunny",
"condition_emoji": "🌤️"
},
{
"at": "2026-08-09T11:00:00-04:00",
"daytime": true,
"temperature": 31,
"temperature_f": 87,
"feels_like": 33.9,
"feels_like_f": 93,
"humidity": 55,
"precipitation_chance": 10,
"wind_speed": 12.9,
"wind_speed_mph": 8,
"wind_gust": 24.1,
"wind_gust_mph": 15,
"wind_direction": 270,
"condition": "mostly_clear",
"condition_name": "Mostly Sunny",
"condition_emoji": "🌤️"
}
],
"days": [
{
"date": "2026-08-09",
"high": 32,
"high_f": 90,
"low": 22,
"low_f": 72,
"precipitation_chance": 30,
"condition": "partly_cloudy",
"condition_name": "Partly cloudy",
"condition_emoji": "⛅",
"sunrise": "2026-08-09T06:00:47-04:00",
"sunset": "2026-08-09T20:02:11-04:00",
"moon_phase": "waning_crescent",
"moon_phase_name": "Waning crescent",
"moon_phase_emoji": "🌘"
},
{
"date": "2026-08-10",
"high": 29,
"high_f": 84,
"low": 21,
"low_f": 70,
"precipitation_chance": 60,
"condition": "rain",
"condition_name": "Rain",
"condition_emoji": "🌧️",
"sunrise": "2026-08-10T06:01:46-04:00",
"sunset": "2026-08-10T20:00:55-04:00",
"moon_phase": "waning_crescent",
"moon_phase_name": "Waning crescent",
"moon_phase_emoji": "🌘"
}
],
"air": {
"aqi": 42,
"aqi_name": "Good",
"pm2_5": 7.6,
"pm10": 14.2
},
"current": {
"dewpoint": 21.1,
"dewpoint_f": 70,
"wind_gust": null,
"wind_gust_mph": null,
"pressure": 1016,
"pressure_inhg": 30,
"visibility": 16.1,
"visibility_mi": 10
}
}
}Deep fields
- deep.forecast
- 7-day forecast periods. Paid. US and Canada
- deep.alerts
- Active alerts. Paid. US, Canada, and eight European countries
- deep.minutes
- Minute-by-minute rain for the next hour, 61 rows from live radar. Paid. US radar coverage
- deep.hours
- Hour-by-hour rows for the next 48 hours in supported weather countries. Paid
- deep.days
- Daily rows, today plus six, on the point's own calendar. Paid. Worldwide
- deep.air
- Modeled particulate air quality at the point in supported weather countries. Paid
- deep.history
- A past day's summary. Add ?date=YYYY-MM-DD. Paid. Worldwide, UTC days
- deep.forecast[].name
- Period label (Today, Tonight, …)
- deep.forecast[].start
- Period start, ISO-8601
- deep.forecast[].end
- Period end, ISO-8601
- deep.forecast[].daytime
- Daytime period
- deep.forecast[].temperature
- Celsius
- deep.forecast[].temperature_f
- Fahrenheit
- deep.forecast[].precipitation_chance
- Chance of precipitation, percent
- deep.forecast[].wind_speed
- Wind speed, km/h
- deep.forecast[].wind_speed_mph
- Wind speed, mph
- deep.forecast[].wind_direction
- Wind direction, degrees
- deep.forecast[].condition
- Bounded condition code
- deep.forecast[].condition_name
- Short forecast text
- deep.forecast[].condition_emoji
- One emoji for the condition code
- deep.minutes[].at
- Minute start, ISO-8601
- deep.minutes[].precipitation
- Precipitation rate, mm/h
- deep.minutes[].precipitation_in
- Precipitation rate, in/h
- deep.minutes[].type
- rain or snow, null when dry
- deep.hours[].at
- Hour start, ISO-8601
- deep.hours[].daytime
- Daytime hour
- deep.hours[].temperature
- Celsius
- deep.hours[].temperature_f
- Fahrenheit
- deep.hours[].feels_like
- Heat index, wind chill, or temperature. Celsius
- deep.hours[].feels_like_f
- Same, in Fahrenheit
- deep.hours[].humidity
- Relative humidity, percent
- deep.hours[].precipitation_chance
- Chance of precipitation, percent
- deep.hours[].wind_speed
- Wind speed, km/h
- deep.hours[].wind_speed_mph
- Wind speed, mph
- deep.hours[].wind_gust
- Gust speed, km/h. Null when not gusting
- deep.hours[].wind_gust_mph
- Gust speed, mph. Null when not gusting
- deep.hours[].wind_direction
- Wind direction, degrees
- deep.hours[].condition
- Bounded condition code
- deep.hours[].condition_name
- Condition text
- deep.hours[].condition_emoji
- One emoji for the condition code
- deep.days[].date
- Local calendar date, YYYY-MM-DD
- deep.days[].high
- High, Celsius
- deep.days[].high_f
- High, Fahrenheit
- deep.days[].low
- Low, Celsius
- deep.days[].low_f
- Low, Fahrenheit
- deep.days[].precipitation_chance
- Chance of precipitation, percent
- deep.days[].condition
- Bounded condition code
- deep.days[].condition_name
- Condition text
- deep.days[].condition_emoji
- One emoji for the condition code
- deep.days[].sunrise
- Sunrise, ISO-8601 local. Null in polar night or day
- deep.days[].sunset
- Sunset, ISO-8601 local. Null in polar night or day
- deep.days[].moon_phase
- Phase code (new, full, waning_crescent, …)
- deep.days[].moon_phase_name
- Readable phase name
- deep.days[].moon_phase_emoji
- One emoji for the phase
- deep.air.aqi
- Modeled particulate index estimate on the US EPA scale, 0-500
- deep.air.aqi_name
- Index category (Good, Moderate, …)
- deep.air.pm2_5
- Fine particulate matter, ug/m3
- deep.air.pm10
- Coarse particulate matter, ug/m3
- deep.history.date
- The day asked for, YYYY-MM-DD
- deep.history.high
- High, Celsius (high_f in Fahrenheit)
- deep.history.low
- Low, Celsius (low_f in Fahrenheit)
- deep.history.precipitation
- Day total, mm (precipitation_in in inches)
- deep.history.wind_max
- Max sustained wind, km/h (wind_max_mph in mph)
- deep.history.sunrise
- Sunrise that day, ISO-8601 local
- deep.history.sunset
- Sunset that day, ISO-8601 local
- deep.history.moon_phase
- Phase code that night
- deep.alerts[].event
- Alert type
- deep.alerts[].severity
- Severity code (moderate, severe, …)
- deep.alerts[].urgency
- Urgency code (expected, immediate, …)
- deep.alerts[].headline
- Headline text
- deep.alerts[].onset
- Start, ISO-8601
- deep.alerts[].expires
- Expiry, ISO-8601
- deep.current.dewpoint
- Dew point, Celsius
- deep.current.dewpoint_f
- Dew point, Fahrenheit
- deep.current.wind_gust
- Gust speed, km/h. Null when not gusting
- deep.current.wind_gust_mph
- Gust speed, mph. Null when not gusting
- deep.current.pressure
- Pressure, hPa
- deep.current.pressure_inhg
- Pressure, inHg
- deep.current.visibility
- Visibility, km
- deep.current.visibility_mi
- Visibility, miles
Build with Weather
All tutorials →Questions? Email