Weather — entry 020 of 31

Pirate Weather

Verified Jul 2026

Pirate Weather repackages NOAA forecast models (GFS, HRRR, NBM) into the same JSON response shape used by the discontinued Dark Sky API, letting old Dark Sky integrations switch over with minimal code changes. It covers current, minutely, hourly, and daily forecasts plus short-term history, and now requires a free API key issued through its Apiable developer portal.

Pirate Weather repackages NOAA forecast models (GFS, HRRR, NBM) into the same JSON response shape used by the discontinued Dark Sky API, keyed by latitude and longitude.

forecastopen-sourcedark-sky-alternativehistorical
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score75out of 100
Authentication15/25API key required
Pricing17/20Freemium tier available
Docs14/20Documentation URL provided
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 75 on greatapis.com
<a href="https://greatapis.com/api/pirate-weather/"><img src="https://greatapis.com/badge/pirate-weather.svg" alt="Scored 75 on greatapis.com"></a>

Auth quickstart

  1. Sign up for a free account at pirateweather.net and subscribe to the Forecast API through the Apiable developer portal
  2. Copy the API key issued in your Apiable dashboard
  3. Pass it as a path segment in the request URL: `/forecast/YOUR_API_KEY/{lat},{lon}`
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Forecast for a coordinate

GEThttps://api.pirateweather.net/forecast/YOUR_API_KEY/45.42,-74.30

200 application/json

{
  "latitude": 45.42,
  "longitude": -74.3,
  "timezone": "America/Toronto",
  "currently": {
    "time": 1783785600,
    "summary": "Clear",
    "icon": "clear-day",
    "temperature": 22.5,
    "humidity": 0.48,
    "windSpeed": 3.1
  },
  "daily": {
    "summary": "Clear conditions through the week.",
    "data": [{ "time": 1783728000, "icon": "clear-day", "temperatureHigh": 24.1, "temperatureLow": 14.3 }]
  }
}

Developer reference

Gotchas & limits

  • The API key goes in the URL path, not a header or query parameter — e.g. `/forecast/YOUR_API_KEY/lat,lon`
  • The response mirrors the deprecated Dark Sky schema (`currently`/`minutely`/`hourly`/`daily` blocks), so existing Dark Sky client code mostly works unchanged
  • `hourly` defaults to 48 hours — add `extend=hourly` to the query string to get the full 168-hour (7-day) hourly array