Data and API
Viewing the portal is open to everyone. The series and forecasts can also be downloaded: as CSV from each product, from a HAPI server, or in the forecast exchange format. A free registration gives you an API key; without a key you can download short, recent stretches.
How to access
- HAPI, the heliophysics community's standard for time series: https://helio.fisica.usach.cl/clima-espacial/hapi. It works with any HAPI client (details).
- CSV: the “CSV” button on each product downloads the last 24 h, 7 or 30 days, or a range of your choice.
- Forecasts in the network's exchange format, as JSON or CSV (list below).
Send the key in the X-API-Key header or, if your client can't send headers (HAPI clients), in the URL's api_key parameter. Treat it like a password.
Without a key
Without a key you can ask for up to 24 h of data ending within the last 7 days, or a forecast's latest issue, up to 30 times per hour from one connection. For more history, register.
Limits per key
- 60 requests per minute (approximate).
- 5,000 requests and 2,000,000 rows per UTC day.
- Per request: up to 31 days of a series at 5 minutes or faster, 366 days of a slower one, and 200,000 rows. For more, split the range.
- Over a limit, the answer is HTTP 429 with
Retry-After.
HAPI server
HAPI (Heliophysics Application Programmer’s Interface) is the heliophysics community’s common specification for requesting time series over HTTP, so the same client works with any server.
- Server URL
https://helio.fisica.usach.cl/clima-espacial/hapi- Endpoints
about·capabilities·catalog·info·data- Version
- HAPI 3.3, specification 3.3.1
- Formats
- CSV, JSON
The datasets are the series in the table below: each identifier links to its HAPI description (info). Third-party series are marked as such.
about, capabilities, catalog and info need no key. data needs an API key (header X-API-Key or parameter api_key), except spans of up to 24 h ending within the last 7 days (see “Without a key”).
Available series
| Identifier (HAPI) | Series | Cadence | Licence |
|---|---|---|---|
noaa.goes.electron_fluence |
Daily >2 MeV electron fluence (GOES) third-party: NOAA SWPC |
1 day (complete UTC days) | Public domain (NOAA) |
noaa.goes.electrons |
Electron flux (GOES) third-party: NOAA SWPC |
5 minutes | Public domain (NOAA) |
noaa.goes.protons |
Proton flux (GOES) third-party: NOAA SWPC |
5 minutes | Public domain (NOAA) |
noaa.goes.xray |
X-ray flux (GOES) third-party: NOAA SWPC |
1 minute | Public domain (NOAA) |
noaa.kp |
Planetary Kp index third-party: NOAA SWPC |
3 hours | Public domain (NOAA) |
noaa.rtsw.mag |
Interplanetary magnetic field (L1) third-party: NOAA SWPC |
1 minute | Public domain (NOAA) |
noaa.rtsw.wind |
Solar wind (L1) third-party: NOAA SWPC |
1 minute | Public domain (NOAA) |
Third-party series: we offer them for convenience and may stop doing so. For operational real-time use, get them directly from the official provider (link on each row).
Forecasts
- Kp persistence forecast (baseline) (CC BY 4.0):
JSON · CSV
— the latest issue; with a key,
?issued_since=…&issued_until=…(up to 31 days)
Series we show but don't redistribute
Their licence doesn't let us pass them on. Get them from the provider:
- Auroral indices AE/AL/AU (Kyoto) (Non-commercial use (WDC Kyoto)): WDC Kyoto
- Dst index (Kyoto) (Non-commercial use; quicklook data (WDC Kyoto)): WDC Kyoto
Examples
Replace the example key with yours.
CSV with curl
curl -H "X-API-Key: YOUR_KEY" -o noaa.rtsw.mag.csv "https://helio.fisica.usach.cl/clima-espacial/api/v1/datos/noaa.rtsw.mag.csv?start=2026-10-15T00:00:00Z&stop=2026-10-22T00:00:00Z"
HAPI (direct URL)
https://helio.fisica.usach.cl/clima-espacial/hapi/data?dataset=noaa.rtsw.mag&start=2026-10-15T00:00:00Z&stop=2026-10-22T00:00:00Z&api_key=YOUR_KEY
Python (requests)
import io
import pandas as pd
import requests
r = requests.get("https://helio.fisica.usach.cl/clima-espacial/hapi/data",
params={"dataset": "noaa.rtsw.mag", "start": "2026-10-15T00:00:00Z", "stop": "2026-10-22T00:00:00Z"},
headers={"X-API-Key": "YOUR_KEY"}, timeout=60)
r.raise_for_status()
df = pd.read_csv(io.StringIO(r.text), header=None)
Times are UTC (ISO 8601) and mark the start of each interval. A missing value is -1.0E31.
Terms of use
- Each series keeps its licence: USACH products are CC BY 4.0 (cite the source), NOAA data are in the public domain. Credit the original provider too where it applies.
- The data are provided as is, without warranty. They are not official warnings: for alerts, check the official services.
- Keys are personal, and we may revoke one used to overload the service or shared publicly.
Registration
Privacy notice
What we store: your name, email, institution, sector and the intended use you describe; a fingerprint (hash) of your API key, never the key itself; and, for each key, how many requests and rows it downloaded each day. Why: to give you access to the data, and to compile usage statistics by sector for the reports to the project's funders. Who sees it: the project team; it is never sold or shared with third parties, and the statistics we report contain no names or emails. How long we keep it: while the registration is active. How to ask for your data to be deleted: write to us. victor.pinto@usach.cl.