Fog-Bank API and developer access

Open data for FogCam, running at San Francisco State University since September 30, 1994 · Fog-Bank

Fog-Bank is an open public cultural archive. There are no API keys or registration required. Endpoints are protected by sane edge rate limits (~12 requests per second for reads and frame fetches, burstable to 120 requests) to protect server capacity while keeping the entire collection open. Every endpoint sends Access-Control-Allow-Origin: * so you can query it from client-side JavaScript, scripts, or terminal utilities.

Endpoints

GET /frame/live.jpgThe newest camera frame as a standard JPEG image. Updates every 20 to 60 seconds as the camera publishes.
GET /api/statusJSON status containing the latest captured frame timestamp, camera poller health, and total frame counts.
GET /api/figuresAggregated public figures, including total frames held, days in archive, audit verification counts, and measured cadences.
GET /api/daysArray of all archived dates (YYYY-MM-DD) with frame counts, completeness status, and weather summaries.
GET /api/frames?day=YYYY-MM-DDList of every frame captured on a specific day, with unix timestamps and sha-256 checksums.
GET /api/forensics?day=YYYY-MM-DDCalculated measurements for that date: measured first light versus astronomical sunrise, wildfire smoke index, and night campus motion.
GET /api/gaps?day=YYYY-MM-DDAudit log of every capture gap for that date, classified by fault (FogCam outage versus archivist capture drop).
GET /feed.xmlRSS 2.0 feed with enclosures for newly archived days and daily timelapses.
GET /embed/liveEmbeddable HTML iframe of the live camera view. Supports ?t=modern, ?t=win95, ?t=win98, or ?t=winxp.

Examples

Download the latest camera frame:

curl -s -O https://fog-bank.org/frame/live.jpg

Fetch the list of all archived days in Python:

import urllib.request, json
url = "https://fog-bank.org/api/days"
days = json.loads(urllib.request.urlopen(url).read())
print(f"Total days archived: {len(days)}")

Embed the live camera on your own website or blog:

<iframe src="https://fog-bank.org/embed/live" width="400" height="300" frameborder="0" loading="lazy"></iframe>

Terminal use

If you request the homepage using curl from a terminal, Fog-Bank returns a plaintext status summary and ASCII art:

curl https://fog-bank.org/

To view the live webcam feed directly inside your terminal, pipe the live frame into a terminal graphics viewer like chafa or timg:

curl -s https://fog-bank.org/frame/live.jpg | chafa -

Licensing and attribution

Archive metadata and code are freely accessible under CC BY-SA 4.0. The photographs are historical records of FogCam at San Francisco State University. If you build a project, article, or visualization with this data, please credit FogCam, San Francisco State University, archived by Fog-Bank (fog-bank.org).

Explore: FogCam turns 32 · how the capture system works · the forensic record · press kit