Skip to main content

API Documentation

The HICS data API is fully public and requires no authentication for read access. All readings include an automatic quality flag.

The HICS API is public and authentication-free. No API key required. Rate limit: 120 requests/minute. All responses are JSON. Timestamps are UTC ISO 8601. All read-only endpoints return Access-Control-Allow-Origin: * — safe to call from browser JavaScript on any domain.

Base URL: https://himalayansciences.org/api/v1/
GET /api/v1/stations/

List all active and maintenance stations with status and latest reading summary. Add ?output=geojson to receive a GeoJSON FeatureCollection (RFC 7946) suitable for QGIS, Leaflet, and PANGAEA submission.

Example
curl https://himalayansciences.org/api/v1/stations/ curl "https://himalayansciences.org/api/v1/stations/?output=geojson"
Response fields
Field Type Description
station_idstringUnique station identifier
namestringHuman-readable station name
latitude / longitudefloatDecimal degrees
altitude_mfloatMetres above sea level
statusstringactive / maintenance
last_seendatetimeLast telemetry timestamp (UTC)
latest.temperature_cfloatMost recent temperature (°C)
GET /api/v1/data/compare/?stations=IESH-KMC-001,DLP-001

Aligned timeseries for multiple stations in a single request — designed for altitude-gradient comparison charts and multi-station analysis without N separate API calls.

curl "https://himalayansciences.org/api/v1/data/compare/?stations=IESH-KMC-001,DLP-001&param=temperature_c&hours=24"
Query parameters
Param Values Default
stationscomma-separated station IDs (max 10)required
paramtemperature_c · humidity_rh · pressure_hpa · pm2_5 · pm10 · co2_ppmtemperature_c
hours1–72024
qualityokall flags
GET /api/v1/data/latest/?station=IESH-KMC-001

The single most-recent reading for a station, including all sensor values and the auto-assigned quality flag.

Example
curl "https://himalayansciences.org/api/v1/data/latest/?station=IESH-KMC-001"
Additional response fields

quality_flagok | suspect | invalid. Automatically assigned on ingestion. suspect = value outside physical plausibility bounds. invalid = manually flagged by an operator.

GET /api/v1/data/historical/?station=IESH-KMC-001&hours=24

Time series for the requested station. Returns an array of readings ordered by timestamp ascending. Maximum window: 720 hours (30 days).

curl "https://himalayansciences.org/api/v1/data/historical/?station=IESH-KMC-001&hours=168"
Parameters
Param Default Description
stationIESH-KMC-001Station ID
hours24Lookback window in hours. Clamped to [1, 720].
GET /api/v1/data/download/?station=IESH-KMC-001

Full station history as a streaming CSV download. Includes attribution comment header with CC BY 4.0 licence and citation template. Multi-station: use ?stations=IESH-KMC-001,DLP-001 to download multiple stations as a single CSV (adds station_id as first column).

curl -OJ "https://himalayansciences.org/api/v1/data/download/?station=IESH-KMC-001"
Multi-station
curl -OJ "https://himalayansciences.org/api/v1/data/download/?stations=IESH-KMC-001,DLP-001&quality=ok"
CSV columns

timestamp_utc, temperature_c, humidity_rh, pressure_hpa, pm2_5_ugm3, pm10_ugm3, co2_ppm, quality_flag

Optional filter parameters
Param Example Description
from_date2026-01-01Start date, inclusive. ISO format YYYY-MM-DD.
to_date2026-06-30End date, inclusive. ISO format YYYY-MM-DD.
qualityokSet to ok to exclude suspect and invalid readings.

Example: ?station=IESH-KMC-001&from_date=2026-01-01&to_date=2026-03-31&quality=ok

GET /api/v1/stats/

Platform-level aggregate statistics: station counts, total readings, quality percentage, and data date range. Suitable for status pages and external dashboards.

curl https://himalayansciences.org/api/v1/stats/
Response fields
Field Type Description
stations.totalintTotal station count (all statuses)
stations.activeintStations with status=active
readings.totalintAll readings ever recorded
readings.okintReadings with quality_flag=ok
readings.ok_pctfloat|nullPercentage of ok readings. null if no readings yet.
readings.earliestdatetimeTimestamp of first ever reading (UTC)
readings.latestdatetimeTimestamp of most recent reading (UTC)
generated_atdatetimeResponse generation timestamp (UTC)
GET /api/v1/data/aggregate/?station=IESH-KMC-001&period=month

Statistical aggregates (mean/min/max) grouped by time period. Designed for research publications, PANGAEA submissions, and long-term trend analysis. Supports streaming CSV output for direct import into analysis tools.

Example — monthly means
curl "https://himalayansciences.org/api/v1/data/aggregate/?station=IESH-KMC-001&period=month&quality=ok"
Download as CSV
curl -OJ "https://himalayansciences.org/api/v1/data/aggregate/?station=IESH-KMC-001&period=day&output=csv"
Query parameters
Param Values Default
stationstation_idIESH-KMC-001
periodhour · day · week · monthday
from_dateYYYY-MM-DDall
to_dateYYYY-MM-DDall
qualityokall flags
outputcsvjson
GET /api/v1/health/

Station health check endpoint. Returns ok: true plus station status and most-recent-reading age for each station. Suitable for uptime monitors. Human-readable service status page: /status/

curl https://himalayansciences.org/api/v1/health/
GET /api/v1/notes/

Paginated JSON list of all published lab notes (title, type, date, location, GPS coordinates, summary, tags, linked programmes). Filters: ?type= (field/build/observation/analysis/experiment), ?programme=<slug>, ?from_date=YYYY-MM-DD. 20 per page.

curl https://himalayansciences.org/api/v1/notes/ curl "https://himalayansciences.org/api/v1/notes/?type=field"
GET /api/v1/publications/

Paginated JSON list of all HICS publications (title, authors, journal, year, pub_type, doi, open_access_url, abstract, plain_language_summary, linked HICS team members with ORCID). Filters: ?pub_type=peer-reviewed|preprint|report|data-paper, ?year=. 20 per page.

curl https://himalayansciences.org/api/v1/publications/ curl "https://himalayansciences.org/api/v1/publications/?pub_type=peer-reviewed"
RIS /publications/<id>/cite.ris

RIS citation file download for citation managers (Zotero, Mendeley, RefWorks, EndNote). Returns application/x-research-info-systems with correct TY type (JOUR/RPRT/DATA) per publication type.

curl -O https://himalayansciences.org/publications/1/cite.ris
WIDGET /embed/station/IESH-KMC-001/

Self-contained iframe widget for embedding live station data on any website. Renders a Chart.js chart that auto-refreshes every 60 seconds. No JavaScript dependencies required on the host page.

<iframe src="https://himalayansciences.org/embed/station/IESH-KMC-001/?param=temperature_c&theme=dark" width="480" height="220" style="border:none;border-radius:6px;" title="IESH-KMC-001 live temperature" loading="lazy"></iframe>
Query parameters
Param Values Default
paramtemperature_c · humidity_rh · pressure_hpa · pm2_5 · co2_ppmtemperature_c
themedark · lightdark
hours1–16824
GET /api/v1/activity/

Unified chronological feed of lab notes and publications, newest first. Use ?limit=N (max 50) to control the number of items returned.

curl "https://himalayansciences.org/api/v1/activity/?limit=10"
GET /api/v1/search/?q=<query>

Full-text search across all HICS content — research programmes, lab notes, team, instruments, and publications. Returns at most 20 results with type, title, URL, and summary.

curl "https://himalayansciences.org/api/v1/search/?q=cosmic+ray"
GET /api/v1/changelog/

Machine-readable API version history — lists changes made in each release. Useful for client developers tracking breaking and additive changes.

curl https://himalayansciences.org/api/v1/changelog/

Every reading carries a quality_flag field assigned automatically at ingestion time.

Flag Meaning
ok All values within physical plausibility bounds.
suspect One or more values outside physical bounds. Bounds: temp −50..60°C, RH 0..100%, pressure 300..1100 hPa, PM2.5 0..1000 µg/m³.
invalid Manually flagged as invalid by a station operator. Exclude from analysis.