BYTETOOLS

NASA POWER API

Free NASA POWER API with no key: solar irradiance, temperature, wind and humidity data for any coordinates, daily or hourly, back to 1981. Tested example.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-19

What is the NASA POWER API?

NASA POWER is a free, key-free API providing solar radiation and meteorological data for any point on Earth — temperature, wind, humidity, precipitation and irradiance — at daily, monthly or hourly resolution going back to 1981.

POWER (Prediction Of Worldwide Energy Resources) exists specifically to support renewable energy and agricultural modelling, which makes it different from a weather forecast API: it is built for long historical series rather than the next few days.

If you are sizing a solar installation, modelling crop yield or analysing climate trends for a location, this is the authoritative free source. It is satellite-derived and globally consistent, so it works for places with no ground weather station.

Quick facts

Base URL
https://power.larc.nasa.gov/api
Authentication
No API key required.
Rate limit
No published hard limit, but large date ranges are slow — request only the years you need.
Pricing
Free NASA open data.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the NASA POWER API

Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.

1. Daily temperature for a location

GET https://power.larc.nasa.gov/api/temporal/daily/point?parameters=T2M&community=RE&longitude=74.35&latitude=31.52&start=20260101&end=20260102&format=JSON

curl
curl 'https://power.larc.nasa.gov/api/temporal/daily/point?parameters=T2M&community=RE&longitude=74.35&latitude=31.52&start=20260101&end=20260102&format=JSON'
JavaScript (fetch)
const res = await fetch("https://power.larc.nasa.gov/api/temporal/daily/point?parameters=T2M&community=RE&longitude=74.35&latitude=31.52&start=20260101&end=20260102&format=JSON");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://power.larc.nasa.gov/api/temporal/daily/point?parameters=T2M&community=RE&longitude=74.35&latitude=31.52&start=20260101&end=20260102&format=JSON", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [
      74.35,
      31.52,
      209.49
    ]
  },
  "properties": {
    "parameter": {
      "T2M": {
        "20260101": 10.47,
        "20260102": 11.99
      }
    }
  },
  "header": {
    "title": "NASA/POWER Source Native Resolution Daily Data",
    "api": {
      "version": "v2.9.6",
      "name": "POWER Daily API"
    },
    "sources": [
      "MERRA2"
    ],
    "fill_value": -999.0,
    "time_standard": "LST",
    "start": "20260101",
    "end": "20260102"
  },
  "messages": [],
  "parameters": {
    "T2M": {
      "units": "C",
      "longname": "Temperature at 2 Meters"
    }
  },
  "times": {
    "data": 0.063,
    "process": 0.01
  }
}

Parameters

ParameterTypeRequiredDescription
parametersstringRequiredComma-separated variable codes, e.g. T2M, ALLSKY_SFC_SW_DWN. T2M
communitystringRequiredRE (renewable energy), AG (agriculture) or SB (buildings). RE
latitude / longitudefloatRequiredPoint coordinates. 31.52
start / endstringRequiredDate range as YYYYMMDD. 20260101
formatstringOptionalJSON, CSV or ASCII. JSON

Response fields

properties.parameterobject
One key per requested variable, each mapping date to value.
geometry.coordinatesarray
Longitude, latitude and elevation of the grid cell used.
headerobject
Query metadata including the date range and fill values.
parametersobject
Units and long names for each requested variable.

What you can build with the NASA POWER API

  • Size a solar installation using long-run irradiance data for the site
  • Model crop yields against historical temperature and rainfall
  • Analyse multi-decade climate trends for any location worldwide
  • Fill gaps where no local ground weather station exists

Common errors and how to fix them

422

Unknown parameter code or invalid community.

Fix: Parameter codes are uppercase and specific, e.g. T2M for 2-metre temperature. Check the parameter dictionary.

Values of -999

NASA's fill value for missing data, not a real reading.

Fix: Filter out -999 before averaging or charting, or your results will be badly skewed.

Very slow response

The requested date range spans decades.

Fix: Request the years you actually need; multi-decade hourly queries take minutes.

NASA POWER API — frequently asked questions

Is NASA POWER free?

Yes, completely free with no API key. It is NASA open data intended for research and commercial use alike.

How far back does the data go?

To 1981 for most meteorological parameters, giving over four decades of consistent global coverage.

What does a value of -999 mean?

It is NASA's fill value for missing data. Always filter these out before calculating averages, otherwise they will badly distort your results.

How is this different from a weather API?

POWER is built for historical and climatological analysis rather than forecasting. Use Open-Meteo for a forecast; use POWER for long-run solar, temperature and rainfall series.

Tools that pair with this API

NASA POWER is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.