← Docs

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

GET
api.parseapi.com/weather?lat={lat}&lon={lon}
Current conditions from the nearest station. Paid deep adds specialist readings and available forecasts, rain minutes, and alerts
Explore
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.

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

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?

Example response
{
  "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.

GET
api.parseapi.com/weather?lat={lat}&lon={lon}&deep=true&date={date}
A past day's summary rides deep.history
Explore
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?

Example response
{
  "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[].precipitation_chance
Chance of precipitation, percent
deep.forecast[].wind_direction
Wind direction, degrees
deep.forecast[].condition
Bounded condition code
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[].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_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_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_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[].severity
Severity code (moderate, severe, …)
deep.alerts[].urgency
Urgency code (expected, immediate, …)
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

Build with Weather

All tutorials →

Questions? Email