AviationWX.org Public API

Real-time weather, webcam images, and 24-hour history for all airports - programmatically.

63
Airports
v1
API Version

Canonical base URL (v1)

Use this HTTP(S) base URL and /v1 prefix for Public API v1 requests to this deployment.

https://api.aviationwx.org/v1

Example: https://api.aviationwx.org/v1/airports/kspb/weather. Override the documented base with config.public_api.canonical_base_url in airports.json when your deployment’s public origin differs.

πŸš€ Quick Start

Get current weather for an airport:

curl https://api.aviationwx.org/v1/airports/kspb/weather

List AviationWX-operated weathercams (absolute image URLs):

curl https://api.aviationwx.org/v1/weathercam/bulk?operator=aviationwx

Authentication

The API supports two access tiers:

Anonymous

No API key required

  • 50 requests/minute
  • 500 requests/hour
  • 2,000 requests/day

Partner

Requires API key

  • 500 requests/minute
  • 10,000 requests/hour
  • 100,000 requests/day

To use an API key, include it in the X-API-Key header:

curl -H "X-API-Key: your_api_key" https://api.aviationwx.org/v1/airports

Endpoints

GET /v1/airports

List all available airports with basic metadata. Optional operator includes an airport when it has one or more weathercams or weather sources with that operator, including weather-source type defaults when operator is omitted (for example metar is faa). Optional has_webcams=true keeps airports that have weathercams configured (not sliced by operator). Optional has_weather=true keeps airports with weather sources configured (not sliced by operator). When operator is set, webcam_count still counts matching weathercams only.

GET /v1/airports/{id}

Get detailed metadata for a single airport including runways, frequencies, and services.

GET /v1/airports/{id}/weather

Get the fused current weather observation. Not filtered by operator.

GET /v1/airports/{id}/weather/history

Get 24-hour rolling weather history. Supports hours, resolution parameters. Each observation includes density_altitude and pressure_altitude as integers when available, otherwise null.

GET /v1/airports/{id}/webcams

List weathercams for an airport. Optional operator returns only weathercams whose operator equals that slug.

GET /v1/airports/{id}/webcams/{cam}/image

Get the current webcam image. Native original has no fmt (type is read from the file). fmt is for generated size variants (jpg, webp).

GET /v1/airports/{id}/webcams/{cam}/history

Get historical webcam frames. Use ts for a specific frame. Omit fmt for the native original; fmt is for generated size variants.

GET /v1/weather/bulk?airports=a,b,c

Get weather for multiple airports in a single request (max 10 airports).

GET /v1/weathercam/bulk

One-query weathercam catalog. Optional operator matches weathercams only (not weather sources). Maintenance sites are excluded by default; maintenance=true includes them. Nested webcam objects include absolute image_url / images URLs. Origin rebuilds when airports.json changes.

GET /v1/status

Get API health and status information.

GET /v1/operations

Get a scheduler-built production operations snapshot (aggregated health caches and scrubbed log summaries).

Response Format

All endpoints return JSON responses with consistent structure:

{
  "success": true,
  "meta": {
    "api_version": "1",
    "request_time": "2024-12-24T10:00:00Z",
    "attribution": "Weather data from AviationWX.org"
  },
  "weather": { ... }
}

Error Responses

{
  "success": false,
  "error": {
    "code": "RATE_LIMITED",
    "message": "Rate limit exceeded. Try again in 45 seconds.",
    "retry_after": 45
  }
}

Rate Limit Headers

Every response includes rate limit information:

Header Description
X-RateLimit-Limit Requests allowed per minute
X-RateLimit-Remaining Requests remaining in current window
X-RateLimit-Reset Unix timestamp when window resets

Units

Field Unit
Temperature Celsius (with Fahrenheit also provided)
Wind Speed Knots
Pressure Inches of Mercury (inHg)
Visibility Statute Miles
Ceiling Feet AGL
Elevation Feet MSL

Attribution

Required: All applications using this API must display attribution:

Weather data from AviationWX.org

Terms of Use

Resources