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.
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 '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'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);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()){
"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
| Parameter | Type | Required | Description |
|---|---|---|---|
parameters | string | Required | Comma-separated variable codes, e.g. T2M, ALLSKY_SFC_SW_DWN. T2M |
community | string | Required | RE (renewable energy), AG (agriculture) or SB (buildings). RE |
latitude / longitude | float | Required | Point coordinates. 31.52 |
start / end | string | Required | Date range as YYYYMMDD. 20260101 |
format | string | Optional | JSON, 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
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
Unit Converter
Convert between units of length, weight, temperature, area, volume, speed, time and data storage instantly, with a swap button and common conversion tables.
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.