{"openapi":"3.1.0","info":{"title":"SkyFeed","version":"1.0.0","contact":{"name":"SkyFeed","url":"https://github.com/Imac2014Ville/baselens"},"description":"Pay-per-call weather forecasts (global), current conditions, US severe-weather alerts, earthquakes, public holidays and a bundled travel check for AI agents. No API key: pay USDC on Base per call via x402.","x-guidance":"Pay-per-call USDC on Base via x402. POST /forecast {city or lat+lon, hours<=48} ($0.005): hourly temperature, wind, precipitation, symbol and a summary, global. POST /current {city or lat+lon} ($0.003): conditions now. POST /alerts {state (US 2-letter) or lat+lon} ($0.005): active NWS alerts, US only. POST /earthquakes {minMagnitude, hours<=168, lat, lon, radiusKm} ($0.003): USGS events. POST /holidays {country ISO2, year} ($0.002): public holidays. POST /travel-check {city, date within ~9 days} ($0.01): weather + holidays + nearby quakes + risk flags. City must be one of ~260 built-in major cities, otherwise pass lat and lon. GET with query params also works. Malformed input returns 400 and failed lookups return non-2xx, so you are not charged."},"servers":[{"url":"https://skyfeed.imac2014ville.workers.dev"}],"paths":{"/forecast":{"get":{"operationId":"forecastGet","summary":"Hourly weather forecast, up to 48 hours","description":"Use when an agent needs an hourly weather forecast for a place: temperature, wind, precipitation, humidity, cloud cover and a weather symbol for each of the next 1-48 hours, plus a one-line summary. Global coverage. Pass city (major world cities) or lat and lon.","tags":["weather","forecast","hourly","temperature","precipitation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"location":{"city":"New York","country":"US","lat":40.713,"lon":-74.006},"hours":24,"summary":{"minTempC":14.2,"maxTempC":21.1,"maxWindMs":6.1,"totalPrecipMm":0.4,"wetHours":1,"text":"14.2 to 21.1 C, 0.4 mm precipitation, peak wind 6.1 m/s over the next 24 h"},"forecast":[{"time":"2026-10-09T16:00:00Z","tempC":20.6,"windMs":3.4,"windKmh":12.2,"windFromDeg":262.7,"humidityPct":41.2,"cloudPct":0,"pressureHpa":1020.6,"precipMm":0,"symbol":"clearsky_day","stepHours":1}],"source":"MET Norway Locationforecast (CC BY 4.0)"}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"city","in":"query","required":false,"schema":{"type":"string","description":"Major world city name, e.g. Tokyo, London, New York (about 260 built in; otherwise pass lat and lon)"},"description":"Major world city name, e.g. Tokyo, London, New York (about 260 built in; otherwise pass lat and lon)"},{"name":"lat","in":"query","required":false,"schema":{"type":"number","description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},"description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number","description":"Longitude in decimal degrees, -180 to 180 (use with lat)"},"description":"Longitude in decimal degrees, -180 to 180 (use with lat)"},{"name":"hours","in":"query","required":false,"schema":{"type":"number","description":"Hours ahead, 1-48 (default 24)"},"description":"Hours ahead, 1-48 (default 24)"}]},"post":{"operationId":"forecastPost","summary":"Hourly weather forecast, up to 48 hours","description":"Use when an agent needs an hourly weather forecast for a place: temperature, wind, precipitation, humidity, cloud cover and a weather symbol for each of the next 1-48 hours, plus a one-line summary. Global coverage. Pass city (major world cities) or lat and lon.","tags":["weather","forecast","hourly","temperature","precipitation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"location":{"city":"New York","country":"US","lat":40.713,"lon":-74.006},"hours":24,"summary":{"minTempC":14.2,"maxTempC":21.1,"maxWindMs":6.1,"totalPrecipMm":0.4,"wetHours":1,"text":"14.2 to 21.1 C, 0.4 mm precipitation, peak wind 6.1 m/s over the next 24 h"},"forecast":[{"time":"2026-10-09T16:00:00Z","tempC":20.6,"windMs":3.4,"windKmh":12.2,"windFromDeg":262.7,"humidityPct":41.2,"cloudPct":0,"pressureHpa":1020.6,"precipMm":0,"symbol":"clearsky_day","stepHours":1}],"source":"MET Norway Locationforecast (CC BY 4.0)"}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"city":{"type":"string","description":"Major world city name, e.g. Tokyo, London, New York (about 260 built in; otherwise pass lat and lon)"},"lat":{"type":"number","description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},"lon":{"type":"number","description":"Longitude in decimal degrees, -180 to 180 (use with lat)"},"hours":{"type":"number","description":"Hours ahead, 1-48 (default 24)"}},"anyOf":[{"required":["lat","lon"]},{"required":["city"]}]}}}}}},"/current":{"get":{"operationId":"currentGet","summary":"Current weather at a place","description":"Use when an agent needs the weather right now at a place: temperature, wind, humidity, cloud cover, pressure, precipitation and sky condition for the current hour. Global coverage. Pass city or lat and lon.","tags":["weather","current-conditions","temperature","wind"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"location":{"city":"London","country":"GB","lat":51.507,"lon":-0.128},"time":"2026-10-09T16:00:00Z","tempC":20.6,"windMs":3.4,"windKmh":12.2,"windFromDeg":262.7,"humidityPct":41.2,"cloudPct":0,"pressureHpa":1020.6,"precipMm":0,"symbol":"clearsky_day","stepHours":1,"source":"MET Norway Locationforecast (CC BY 4.0)"}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"city","in":"query","required":false,"schema":{"type":"string","description":"Major world city name, e.g. Tokyo, London, New York (about 260 built in; otherwise pass lat and lon)"},"description":"Major world city name, e.g. Tokyo, London, New York (about 260 built in; otherwise pass lat and lon)"},{"name":"lat","in":"query","required":false,"schema":{"type":"number","description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},"description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number","description":"Longitude in decimal degrees, -180 to 180 (use with lat)"},"description":"Longitude in decimal degrees, -180 to 180 (use with lat)"}]},"post":{"operationId":"currentPost","summary":"Current weather at a place","description":"Use when an agent needs the weather right now at a place: temperature, wind, humidity, cloud cover, pressure, precipitation and sky condition for the current hour. Global coverage. Pass city or lat and lon.","tags":["weather","current-conditions","temperature","wind"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"location":{"city":"London","country":"GB","lat":51.507,"lon":-0.128},"time":"2026-10-09T16:00:00Z","tempC":20.6,"windMs":3.4,"windKmh":12.2,"windFromDeg":262.7,"humidityPct":41.2,"cloudPct":0,"pressureHpa":1020.6,"precipMm":0,"symbol":"clearsky_day","stepHours":1,"source":"MET Norway Locationforecast (CC BY 4.0)"}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"city":{"type":"string","description":"Major world city name, e.g. Tokyo, London, New York (about 260 built in; otherwise pass lat and lon)"},"lat":{"type":"number","description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},"lon":{"type":"number","description":"Longitude in decimal degrees, -180 to 180 (use with lat)"}},"anyOf":[{"required":["lat","lon"]},{"required":["city"]}]}}}}}},"/alerts":{"get":{"operationId":"alertsGet","summary":"Active US National Weather Service alerts","description":"Use when an agent needs active severe-weather warnings in the United States: tornado, flood, storm, heat, winter and fire alerts from the National Weather Service with severity, area, timing and instructions. Query by US state (2-letter code) or by lat and lon.","tags":["weather-alerts","nws","severe-weather","hazards","usa"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"query":{"state":"CA"},"count":1,"alerts":[{"event":"Red Flag Warning","severity":"Severe","urgency":"Expected","headline":"Red Flag Warning issued October 9 ...","area":"Santa Barbara County Mountains","onset":"2026-10-09T08:00:00-07:00","ends":"2026-10-10T20:00:00-07:00","sender":"NWS Los Angeles CA"}],"source":"US National Weather Service (public domain)"}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","description":"US state or territory 2-letter code, e.g. CA, TX, FL, PR"},"description":"US state or territory 2-letter code, e.g. CA, TX, FL, PR"},{"name":"lat","in":"query","required":false,"schema":{"type":"number","description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},"description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number","description":"Longitude in decimal degrees, -180 to 180 (use with lat)"},"description":"Longitude in decimal degrees, -180 to 180 (use with lat)"}]},"post":{"operationId":"alertsPost","summary":"Active US National Weather Service alerts","description":"Use when an agent needs active severe-weather warnings in the United States: tornado, flood, storm, heat, winter and fire alerts from the National Weather Service with severity, area, timing and instructions. Query by US state (2-letter code) or by lat and lon.","tags":["weather-alerts","nws","severe-weather","hazards","usa"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"query":{"state":"CA"},"count":1,"alerts":[{"event":"Red Flag Warning","severity":"Severe","urgency":"Expected","headline":"Red Flag Warning issued October 9 ...","area":"Santa Barbara County Mountains","onset":"2026-10-09T08:00:00-07:00","ends":"2026-10-10T20:00:00-07:00","sender":"NWS Los Angeles CA"}],"source":"US National Weather Service (public domain)"}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"state":{"type":"string","description":"US state or territory 2-letter code, e.g. CA, TX, FL, PR"},"lat":{"type":"number","description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},"lon":{"type":"number","description":"Longitude in decimal degrees, -180 to 180 (use with lat)"}},"anyOf":[{"required":["state"]},{"required":["lat","lon"]}]}}}}}},"/earthquakes":{"get":{"operationId":"earthquakesGet","summary":"Recent earthquakes from USGS","description":"Use when an agent needs recent earthquake activity: events from the USGS feed filtered by minimum magnitude and time window (up to 168 hours), optionally limited to a radius around a point. Returns time, magnitude, place, depth, coordinates, tsunami flag and distance.","tags":["earthquakes","usgs","seismic","hazards"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"query":{"minMagnitude":4.5,"hours":24},"count":1,"earthquakes":[{"time":"2026-10-09T10:38:55.617Z","magnitude":4.6,"place":"south of the Fiji Islands","lat":-24.1,"lon":179.9,"depthKm":520,"tsunami":false,"url":"https://earthquake.usgs.gov/earthquakes/eventpage/us6000u168"}],"source":"USGS Earthquake Hazards Program (public domain)"}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"minMagnitude","in":"query","required":false,"schema":{"type":"number","description":"Minimum magnitude 0-10 (default 4.5)"},"description":"Minimum magnitude 0-10 (default 4.5)"},{"name":"hours","in":"query","required":false,"schema":{"type":"number","description":"Look-back window in hours, 1-168 (default 24)"},"description":"Look-back window in hours, 1-168 (default 24)"},{"name":"lat","in":"query","required":false,"schema":{"type":"number","description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},"description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number","description":"Longitude in decimal degrees, -180 to 180 (use with lat)"},"description":"Longitude in decimal degrees, -180 to 180 (use with lat)"},{"name":"radiusKm","in":"query","required":false,"schema":{"type":"number","description":"Radius around lat/lon in km, 1-20000 (default 500); requires lat and lon"},"description":"Radius around lat/lon in km, 1-20000 (default 500); requires lat and lon"}]},"post":{"operationId":"earthquakesPost","summary":"Recent earthquakes from USGS","description":"Use when an agent needs recent earthquake activity: events from the USGS feed filtered by minimum magnitude and time window (up to 168 hours), optionally limited to a radius around a point. Returns time, magnitude, place, depth, coordinates, tsunami flag and distance.","tags":["earthquakes","usgs","seismic","hazards"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"query":{"minMagnitude":4.5,"hours":24},"count":1,"earthquakes":[{"time":"2026-10-09T10:38:55.617Z","magnitude":4.6,"place":"south of the Fiji Islands","lat":-24.1,"lon":179.9,"depthKm":520,"tsunami":false,"url":"https://earthquake.usgs.gov/earthquakes/eventpage/us6000u168"}],"source":"USGS Earthquake Hazards Program (public domain)"}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"minMagnitude":{"type":"number","description":"Minimum magnitude 0-10 (default 4.5)"},"hours":{"type":"number","description":"Look-back window in hours, 1-168 (default 24)"},"lat":{"type":"number","description":"Latitude in decimal degrees, -90 to 90 (use with lon)"},"lon":{"type":"number","description":"Longitude in decimal degrees, -180 to 180 (use with lat)"},"radiusKm":{"type":"number","description":"Radius around lat/lon in km, 1-20000 (default 500); requires lat and lon"}}}}}}}},"/holidays":{"get":{"operationId":"holidaysGet","summary":"Public holidays by country and year","description":"Use when an agent needs the public holidays of a country: date, English and local name, whether nationwide, regions and type for a given year. Covers 100+ countries; pass an ISO 2-letter country code.","tags":["holidays","public-holidays","calendar","travel"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"country":"US","year":2026,"count":1,"holidays":[{"date":"2026-01-01","name":"New Year's Day","localName":"New Year's Day","nationwide":true,"regions":null,"types":["Public","Bank"]}],"source":"Nager.Date (open-source, MIT)"}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"country","in":"query","required":true,"schema":{"type":"string","description":"ISO 3166-1 alpha-2 code, e.g. US, DE, JP"},"description":"ISO 3166-1 alpha-2 code, e.g. US, DE, JP"},{"name":"year","in":"query","required":false,"schema":{"type":"number","description":"Year 1990-2100 (default current year)"},"description":"Year 1990-2100 (default current year)"}]},"post":{"operationId":"holidaysPost","summary":"Public holidays by country and year","description":"Use when an agent needs the public holidays of a country: date, English and local name, whether nationwide, regions and type for a given year. Covers 100+ countries; pass an ISO 2-letter country code.","tags":["holidays","public-holidays","calendar","travel"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"country":"US","year":2026,"count":1,"holidays":[{"date":"2026-01-01","name":"New Year's Day","localName":"New Year's Day","nationwide":true,"regions":null,"types":["Public","Bank"]}],"source":"Nager.Date (open-source, MIT)"}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"string","description":"ISO 3166-1 alpha-2 code, e.g. US, DE, JP"},"year":{"type":"number","description":"Year 1990-2100 (default current year)"}},"required":["country"]}}}}}},"/travel-check":{"get":{"operationId":"travelCheckGet","summary":"Weather + holidays + nearby quakes for a trip day","description":"Use when an agent is planning a trip or event in a city and needs one bundled answer: that day's weather (temperature range, rain, wind, hourly), public holidays within 3 days, recent earthquakes within 300 km, and risk flags. Date within the next ~9 days (default today).","tags":["travel","weather","holidays","risk","trip-planning"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"location":{"city":"Tokyo","country":"JP","lat":35.677,"lon":139.65},"date":"2026-10-12","weather":{"date":"2026-10-12","minTempC":17.8,"maxTempC":24.5,"totalPrecipMm":0,"maxWindMs":5.2,"mainSymbol":"partlycloudy_day","hourly":[{"time":"2026-10-09T16:00:00Z","tempC":20.6,"windMs":3.4,"windKmh":12.2,"windFromDeg":262.7,"humidityPct":41.2,"cloudPct":0,"pressureHpa":1020.6,"precipMm":0,"symbol":"clearsky_day","stepHours":1}]},"holidays":{"country":"JP","withinThreeDays":[{"date":"2026-10-12","name":"Sports Day"}]},"nearbyQuakes":{"radiusKm":300,"minMagnitude":2.5,"pastDays":7,"count":3,"strongest":[]},"riskFlags":["public holiday nearby (closures, crowds, price spikes)"],"source":"MET Norway (CC BY 4.0), Nager.Date, USGS (public domain)"}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"city","in":"query","required":true,"schema":{"type":"string","description":"Major world city name, e.g. Tokyo (built-in table of ~260 cities)"},"description":"Major world city name, e.g. Tokyo (built-in table of ~260 cities)"},{"name":"date","in":"query","required":false,"schema":{"type":"string","description":"YYYY-MM-DD within about 9 days ahead (default today, UTC)"},"description":"YYYY-MM-DD within about 9 days ahead (default today, UTC)"}]},"post":{"operationId":"travelCheckPost","summary":"Weather + holidays + nearby quakes for a trip day","description":"Use when an agent is planning a trip or event in a city and needs one bundled answer: that day's weather (temperature range, rain, wind, hourly), public holidays within 3 days, recent earthquakes within 300 km, and risk flags. Date within the next ~9 days (default today).","tags":["travel","weather","holidays","risk","trip-planning"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"location":{"city":"Tokyo","country":"JP","lat":35.677,"lon":139.65},"date":"2026-10-12","weather":{"date":"2026-10-12","minTempC":17.8,"maxTempC":24.5,"totalPrecipMm":0,"maxWindMs":5.2,"mainSymbol":"partlycloudy_day","hourly":[{"time":"2026-10-09T16:00:00Z","tempC":20.6,"windMs":3.4,"windKmh":12.2,"windFromDeg":262.7,"humidityPct":41.2,"cloudPct":0,"pressureHpa":1020.6,"precipMm":0,"symbol":"clearsky_day","stepHours":1}]},"holidays":{"country":"JP","withinThreeDays":[{"date":"2026-10-12","name":"Sports Day"}]},"nearbyQuakes":{"radiusKm":300,"minMagnitude":2.5,"pastDays":7,"count":3,"strongest":[]},"riskFlags":["public holiday nearby (closures, crowds, price spikes)"],"source":"MET Norway (CC BY 4.0), Nager.Date, USGS (public domain)"}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"city":{"type":"string","description":"Major world city name, e.g. Tokyo (built-in table of ~260 cities)"},"date":{"type":"string","description":"YYYY-MM-DD within about 9 days ahead (default today, UTC)"}},"required":["city"]}}}}}}},"x-discovery":{"ownershipProofs":["0xa33af0b03d91b73ab6c7f8926673470297d4215061ae4adca4767ea4675caa8505a70e92c0a95d37592e2f922285aa5f97f9ee726f7a9d93333715c4d6e3dcad1b"]}}