Developers
Read-only, JSON access to the live snow-cam network. Built for ski resorts, weather sites, dashboards, alerts, and hobbyist tinkerers.
Send your key in the Authorization header (preferred):
Authorization: Bearer isn_live_YOUR_KEY_HEREOr pass it as a query parameter (less secure — avoid in browser code):
?key=isn_live_YOUR_KEY_HEREEach key includes 10,000 requests per calendar month (UTC). The counter resets at the start of each month. Every successful response includes:
X-RateLimit-Remaining — requests left this monthX-RateLimit-Reset — ISO timestamp when the quota resetsOver-quota requests return 429. Need more? Drop us a line.
GET /api/v1/feeds
List active webcam feeds. Supports ?snowingNow=true, ?country=Canada, and ?limit=100 (default 100, max 500).
GET /api/v1/feeds/{idOrSlug}
Fetch a single feed by id or URL slug. Returns the same shape as a list element.
GET /api/v1/snowing-now
Convenience: returns all currently-snowing feeds, sorted by 24-hour snowfall descending.
curl -H "Authorization: Bearer isn_live_YOUR_KEY_HERE" \
https://isitsnowingthere.com/api/v1/feeds?snowingNow=true&limit=25const res = await fetch(
'https://isitsnowingthere.com/api/v1/snowing-now',
{ headers: { Authorization: 'Bearer ' + process.env.ISN_API_KEY } }
);
const data = await res.json();
console.log(`${data.count} cams are snowing right now`);
data.feeds.forEach(f => console.log(f.name, f.snowfall24hInches));GET /api/v1/feeds returns { count, total, feeds: Feed[] }. GET /api/v1/snowing-now returns { count, feeds: Feed[] }.
A single Feed object:
{
"id": "calgary-alberta",
"slug": "calgary-alberta",
"name": "Calgary, Alberta",
"city": "Calgary",
"region": "Alberta",
"country": "Canada",
"latitude": 51.0447,
"longitude": -114.0719,
"sourceType": "city",
"isSnowing": true,
"temperatureF": 28,
"temperatureC": -2.2,
"snowfall24hInches": 1.6,
"conditions": "light snow",
"lastWeatherCheckAt": "2026-05-22T14:02:11.000Z",
"permalink": "https://isitsnowingthere.com/feed/calgary-alberta"
}isSnowing may be true, false, or null (unknown). Use the permalink to deep-link users to a live webcam page.
401 — missing or invalid key403 — key has been revoked404 — feed not found429 — monthly quota exceeded503 — API key service not configured (rare)Please cache responses where you can — webcam status only updates every few minutes. Don't scrape the underlying video streams; use the permalink to send users to the live webcam page instead.