API Documentation
Public REST API — Schumann Resonance, Kp index, solar activity. No auth, no rate limit, JSON only.
Overview
- All endpoints accept GET only
- Responses: Content-Type: application/json, pretty-printed
- No authentication, no API key, no rate limit (behind Cloudflare)
- CORS: Access-Control-Allow-Origin: *
- Stations: 6 total — tomsk (primary, Russia), etna (Italy), cumiana (Italy), bgs (UK), gci001 (USA), gci004 (Canada)
- Cache: responses cached by Cloudflare ~1h edge
Discovery: /.well-known/api-catalog (RFC 9727 linkset+json) — lists all endpoints for automated agent discovery.
Endpoints
-
GET /api/current— Current status -
GET /api/history— Daily averages -
GET /api/heatmap— Hour-of-day heatmap -
GET /api/correlation— Score vs Kp correlation -
GET /api/top-events— Top events -
GET /api/pipeline-stats— Pipeline metrics -
GET /api/station-analyses— Per-station latest
Current status
GET /api/current
Live Earth Core reading: Schumann status (calm/elevated/active/storm), composite score 0-100 across monitoring stations, latest AI interpretation, Kp index, moon phase, solar wind snapshot.
Query parameters
| Name | Values | Description |
|---|---|---|
lang |
en, pl, de, es, pt, it, fr, ru | Language for summary and forecast text |
lat |
float (-90..90) | Optional: user latitude for IDW-weighted regional scoring |
lon |
float (-180..180) | Optional: user longitude (required with lat) |
Response fields
status— string — calm | elevated | active | stormscore— int — composite 0-100stations— int — monitoring stations contributing to scoreregional— bool — true if lat/lon providedsummary— string — AI-written status summary in requested langforecast— string — AI forecast (6-12h horizon)updated_at— ISO 8601 timestamp of latest analysiskp_value— float — NOAA Kp index (0-9)kp_text— string — qualitative Kp statetrend— string — up | down | stablemoon— object — { illumination: 0..1, phase: string }solar— object — { wind_speed, bz, flares, ... }
Example
curl -s 'https://sungeo.net/api/current?lang=pl'
Daily averages
GET /api/history
Historical daily score averages across all stations, equal-weighted. Used for trend analysis and long-horizon context.
Query parameters
| Name | Values | Description |
|---|---|---|
days |
1..90 (default 7) | Number of days back from today |
Response fields
date— YYYY-MM-DDavg_score— int 0-100min_score— intmax_score— intcount— int — readings aggregatedstatus— derived status level
Example
curl -s 'https://sungeo.net/api/history?days=7'
Hour-of-day heatmap
GET /api/heatmap
Score averaged per (date, hour) cell across stations. For visualising diurnal/storm patterns.
Query parameters
| Name | Values | Description |
|---|---|---|
days |
1..30 (default 7) | Days back |
Response fields
date— YYYY-MM-DDhour— int 0-23 UTCavg_score— intstatus— level
Example
curl -s 'https://sungeo.net/api/heatmap?days=7'
Score vs Kp correlation
GET /api/correlation
Daily (avg_score, avg_kp) pairs for regression/visualisation. Underpins the "space weather drives Earth resonance" story.
Query parameters
| Name | Values | Description |
|---|---|---|
days |
1..90 (default 30) | Days back |
Response fields
date— YYYY-MM-DDavg_score— intavg_kp— float or null
Example
curl -s 'https://sungeo.net/api/correlation?days=30'
Top events
GET /api/top-events
Most notable Schumann events (highest scores first), with AI summary and extracted notable_events metadata.
Query parameters
| Name | Values | Description |
|---|---|---|
limit |
1..50 (default 20) | Max events returned |
Response fields
id— int — analysis row idstatus— levelscore— intdate— ISO timestampsummary— string (EN)notable_events— string or null — extracted event descriptor
Example
curl -s 'https://sungeo.net/api/top-events?limit=20'
Pipeline metrics
GET /api/pipeline-stats
Operational visibility into the scraper + AI analysis pipeline: per-node call counts, success/error counts, latency, and status distribution.
Query parameters
| Name | Values | Description |
|---|---|---|
days |
1..90 (default 30) | Days back |
Response fields
nodes— object — per-node operational stats (calls, success, errors, avg_ms)status_distribution— array — status frequency over window
Example
curl -s 'https://sungeo.net/api/pipeline-stats?days=30'
Per-station latest
GET /api/station-analyses
Latest AI analysis per non-primary station (ETNA, Cumiana, BGS, GCI001, GCI004). For multi-source comparison.
No parameters.
Response fields
source— station key — object map.status— level.score— int.summary— string (EN).notable_events— string or null.updated_at— ISO timestamp
Example
curl -s 'https://sungeo.net/api/station-analyses'
Agent-oriented content
Blog articles are available as raw Markdown by appending
.md to the article URL. This bypasses layout chrome and is easier for LLMs to parse.
The .md variant is cached separately at the edge — use it for reliable markdown retrieval.
curl https://sungeo.net/blog/schumann-resonance-meditation.md
Discovery endpoints
/.well-known/api-catalog— RFC 9727 linkset+json/llms.txt— site map for LLMs (plain text)/sitemap.xml— standard XML sitemap/robots.txt— includes Content-Signal directive for AI usage preferences- Every response carries a
Link:header (RFC 8288) pointing at the above
Magnetosuplementacja
wypróbuj MIM-2
Pulsacyjne pole magnetyczne może wspierać regenerację i samopoczucie
Poznaj więcej