---
title: "Find webcams"
method: GET
path: "/webcams"
tags: ["Webcams"]
---

# Find webcams

`GET /webcams`

## Request

- Base URL: `https://status.live/api/v1`
- URL: `https://status.live/api/v1/webcams`
- Auth: none required

By place (`near` + `radius_km`, nearest first), region, area, tag or status. `status=working` gives only cameras that worked at their last check.

## Query parameters

- `near` string
- `radius_km` number
- `status` 'working' | 'frozen' | 'offline' | 'unverified' | 'unchecked'
- `tag` string
- `country` string
- `region` string
- `area` string
- `source` string
- `limit` integer

## Response `200`

OK

- object
  - `count` integer
  - `webcams` CatalogWebcam[]
    - `as_of` string, date-time, nullable, required: When it was read from the source (UTC)
    - `age_s` integer, nullable, required: Its age in seconds
    - `stale` boolean, required: Older than about three refreshes of its source
    - `id` string, required
    - `name` string, required
    - `kind` 'still' | 'hls' | 'embed' | 'page', required: still: an image URL; hls: a live stream; embed: a player page; page: a page with the camera
    - `status` 'working' | 'frozen' | 'offline' | 'unverified' | 'unchecked', required
    - `last_ok` string, date-time, nullable
    - `last_changed` string, date-time, nullable: When its image last changed between checks
    - `reason` string: Why it is not working, e.g. "placeholder card"
    - `location` Location, nullable, required
      - `lat` number, required
      - `lon` number, required
    - `km` number: From `near`
    - `country` string, nullable
    - `region` string, nullable
    - `area` string, nullable
    - `route` string, nullable
    - `direction` string, nullable
    - `tags` string[]
    - `image_url` string, uri, nullable
    - `hls_url` string, uri, nullable
    - `player_url` string, uri, nullable
    - `page_url` string, uri, nullable
    - `near` object
      - `ski_resort` object
        - `id` string
        - `km` number, nullable
        - `api_url` string, uri
    - `license` string, required
    - `attribution` string, required: Show this with the image
    - `url` string, uri, nullable
    - `api_url` string, uri
  - `meta` Meta
    - `generated_at` string, date-time, required
    - `api_version` 'v1', required
    - `terms` string, uri, required
    - `attribution` string, required: Show this where you show the data
    - `sources` Source[], required
      - `name` string, required
      - `url` string, uri
      - `license` string

## Other responses

- `400`: Bad parameter
- `429`: Rate limited: 120 requests a minute per IP. Wait `Retry-After` seconds.

---

[API](https://skmtc.dev/status-live/apis/status-live-api.md) · [All operations](https://skmtc.dev/status-live/apis/status-live-api/llms.txt) · [OpenAPI document](https://skmtc.dev/status-live/apis/status-live-api/revisions/5fe517d19575?raw)
