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