Official National Weather Service forecast for any US coordinate - six 12-hour day/night p
Official National Weather Service forecast for any US coordinate - six 12-hour day/night periods by default, or hourly - each with temperature in C and F, precipitation probability, a wind speed range in km/h, wind direction and a short forecast, plus the NWS issue time so an agent can judge its age. detail=full adds the narrative, icon, dewpoint and humidity. United States, its territories and coastal waters only. Use when: What is the weather forecast for these US coordinates?
3000 (raw units)
price
1
calls / 30d
1
unique payers
2026-08-27
updated
Provider
api.eckari.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x9d6b6fdB04040a55d58B24ff4C90C08cf6083C8f",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "3000",
"maxTimeoutSeconds": 60
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"lat": 38.8977,
"lon": -77.0365
},
"type": "http"
},
"output": {
"example": {
"data": {
"generated_at": "2026-08-18T12:03:31.000Z",
"location": {
"city": "Washington",
"state": "DC",
"timezone": "America/New_York"
},
"periods": [
{
"end_time": "2026-08-18T18:00:00-04:00",
"is_daytime": true,
"name": "Today",
"precipitation_probability_pct": 11,
"short_forecast": "Partly Sunny",
"start_time": "2026-08-18T08:00:00-04:00",
"temperature_c": 31.11,
"temperature_f": 88,
"wind_direction": "N",
"wind_speed_range_kmh": {
"max": 11.27,
"min": 4.83
}
},
{
"end_time": "2026-08-19T06:00:00-04:00",
"is_daytime": false,
"name": "Tonight",
"precipitation_probability_pct": 1,
"short_forecast": "Partly Cloudy",
"start_time": "2026-08-18T18:00:00-04:00",
"temperature_c": 21.67,
"temperature_f": 71,
"wind_direction": "NW",
"wind_speed_range_kmh": {
"max": 9.66,
"min": 1.61
}
},
{
"end_time": "2026-08-19T18:00:00-04:00",
"is_daytime": true,
"name": "Wednesday",
"precipitation_probability_pct": 0,
"short_forecast": "Sunny",
"start_time": "2026-08-19T06:00:00-04:00",
"temperature_c": 32.22,
"temperature_f": 90,
"wind_direction": "W",
"wind_speed_range_kmh": {
"max": 8.05,
"min": 8.05
}
},
{
"end_time": "2026-08-20T06:00:00-04:00",
"is_daytime": false,
"name": "Wednesday Night",
"precipitation_probability_pct": 19,
"short_forecast": "Partly Cloudy then Slight Chance Showers And Thunderstorms",
"start_time": "2026-08-19T18:00:00-04:00",
"temperature_c": 22.78,
"temperature_f": 73,
"wind_direction": "SW",
"wind_speed_range_kmh": {
"max": 8.05,
"min": 1.61
}
},
{
"end_time": "2026-08-20T18:00:00-04:00",
"is_daytime": true,
"name": "Thursday",
"precipitation_probability_pct": 70,
"short_forecast": "Showers And Thunderstorms Likely",
"start_time": "2026-08-20T06:00:00-04:00",
"temperature_c": 31.11,
"temperature_f": 88,
"wind_direction": "N",
"wind_speed_range_kmh": {
"max": 9.66,
"min": 1.61
}
},
{
"end_time": "2026-08-21T06:00:00-04:00",
"is_daytime": false,
"name": "Thursday Night",
"precipitation_probability_pct": 70,
"short_forecast": "Showers And Thunderstorms Likely",
"start_time": "2026-08-20T18:00:00-04:00",
"temperature_c": 21.11,
"temperature_f": 70,
"wind_direction": "NE",
"wind_speed_range_kmh": {
"max": 8.05,
"min": 1.61
}
}
],
"query": {
"detail": "compact",
"hourly": false,
"hours": null,
"lat": 38.8977,
"lon": -77.0365,
"period_limit": 6
},
"updated_at": "2026-08-18T11:55:05.000Z",
"valid_from": "2026-08-18T05:00:00.000Z"
},
"meta": {
"capability": "weather.us.forecast",
"freshness": "near_live",
"source": "nws",
"version": "4.0.0"
}
},
"type": "json"
}
},
"routeTemplate": "/v1/weather/us/forecast",
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"additionalProperties": false,
"properties": {
"detail": {
"default": "compact",
"description": "compact (default) returns the fields an agent acts on. full adds the NWS narrative (detailed_forecast), the icon URL, the trend note and, for hourly periods, dewpoint_c and humidity_pct.",
"enum": [
"compact",
"full"
],
"type": "string"
},
"hourly": {
"default": false,
"description": "Return hourly periods instead of the default 12-hour day/night periods. Hourly periods have no name and, at detail=full, carry dewpoint and humidity.",
"type": "boolean"
},
"hours": {
"default": 24,
"description": "Number of hourly periods to return, soonest first. Applies when hourly is true; use period_limit for day/night forecasts.",
"maximum": 48,
"minimum": 1,
"type": "integer"
},
"lat": {
"description": "Latitude in decimal degrees (WGS84). Rounded to 4 decimal places before the National Weather Service lookup.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees (WGS84). Rounded to 4 decimal places before the National Weather Service lookup.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"period_limit": {
"default": 6,
"description": "Maximum number of 12-hour day/night periods to return, soonest first. Applies when hourly is false; use hours for hourly forecasts. NWS issues 14 periods (7 days); the default of 6 is three days. Named period_limit, not periods, because periods is the returned series.",
"maximum": 14,
"minimum": 1,
"type": "integer"
}
},
"required": [
"lat",
"lon"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
},
"payment-identifier": {
"info": {
"required": false
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"maxLength": 128,
"minLength": 16,
"pattern": "^[a-zA-Z0-9_-]+$",
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"required"
],
"type": "object"
}
}
}Use it
curl
curl "https://api.eckari.com/v1/weather/us/forecast" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.eckari.com/v1/weather/us/forecast");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.eckari.com/v1/weather/us/forecast")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/4316.json, and this resource appears in /discovery/resources and /discovery/search.