FLASH Edge Point Forecast - 180 Hour
## FLASH Edge Point Forecast
FLASH Edge Point Forecast
Enhanced weather intelligence powered by dual-source data fusion and advanced meteorological modeling.
This API delivers high-resolution weather forecasts by intelligently blending multiple weather model sources into a unified, seamless product. FLASH Weather provides value-add post processing, derived products, uncertainty quantification, and optimized delivery for production applications.
🌍 Dual-Grid Architecture
Seamless coverage with location-aware resolution:
CONUS High-Resolution:
- Coverage: 24-50°N, -125 to -65°W (Continental United States)
- Resolution: ~2.5km native grid (~1597 x 2345 points)
- Update frequency: Hourly updates
- Variables: 50+ including hourly snow percentiles, categorical precip type
- Performance: <100ms response time
Global Standard-Resolution:
- Coverage: worldwide (-90 to 90°) once worldwide coverage is enabled, 0-90°N (entire Northern Hemisphere) until then
- Resolution: 0.25° (~25km, 721 x 1440 points worldwide)
- Update frequency: 6-hourly cycles (00Z, 06Z, 12Z, 18Z)
- Variables: 40+ with ensemble-derived statistical spreads
- Performance: 500-1000ms response time
- Values are matched to the response's hourly timestamps by valid time;
metadata.lr_runnames the global cycle used - When an observation correction is available for the global grid, the first hours of
TEMP,DPT,WSPD10andGUSTare corrected toward the latest surface observations andmetadata.nowcast.LRgives the observation hour and how many hours changed (not applied to historical requests) - Open ocean: served from this grid once worldwide coverage is enabled (until then
OCEAN_LOCATION_UNSUPPORTED). Land-surface products (WBGT, concrete pourability, ET rate, frost and dew probability, hot-dry-windy index) are omitted over open water and named inmetadata.warnings - Accuracy: expect lower accuracy than the CONUS grid, especially in the Southern Hemisphere and other regions with few surface observations (much of Africa, inland South America, remote coasts and islands)
Automatic Grid Selection:
- API intelligently routes to high-resolution for CONUS locations
- Seamlessly falls back to global resolution outside CONUS
- No user configuration required
⚡ Performance Optimizations
- A full 180-hour point forecast is returned in one read, with no reassembly
- High-resolution data is served from a fast cache; global data is read on demand
Time Alignment:
- Forecasts auto-slice to the current UTC hour
- 15:09 UTC → starts at 15:00 UTC
- 15:31 UTC → starts at 15:00 UTC
- Index 0 is always the hour in progress, whatever the request minute
- That first hour is partly elapsed by definition, it is a forecast for an hour already underway, not an observation. Every later hour is in the future.
- Check
metadata.time_alignment.current_hour_includedbefore labelling index 0 "now": a late or stale model run can begin after the current hour - With
include=current, index 0POPis 100 while precipitation is observed at the point (current_hour.overrideskeeps the forecast value), so the hour in progress never shows a low chance during observed rain
Frost outlook (include=frost_outlook):
- One entry per night (local date of the morning it ends), CONUS only; null outside the high-resolution grid or before the fields are published for the served run, an empty list where no night is covered
frost_probability: chance of visible frost on open ground at some point of the night, the night's peak of the hourly frost probabilitycoverage: the expected share of the surrounding 5-10 km with frost (none,low_spots_only,scattered,widespread) withpercentand its range (percent_p10topercent_p90) and aconfidence(high,medium,low). "Scattered, low confidence, range 0-95%" reads as "scattered frost possible, could be widespread or none"intensity: where frost forms,light,moderate,heavyorkilling_freeze, with itsconfidenceground_minandshelter_min: the night's minimum on open ground (frost forms there) and in the air at 5 ft, as p10/p50/p90; the p10-p90 range holds about 80% of nightsfreeze_probabilityandhard_freeze_probability: chance the air at 5 ft reaches 32F and 28F- Temperatures in F (english) or C (metric)
Air Quality (include=air_quality):
- Adds
air_quality.aqi,pm25_ugm3,categoryandsource, one entry pertimestampshour - The same fused smoke forecast
/forecast/smoke/point/serves (primary, then fallback, then backstop), matched by valid time - Hours past the smoke forecast's reach (about 120 hours) are null; the whole block is null where no smoke forecast covers the point
observation,observation_statusandsmoke_forecastare the/forecast/aqi/point/cross-check for the hour in progress;discrepancy_flagmarks that hour when the nearest monitor and the forecast differ by 50+ AQI points. Withsmoke_forecastdiscrepancy_direction: observed_higher, air quality may be worse than forecastsmoke_source, where enabled, names the likely source: recent prescribed burns within 25 miles or the nearest uncontained wildfire (100+ acres) within 60 miles, from NIFC wildland fire incident data; null otherwiseWX_CODEsmoke codes (13 patchy smoke, 14 smoke, 15 dense smoke) mean visibly smoky air, AQI 101 and up; a Moderate AQI (51-100) shows only here, not as a weather code
Observation Nowcast (CONUS):
- Each hour, the first 0-6 hours of
TEMP,DPT,WSPD10andGUSTare corrected toward the latest surface observations, fading out with lead time - Their
_LOW/_MEDIAN/_HIGHbands shift with them;RH,HEAT_INDEX,WIND_CHILLand the degree days move by the change the correction makes to their formula, andTMAX/TMINstay at or beyond the corrected hours of the same day.WBGTis not adjusted - When applied,
metadata.nowcast.HRgives the observation hour and how many hours changed - Not applied to historical requests (
lookback_hours)
Convection Correction (CONUS, where enabled):
- The first 6 hours (
CONVECTION_OVERLAY_MAX_LEAD) ofPROB_TS,POPand the hourly liquid precipitation (with every total, 24 h sum and percentile that carries it) are corrected toward the latest radar and lightning - In the first five forecast hours
POPis never lowered by it - Added rain only lands in hours that are warm enough for rain or already typed as rain
- Where it moves
POP,PROB_TSor rain, up or down,PTYPE_PRIMARY/PTYPE_SECONDARY, thePROB_*_ABSvalues andWX_CODE_PRIMARY/WX_CODE_SECONDARYfollow, so the icon matches the numbers - It never raises a code to a severe storm code (95-98). A served severe storm code drops to the matching thunder,
rain or quiet code when the correction takes
PROB_TSbelow 50% orPOPbelow 25%. Extreme winter codes are kept - When applied,
metadata.convection.HRgives the run, the anchor hour and how many hours changed
🔬 Value-Added Derived Products
Beyond raw model output - production-ready meteorological intelligence:
Heat Stress Indices (WBGT):
- Calculated for 4 surface types: asphalt, concrete, grass, turf
- Uses natural wet bulb + surface-adjusted globe temperature
- Critical for outdoor worker safety, athletics, construction planning
- Surface-specific solar absorption and heat retention modeling
WBGT_SITE: Site-specific WBGT for registered locations, automatically included when the requested lat/lon matches a registered site profile (within 500 m). Applies site-calibrated surface mix, wind shelter, and solar exposure corrections. No extra parameters needed.- National Weather Service fallback: when the current FLASH forecast has no WBGT value for the point
in the requested window, the National Weather Service gridpoint WBGT forecast fills every requested WBGT
variable, matched to
timestampsby valid time in the requested units, andmetadata.wbgt_sourceisnws. That forecast has no surface type, so all four surfaces carry the same value. US states and territories only; elsewhere, or where no WBGT forecast is published for the point, the variables stay unavailable as before. FLASH and National Weather Service values are never mixed in one response. heat_policy(optional, e.g.heat_policy=kshsaa): adds a top-levelheat_policyobject mapping every WBGT series indatato a published activity-modification policy's zones.heat_policy.zoneslists each zone once (key, name, color, °F bounds, guidance text);heat_policy.dataholds one zone key per hour for each WBGT variable, aligned withtimestamps. Thresholds are °F whateverunitsis. Request a WBGT variable (e.g.vars=wbgt_grass) or a registered site location so there is something to classify.
Concrete Pourability Index (0-100):
- Evaluates optimal conditions for concrete placement
- Factors: temperature, evaporation rate, precipitation, solar load, wind
- Provides best/worst/likely scenarios using temperature percentiles
- Industry-specific decision support
UV Index:
- Derived from downwelling shortwave radiation (DSWRF), cloud-adjusted
- Scale 0–11 (dimensionless UVI, clamped at extreme per WHO standard); same value in metric and english modes
- Covers the full 180-hour forecast window
Daily Temperature Envelope (TMAX / TMIN):
- One value per local calendar day (midnight to 11pm local, by longitude), the same at every hour of that day
- TMAX is the daytime max (12Z-00Z) for that day, sub-hourly peaks included. TMIN is the overnight min (00Z-12Z) ending that morning
- In the first 48 hours, the day's hourly max or min replaces them when it is clearly beyond them (e.g. a front passing at night)
- The first, partial day's TMIN looks ahead to the next morning's low. A day with no TMAX/TMIN value uses the hourly max/min
- CONUS, and outside CONUS where worldwide coverage provides them (otherwise listed under
metadata.warningsas not available); full forecast array; inherits TEMP units (°C metric, °F english)
Wind Chill & Heat Index:
- Apparent temperature calculations using NWS algorithms
- Automatically applied based on ambient conditions
- Critical for public safety messaging
Precipitation Type Separation:
- Rain, snow, freezing rain, sleet separated using NBM precipitation type probabilities (CONUS) and GEFS precipitation type (worldwide)
SNOW_HOURLYis an expected value: in a mixed or uncertain hour it carries only the snow share of the precipitation- CONUS snowfall is NBM snowfall through the full 180 hours, shaped to the hourly precipitation; outside CONUS it is the snow share of the precipitation at a temperature-dependent Snow-to-Liquid Ratio (SLR) from 3:1 (above freezing) to 28:1 (near -15 °C)
- Snow bands
SNOW_HOURLY_P10/P50/P90are NBM's to 48 hours, then the precipitation percentiles at the hour's snow per mm of liquid asnowinvarsis an alias ofSNOW_HOURLY
Accumulation Products:
- Total accumulation (since forecast start)
- 24-hour rolling accumulation
- Separate rain/snow tracking with uncertainty bands
- Freezing rain:
FICEAC(hourly ice accumulation) with uncertainty bandsFICEAC_P10,FICEAC_P50,FICEAC_P90. In CONUSFICEACis NBM's through the full 180 hours; the bands are NBM's to 54 hours, then the precipitation percentiles at the hour's ice per mm of liquid. The bands are CONUS only;FICEACitself is also served outside CONUS where worldwide coverage provides it
Weather Codes:
WX_CODE_PRIMARY/WX_CODE_SECONDARY, standardized integer codes 0-98- Not a WMO code table. Ask FLASH for the full code reference rather than assuming a code's meaning
IS_DAYTIME: 1 when the sun is above the horizon at that hour and pixel (from modeled solar irradiance), 0 otherwise. Use this for day/night icon selection instead of a fixed clock-hour range, it is correct at every latitude and season, a fixed range is notdaily: top-level array in the response, one entry per local calendar day in the point's own time zone, daylight saving aware (date,wx_code,wx_code_secondary,pop,temperature_high,temperature_low,temperature_low_observed,temperature_low_night,summary,precip_range,precip_total,cloud_cover_day,upside_risk,thunder_chance).wx_codeis the highest-priority code across that day's hours, not the most frequent one, so a day with a brief severe event shows the severe code even if most hours were clear. Within one tier the most significant code wins (heavy rain over light rain), a day with 1 inch or more of rain reads Heavy Rain (44), and a fog secondary is dropped from an hour whose rain (0.1 in/hr or more) explains the low visibility. Isolated or scattered thunderstorms (92, 93) on a day whose rain is likelier or 1 inch or more read as the rain with the thunder code aswx_code_secondary. A sky, wind or temperature day with measurable rain names the shower chance (primary at 20% or more, secondary at 10-20%), and a quiet day's sky word comes fromcloud_cover_daywhenTCCandIS_DAYTIMEare requested. In CONUS, through 48 h, the day's peak 1 hPROB_TSadds a thunder code calibrated to observed thunder days (6% isolated, 10% scattered, 18% likely), since NBM's 1 h chance rarely reaches the hourly 20% step.thunder_chanceis that calibrated chance (0-100) of a thunderstorm during the local day, from the day's peak 1 hPROB_TS;nulloutside CONUS, whenPROB_TSis not requested, when the peak is under 6%, or when the response does not reach the day's last hour within 48 h (past 48 hPROB_TSis a 3 h chance; anend_hourthat cuts the day short leaves its peak partial). Once thunder is observed at the point today'sthunder_chanceis 100.upside_riskisnull, or{thunder, rain, rain_local_max, message, source_run}when HRRR runs well above the forecast (lightning on a day without a thunder code, or a 20 km rain maximum of 1.5 inches and 3 times the day's QPF); itsmessageis also appended tosummary.popis the day's peak hourly probability, as NWS reports a period's PoP.summaryis one plain sentence built from the hourly values (when rain starts, peaks and ends, the likely amount, thunder, gusts of 30 mph or more),nullon a quiet day.PRECIPis hour-ending, so the value at local midnight counts for the day before.precip_totalis the day'sPRECIPsum andprecip_rangeis[low, high]fromRAIN_24H_LOWandRAIN_24H_HIGHat local midnight, both full days only and only when those are requested.cloud_cover_dayis the meanTCCover the day's daylight hours.sky_trend(increasing,decreasingornull) andsky_trend_label(Increasing Clouds,Becoming Cloudy,Decreasing Clouds,Becoming Sunnyornull) are set only whenwx_codeis a sky code (0-4) and the medianTCCof the last third of the daylight hours left differs from the first third's by 40 points and 2 sky codes or more, with 6 or more daylight hours. Show the label in place of the sky word when it is set;wx_codestays the mean-based sky code. WhenTMAX/TMINare requested,temperature_highandtemperature_lowcome from those (TMINon full days only).TMAXincludes peaks between hours, and on some days an hourly value sits above it. Full-dayTMINis the overnight min ending that morning (roughly 7pm the prior evening to 7am local), so on some days an hourlyTEMPsits belowtemperature_low. Otherwise they are the calendar-day max and min of the hourly temperatures (midnight to 11:59pm local). For today, when a nearby station reported in the last 75 minutes, the observed high since local midnight is folded intotemperature_high;TMAXstill counts while the afternoon peak is ahead or when the station's record does not reach back to midnight. When that record does reach back to midnight,temperature_lowis the observed low combined with the hours still ahead andtemperature_low_observedistrue. It isfalseotherwise and on every other day; when it isfalse, today'stemperature_lowis only the coolest hour left, so showtemperature_low_nightas today's low.temperature_low_nightis "tonight's low" in the usual forecasting sense, dusk through the following dawn, which for most locations is early the next calendar day,nullwhen no night segment exists for that day
🔥 Fire Weather Products (CONUS Only)
Four fire weather products are available for the contiguous United States, computed from model output and enhanced with real-time observational data for the near-term window.
FLASH_FWX_INDEX, Fire Weather Index (0-100)
Composite fire danger index. Incorporates Fosberg fire weather atmospheric conditions, precipitation probability suppression, dry lightning amplification, and hot-dry-windy amplification. The structure is multiplicative: high values require dangerous atmospheric conditions AND low precipitation probability simultaneously. Values above 80 indicate exceptional fire danger typically associated with red-flag conditions.
- Range: 0-100 (dimensionless)
- Available: F001-F180, CONUS only
- F001-F005: Atmospheric fire weather conditions with real-time lightning-enhanced dry thunderstorm probability
- F006-F180: Extended forecast using model-native fire weather and dry lightning fields
FIRE_HOTSPOT_RISK, Fire Hotspot Risk (0-100)
Combines FLASH_FWX_INDEX with a point-level dry lightning ignition probability estimate. Useful for identifying specific locations at elevated risk from lightning-caused ignitions rather than broad regional fire weather assessment. Requires both elevated DRYTPROB and a high FLASH_FWX_INDEX to score high, neither alone is sufficient.
- Range: 0-100 (dimensionless)
- Available: F001-F180, CONUS only
HDW_INDEX, Hot-Dry-Windy Index (unbounded, hPa·m/s)
Atmospheric fire potential indicator based on Srock et al. (2018). Computed as surface gust speed (m/s) × vapor pressure deficit (hPa). Captures the combined effect of wind intensity and atmospheric drying demand on fuels. Does not account for fuel state, precipitation, or ignition, it is a measure of atmospheric potential for extreme fire behavior. Used internally as an amplifier in FLASH_FWX_INDEX but also available standalone.
- Range: ≥ 0, unbounded. Typical values: 0-200 (low stress), 200-600 (elevated), 600+ (extreme). Significant fire weather events commonly exceed 800; Santa Ana / Diablo wind events can exceed 1500.
- Available: F001-F180, CONUS only
DRYTPROB, Dry Thunderstorm Probability (%)
Probability of a dry thunderstorm (lightning without significant precipitation). Dry lightning is the primary ignition source for wildfires in the western US. Useful standalone for fire weather monitoring and as a trigger for pre-positioning or evacuation decisions.
- Range: 0-100%
- Available: F006-F072, CONUS only
- F001-F005 enhanced in-place with real-time lightning probability data
FIRE_INDEX, Fosberg Fire Weather Index (dimensionless)
Physics-based fire weather severity index derived from equilibrium moisture content of fine dead fuels, wind speed, and relative humidity. Complements FLASH_FWX_INDEX by providing an atmospheric fire potential signal without multiplicative suppression weighting.
- Range: 0-100+ (dimensionless)
- Available: F001-F180, CONUS only
Accessing fire weather data:
GET /forecast/point?lat=37.5&lon=-119.5&vars=fire&units=english
GET /forecast/point?lat=37.5&lon=-119.5&vars=FLASH_FWX_INDEX,DRYTPROB,GUST_P90📊 Uncertainty Quantification
Probabilistic forecasts from ensemble statistics:
Percentile Products (LOW, MEDIAN, HIGH):
- Temperature: Normal distribution (symmetric)
- Wind/Gust: Log-normal distribution (right-skewed)
- Precipitation: Gamma distribution (zero-inflated, heavy tail)
- Humidity/Cloud: Beta distribution (bounded 0-100%)
Derived from:
- Multi-model ensemble spread and percentile fields
- Scientific distribution fitting based on variable physics and post-processing
Confidence Metrics:
- Temperature confidence: 0-100% based on ensemble agreement
- Spread variables indicate forecast uncertainty
- Larger spread = lower confidence, more scenario variability
🎯 Comprehensive Variable Catalog
70+ variables including:
Core Meteorology:
- Temperature, dewpoint, humidity, pressure
- Wind speed/gust, direction (
WDIRon both grids; U/V components on global) - Precipitation rate, type, probability
- Cloud cover, visibility, ceiling
Derived Indices:
- WBGT (4 surfaces), wind chill, heat index
- UV Index (from shortwave radiation, cloud-adjusted)
- TMAX / TMIN (daily high and low per local day; CONUS, and outside CONUS where available)
- Concrete pourability (3 scenarios)
- Weather classification codes
Fire Weather (CONUS):
- FLASH_FWX_INDEX, FIRE_INDEX, FIRE_HOTSPOT_RISK, DRYTPROB, HDW_INDEX
Energy:
- HDD_HOURLY, CDD_HOURLY (hourly degree day increments)
- HDD_TOTAL, CDD_TOTAL (cumulative from forecast run start)
- PRECIP_CONFIDENCE (precipitation forecast confidence)
Probabilities:
- Probability of Precipitation (PoP)
- Categorical probabilities: rain, snow, freezing rain, sleet
- Thunderstorm and dry thunderstorm probability
- Absolute probabilities (phase-specific)
Uncertainty:
- Temperature: LOW, MEDIAN, HIGH percentiles + TEMP_CONFIDENCE
- Wind/Gust: P10, P50, P90 percentiles
- Precipitation: P10, P50, P90 + PRECIP_CONFIDENCE
- Accumulation uncertainty bands for rain and snow
Accumulations:
- Total and 24h rolling for rain and snow
- With full uncertainty bands (P10/P50/P90)
📦 User-Friendly Features
Variable Groups:
"- basic: temperature, precipitation, wind_speed, humidity, gust, clouds, dewpoint, weather_code (8 variables)
"
"- weather: All basic + visibility, wind_chill, heat_index, rain, snow, pop, secondary wx code (15 variables)
"
"- winter: Temperature, snow accumulation, wind_chill, ice, probabilities, uncertainty bands (25 variables)
"
"- summer: Temperature, heat_index, WBGT indices, thunderstorms, solar, rain accumulation (21 variables)
"
"- construction: Temperature, precipitation, heat stress, concrete pourability, wind, solar (19 variables)
"
"- aviation: Temperature, wind, visibility, ceiling, icing, thunderstorms, pressure (21 variables)
"
"- athletics: Heat/cold safety, precipitation, wind, lightning, WBGT indices (24 variables)
"
"- agronomy: Growing conditions, freeze risk, water management, solar, heat stress (21 variables)
"
"- marine: Wind components, visibility, pressure, sea conditions, severe weather (21 variables)
"
"- energy: Temperature, degree days (hourly + cumulative), solar, wind power, ice, severe weather (24 variables)
"
"- fire: Fire weather indices, dry lightning, atmospheric drivers, CONUS only (13 variables)
"
"- all: Everything available
"
Automatic Unit Conversion:
- Metric: °C, km/h, mm, mb
- English: °F, mph, inches, inHg
- Converts at request time - no re-processing needed
Time Filtering:
- Request specific hour ranges (e.g., next 48 hours)
- Applied after time alignment for intuitive hour numbering
🚀 Example Requests
# Basic weather (auto-detects grid, returns 'basic' group)
GET /forecast/point?lat=40.7128&lon=-74.0060
# Human-readable names
GET /forecast/point?lat=40.7&lon=-74.0&vars=temperature,precipitation,wind_speed
# Variable groups
GET /forecast/point?lat=40.7&lon=-74.0&vars=construction
# English units
GET /forecast/point?lat=40.7&lon=-74.0&vars=temperature&units=english
# UV index and daily temp envelope
GET /forecast/point?lat=34.05&lon=-118.25&vars=uv_index,tmax,tmin&units=english
# Fire weather (CONUS only)
GET /forecast/point?lat=37.5&lon=-119.5&vars=fire&units=english
# Current AQI
GET /forecast/aqi/point?lat=32.78&lon=-96.80
# Time filtering (next 48 hours after alignment)
GET /forecast/point?lat=40.7&lon=-74.0&start_hour=1&end_hour=48
# Everything with uncertainty
GET /forecast/point?lat=40.7&lon=-74.0&vars=all📋 Response Structure
{
"location": {
"lat": 40.7128,
"lon": -74.0060,
"grid_y": 1234,
"grid_x": 5678,
"recommended_grid": "HR",
"region": "CONUS"
},
"run": "2025122912",
"timestamps": ["2025-12-29T16:00:00", "2025-12-29T17:00:00", ...],
"units": "metric",
"data": {
"TEMP": [5.2, 4.8, 4.1, ...],
"TEMP_LOW": [3.1, 2.9, 2.4, ...],
"TEMP_HIGH": [7.3, 6.7, 5.8, ...],
"PRECIP": [0.0, 0.2, 0.8, ...],
"WBGT_GRASS": [18.5, 17.2, 16.8, ...],
"WBGT_SITE": [32.1, 31.4, 30.8, ...]
},
"metadata": {
"time_alignment": {
"current_utc": "2025-12-29T15:47:23+00:00",
"target_hour": "2025-12-29T16:00:00+00:00",
"hours_skipped": 4,
"remaining_hours": 176
},
"path": "hot",
"variables_returned": 8,
"variables_requested": 8,
"variables_masked": 0,
"site_id": "green-level-hs",
"site_name": "Green Level High School",
"units": {
"TEMP": "°C",
"WBGT_GRASS": "°C",
"WBGT_SITE": "°C"
}
},
"processing_time_ms": 120.4
}⚠️ Error Handling
Detailed error responses with:
- Human-readable descriptions
- Machine-readable error codes
- Retry guidance for temporary failures
- Contextual debugging details
Common error codes:
CYCLE_NOT_FOUND: (404) Historical run requested is beyond 72-hour retention or invalidLOCATION_OUT_OF_BOUNDS: Point outside the coverage area (the Northern Hemisphere until worldwide coverage is enabled)OCEAN_LOCATION_UNSUPPORTED: Point is over open ocean with no forecast data. Open ocean is served once worldwide coverage is enabled, so this is returned only until thenINVALID_VARIABLES: Unrecognized variable namesCACHE_WARMING: System loading data (retry in 60s)REDIS_UNAVAILABLE: Temporary cache issue (retry in 10s)S3_UNAVAILABLE: Storage temporarily unavailable (retry in 30s)GLOBAL_DATA_UNAVAILABLE: Global grid data temporarily unavailable outside CONUS (retry in 60s)DATA_MASKED_CONUS: Requested LR data in CONUS (use HR)DATA_MASKED_GLOBAL: Requested HR data outside CONUS (use LR)
Token-based authentication with required prefix "Token"
In: header
Query Parameters
Ending hour, as an inclusive 1-based index into the returned (time-aligned) array. Clamped silently to the hours available. Must be sent together with start_hour.
Optional. Adds a heat_policy block that maps each WBGT value in the response to the named policy's activity-modification zone, with the zone's color and guidance text. Thresholds are in °F whatever units is. Omit it and the response is unchanged.
Value in
- "kshsaa"
Optional extra blocks, comma-separated, e.g. current,nws_alerts. current adds a current object holding the observed conditions at the point, the same body as /observations/current/ (or its error body with code when no observation qualifies; the forecast still returns), and a current_hour object: while precipitation is observed at the point, POP for index 0 (the hour in progress) is served as 100, observed thunder or rain that outranks the forecast code replaces WX_CODE_PRIMARY at index 0 and today's daily row, and current_hour.overrides gives the forecast value it replaced. nws_alerts adds an nws_alerts object with the NWS watches, warnings and advisories in effect at the point: count, alerts and metadata, the same as /alerts/nws/?lat=&lon= (or ALERTS_NOT_READY with retry_after before the first alert load; the forecast still returns). nws_alerts needs NWS alerts access, the same as /alerts/nws/, or a weather widget key or partner_weather embed token: any other caller gets a 403 for the whole request. current needs Observations access or a widget key: a forecast-only API key gets a 403 for the whole request. air_quality adds an air_quality object with the hourly smoke/AQI forecast on the same timestamps, the values /forecast/smoke/point/ serves (null when no smoke forecast covers the point; the forecast still returns). air_quality needs smoke forecast access, a widget key or a partner_weather embed token: any other API key or embed token gets a 403 for the whole request. frost_outlook adds a frost_outlook list, one entry per night: frost chance, coverage category with its range and confidence, intensity, ground and air minimum ranges, freeze and hard freeze chances (null outside the CONUS grid).
Latitude in decimal degrees (-90 to 90). Worldwide coverage is rolling out: until it is enabled, only 0 to 90 is accepted and southern latitudes return INVALID_LATITUDE.
floatLongitude in decimal degrees (-180 to 180)
floatOptional: Number of hours to look back for a historical forecast cycle (1-70). Overrides the latest forecast and serves an earlier forecast cycle. Returns 404 if cycle is beyond retention window or hasn't finished generating.
Starting hour, as a 1-based index into the returned (time-aligned) array, not an offset. start_hour=1 is the current UTC hour. Must be sent together with end_hour.
Unit system for returned data. Metric: Celsius, km/h, mm, mb (hPa). English: Fahrenheit, mph, inches, inHg
"english"Value in
- "english"
- "metric"
Optional: Comma-separated list of variables to return. Use human-readable names (e.g., 'temperature', 'precipitation', 'wind_speed'). The API automatically selects high-resolution (_HR) or global (_LR) data based on location.
Variable Groups:
basic: temperature, precipitation, wind_speed, humidity, gust, clouds, dewpoint, weather_codeweather: All basic + visibility, wind_chill, heat_indexwinter: Temperature, snow accumulation, wind_chill, ice, probabilitiessummer: Temperature, heat_index, WBGT indices, thunderstormsconstruction: Temperature, precipitation, heat stress, concrete pourability, windaviation: Temperature, wind, visibility, ceiling, icing, thunderstormsathletics: Heat/cold safety, precipitation, wind, lightningagronomy: Growing conditions, freeze risk, water management, solarmarine: Wind components, visibility, pressure, sea conditionsenergy: Temperature, solar, wind power, ice accumulation, severe weatherall: Everything available
Examples: temperature, precip, wind, humidity, snow_total
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/forecast/point/?end_hour=24&heat_policy=kshsaa&lat=40.7128&lon=-74.006&lookback_hours=4&start_hour=1&units=metric&vars=temperature%2Cprecipitation%2Cwind_speed%2Chumidity"{ "location": { "lat": 40.7128, "lon": -74.006, "grid_y": 1523, "grid_x": 1842, "recommended_grid": "HR", "region": "CONUS" }, "run": "2026041412", "timestamps": [ "2026-04-14T12:00:00", "2026-04-14T13:00:00" ], "units": "english", "processing_time_ms": 87.4, "data": { "TEMP": [ 58.2, 60.1 ], "WSPD10": [ 8.3, 9.1 ], "UV_INDEX": [ 4.2, 5.8 ], "TMAX": [ 64.5, 64.5 ], "TMIN": [ 52.1, 53 ] }, "metadata": { "path": "hot", "variables_returned": 5, "variables_requested": 5, "variables_masked": 0, "units": { "TEMP": "°F", "WSPD10": "mph", "UV_INDEX": "UVI", "TMAX": "°F", "TMIN": "°F" } }}
