About

How Bay Area Swim works and where the data comes from.

Why this exists

Bay Area Swim is a solo side project. It started because there is no single place to check water-quality status across all Bay Area swim spots at once — bacteria results live in one state dataset, rain forecasts live in another API, and park-district postings live on half a dozen separate pages. This site stitches that data together so a trip to the beach starts with one glance rather than half an hour of tab-hopping.

How it works

Bay Area Swim pulls bacteria sampling data from the California Safe-to-Swim dataset (data.ca.gov) and precipitation data from Open-Meteo. Every morning the pipeline scores each swim spot as safe, caution, unsafe, or unknown using EPA thresholds. Full source attribution and licensing is on the Data Sources page.

Risk scoring

Unsafe

Enterococcus single sample >104 or geomean >35 MPN/100mL; E. coli >235; or 48h rainfall >1.0 in (25.4 mm) at enclosed or storm-drain-adjacent beaches.

Caution

72-hour rainfall exceeds 0.5 in (12.7 mm) — elevated runoff risk even without a posted closure.

Safe

All bacteria and rainfall signals are within limits.

Unknown

No bacteria data in 14+ days, or location is in off-season with no recent sampling.

Refresh cadence

Data updates daily by 7am PT. Bacteria sample cadence varies by agency (weekly to daily). Some agencies — SFDPH and CMaEHS — pause sampling November through March under California's AB411 mandate. Those spots show "unknown" in winter until sampling resumes.

Contact

Questions, corrections, or a missing swim spot? Email [email protected].

Not medical advice.

Water conditions change rapidly. Always check official agency postings at the swim spot before entering the water.

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