Data Sources

Every figure on this site comes from a public source. Attribution is required by the open-data licenses that make these datasets free to use.

Statewide aggregator for ocean and bay beach bacteria sampling — Enterococcus, E. coli, fecal coliform, and total coliform results submitted by county health departments and the State Water Board. Drives the bacteria-based risk signal on most coastal beach pages.

San Francisco DPH's beach water-quality results, refreshed weekly during the bathing season. Covers Aquatic Park, Crissy Field, Baker Beach, China Beach, and Ocean Beach sampling stations within the city — the only feed that publishes SF beach data on a same-week cadence.

Hand-curated list of EBRPD-managed freshwater swim lakes (Lake Anza, Lake Temescal, Del Valle, Shadow Cliffs, Don Castro, Quarry Lakes, Contra Loma). EBRPD posts seasonal advisories on each park page; an automated scraper of those advisories is planned but not yet wired up.

Berkeley's PDF report covering Aquatic Park's three lagoons (North, Middle, South). Parsed weekly with pdfplumber; provides the only structured Enterococcus history for the East Bay's main enclosed-water swim spot.

Hourly water-temperature observations from NOAA's Center for Operational Oceanographic Products and Services tide stations around the bay (Alameda, Richmond, Point Reyes, etc.). Currently shown only in the dashboard view; not part of the safe/caution/unsafe risk score.

National Data Buoy Center moored buoys outside the Golden Gate and along the coast. Provides wave height, period, and offshore sea-surface temperature. Used as a contextual / surf-condition signal in the dashboard; not part of the bacteria risk score.

Free weather API providing hourly precipitation (past 7 days plus 7-day forecast) batched per-location. Powers the rainfall advisory: 48h totals above 1.0 in or 72h totals above 0.5 in trigger caution/unsafe flags on every beach page.

Source for the bacteria thresholds used in the risk-scoring model — Enterococcus single sample 104 MPN/100mL and 30-day geomean 35; E. coli single sample 235 and geomean 100; fecal coliform single sample 400.

What's not in the risk score

Information provided for general guidance only. Conditions change rapidly. Swim at your own risk. Not medical advice.