Developer Resources REST API v1.0

Weathertower REST API

Access live observations, raw sensor metrics, and historical archives from the Carleton Weather Tower. Query over 550 parameters with custom date ranges, sampling intervals, and export data in JSON, CSV, Plain Text, or Excel (.xlsx).

Available Endpoints

HTTP GET endpoints serving real-time and historical station data

Base URL: http://weathertower.physics.carleton.edu
GET /api/weather/
json csv plaintext xlsx

Historical & Tabular Range Query: Query historical weather data across customizable date/time ranges with selectable fields and sampling step intervals (e.g. every 5 or 10 minutes).

/api/weather/?fields=ambient_temp_LM335&fields=RH_Precon&datetimes=06/26/2026 10:00 AM - 06/26/2026 10:59 AM&format=json Test Link →
GET /api/all_current/
json csv plaintext xlsx

Full Snapshot of All Current Fields: Fetches all 550+ active sensor variables for the latest timestamp or a designated historical point in time. Includes range validation status.

/api/all_current/?format=json Test Link →
GET /api/additional_data/
json csv plaintext xlsx

Derived Weather & Computed Metrics: Provides secondary calculations including precipitation rates, dew points, wind chill, heat index, and soil temperature gradients.

/api/additional_data/?format=json Test Link →
GET /api/instrument_data/
json csv plaintext xlsx

Raw Instrument Outputs & Hardware Metadata: Returns direct sensor pin readings, calibration mappings, and metadata for specific instruments on the tower.

/api/instrument_data/?format=json Test Link →

Query Parameters

URL query parameters to filter, format, and constrain API output

fields Array / Multi-value (Optional)

Specifies exact database column code names to retrieve. Pass multiple times for multiple fields.

Example: ?fields=ambient_temp_LM335&fields=RH_Precon&fields=MetOne_wind_speed_average

→ See All Current Fields or Instrument Data for full list of available field codes.

datetimes String (Optional for /api/weather/)

Date range string formatted as: MM/DD/YYYY hh:mm AM/PM - MM/DD/YYYY hh:mm AM/PM. Defaults to the most recent 1-hour window if omitted.

Example: ?datetimes=06/26/2026 10:00 AM - 06/26/2026 10:59 AM

interval Integer (Optional)

Sampling step spacing in minutes between returned data rows. For example, 10 returns 1 row every 10 minutes.

Example: ?interval=10

form_datetime ISO Datetime String (Optional for snapshot endpoints)

Target point in time for single-datetime snapshot metrics (all_current, additional_data, instrument_data). Format: YYYY-MM-DDTHH:MM. Defaults to current minute if omitted.

Example: ?form_datetime=2026-06-26T11:41

format String (Default: json)

Output serialization format. Supported options: json, csv, plaintext (tab-delimited), xlsx (Excel spreadsheet download).

Supported Output Formats

Select format using the format query parameter

JSON Format format=json

Default response structure. Ideal for web apps, JavaScript frontends, Python scripts, and automated integrations.

Content-Type: application/json
CSV Export format=csv

Comma-Separated Values file with header row. Triggers direct file download suitable for Excel, Google Sheets, or R.

Content-Type: text/csv
Plain Text (TSV) format=plaintext

Tab-separated text output for easy shell piping or viewing directly in the browser or terminal using cURL.

Content-Type: text/plain; charset=utf-8
Excel Workbook format=xlsx

Native Microsoft Excel (.xlsx) binary spreadsheet with formatted headers and column widths.

Content-Type: application/vnd.openxmlformats-officedocument...

Example Request URLs

Ready-to-use sample requests you can click or copy directly

1. Query 1-hour temperature and humidity range in JSON format:

/api/weather/?fields=ambient_temp_LM335&fields=RH_Precon&format=json

3. Get all current fields in Plain Text for snapshot at 10:49 AM:

/api/all_current/?form_datetime=2026-06-26T10:49&format=plaintext

4. Download Excel workbook of raw instrument readings:

/api/instrument_data/?format=xlsx

Downloading Data Without Programming

Simple guide to export data directly to Excel or CSV without writing code

  1. 1

    Open the sample URL in your browser

    Click or copy the following URL into your address bar to download a CSV file of temperature and humidity:

    /api/weather/?fields=ambient_temp_LM335&fields=RH_Precon&datetimes=06/26/2026 10:00 AM - 06/26/2026 10:59 AM&format=csv
  2. 2

    Customize the date range

    Edit the datetimes parameter in the URL bar to your target timeframe using: MM/DD/YYYY hh:mm AM/PM - MM/DD/YYYY hh:mm AM/PM.

  3. 3

    Choose Excel vs. CSV format

    Change format=csv to format=xlsx for a native Excel workbook file.

  4. 4

    Add extra weather fields

    Append additional &fields=FIELD_NAME parameters. See All Current Fields for available field codes.

code

API Code Examples & SDK Tutorials

Looking for copy-paste integration code? Explore full tutorials and scripts in Python (Pandas & Matplotlib), JavaScript (Fetch & React Hooks), cURL/Bash, R, PowerShell, and C on our dedicated Code Examples page.

View Full Code Examples