Stations & Networks

Returns metadata for the stations and networks your organization is entitled to. Use it to find the station id values that Time Series and Nearest Time need.

Request format

GET https://api.skyfora.com/api/v1/stations
GET https://api.skyfora.com/api/v1/stations/{station_id}
Header Required Value
X-API-Key Yes Your organization API key
curl "https://api.skyfora.com/api/v1/stations?country_code=FI&page_size=50" \
  -H "X-API-Key: your-api-key-here"
import requests

resp = requests.get(
    "https://api.skyfora.com/api/v1/stations",
    headers={"X-API-Key": "your-api-key-here"},
    params={"country_code": "FI", "page_size": 50},
)
resp.raise_for_status()
stations = resp.json()["stations"]

Station selection parameters

All parameters are optional query parameters on GET /stations.

Parameter Type Description
country_code string, repeatable ISO 3166-1 alpha-2 code. Repeat to match any of several countries. Example: country_code=FI&country_code=SE
network_id string, repeatable Network id. Repeat to match any of several networks. Get ids from GET /networks. Example: network_id=...
search string, max 128 Case-insensitive match on display_name and location_alias. Example: search=helsinki
bbox 4 numbers Bounding box in this order: [latitude_min, longitude_min, latitude_max, longitude_max]. Example: bbox=[60.0,24.0,61.0,25.5]
height_vertical_reference string Vertical reference for height: WGS84_ELLIPSOID (default) or EGM2008. Example: height_vertical_reference=EGM2008

Sorting and pagination

Parameter Type Default Description
sort_by string name One of name, network, updated_at, data_last_updated.
sort_order string asc asc or desc.
page integer 1 Page number, starts at 1.
page_size integer 20 Items per page, 1 to 200.

Response format

{
  "stations": [
    {
      "id": "4f9b1c2e-6a70-4a3e-9a4f-2d8f5b7c0e11",
      "display_name": "BTS001",
      "source_type": "cors",
      "historic_data_from": "2025-11-05T00:00:00Z",
      "resolution_seconds": 30,
      "location_alias": "Helsinki",
      "country_code": "FI",
      "latitude": 60.1756,
      "longitude": 24.9458,
      "height": 10.0,
      "height_vertical_reference": "WGS84_ELLIPSOID",
      "data_last_updated": "2026-03-09T12:00:00Z",
      "network_id": "0b6c...",
      "network_code": "...",
      "created_at": "2025-11-01T00:00:00Z",
      "updated_at": "2026-03-01T00:00:00Z"
    }
  ],
  "pagination": { "page": 1, "page_size": 20, "total_items": 1, "total_pages": 1 }
}

GET /stations/{station_id} returns one station object with the same fields, and no pagination.

Field Description
id Station id (UUID). Use it in measurement queries.
display_name Station name, unique across all stations.
mountpoint Present only when your organization owns the station's network.
source_type stream_gnss (Skyfora StreamGNSS receiver), telco (telecom tower receiver), or cors (continuously operating reference station).
historic_data_from Time of the earliest measurement. Can be null.
resolution_seconds Observation epoch interval in seconds. 0 means the native receiver rate.
location_alias, country_code Place name and country.
latitude, longitude Obfuscated position. null when your organization is not entitled to location.
height, height_vertical_reference Height in metres, and its vertical reference.
data_last_updated Time of the latest measurement. Can be null. See Nearest Time.
network_id, network_code The station's network.

Networks

GET /networks returns the networks your organization is entitled to. Use the id values in the network_id filter. It accepts page and page_size (1 to 100).

curl https://api.skyfora.com/api/v1/networks \
  -H "X-API-Key: your-api-key-here"
Field Description
id Network id
code, name Network code and name
is_owner true when your organization owns the network