How long each area waits for a fire engine or an ambulance, from the call to the first unit on scene, and how often the city meets its own EMS goals.
Loading…
Deviation from the citywide median by call group, and call burden per resident. Data through Sep 2026 (complete months) · source updated Oct 12, 2026.
In Financial District/South Beach, a first responder reached 44% of medical emergencies within 4.5 minutes of dispatch in the twelve months to Sep 2026, against the city's 90% goal and 60% citywide. From the call to the first unit on scene, potentially life-threatening calls there had a median of 7.5 minutes, +7% against the citywide median, on a call burden of 187.9 per 1,000 residents, 2.0× the citywide rate (rank 4 of 38 neighborhoods). The goal is measured the city's way, from dispatch. The median runs from the call, the same measure used for police. Burden is incidents per resident (2020–2024 survey estimate).
| Goal | This area | City's goal | Citywide | Responses | Reading |
|---|---|---|---|---|---|
| BLS first responder | 44% within 4.5 min of dispatch | 90% | 60% | 3,830 | Below the goal |
| Ambulance, life-threatening (Code 3) | 84% within 10 min of dispatch | 90% | 86% | 3,441 | Within 10 points of the goal |
| Ambulance, not life-threatening (Code 2) | 82% within 20 min of dispatch | 90% | 88% | 2,779 | Within 10 points of the goal |
| Call group | Median | vs citywide | Unit reached | Incidents | Per 1,000 residents | vs citywide rate |
|---|---|---|---|---|---|---|
| Potentially life-threatening | 7.5 min | +7.1% (citywide 7.0) | 97.6% | 4,600 | 187.9 | 2.0× |
| Non-life-threatening | 17.1 min | +15.0% (citywide 14.9) | 93.9% | 3,166 | 129.3 | 2.1× |
| Alarm | 6.7 min | +5.6% (citywide 6.4) | 97.1% | 2,065 | 84.3 | 2.0× |
| Fire | 6.9 min | +5.9% (citywide 6.5) | 90.5% | 356 | 14.5 | 1.8× |
| # | Neighborhood | Past year | 2016 | Change | Responses |
|---|---|---|---|---|---|
| 1 | Visitacion Valley | 20% | 34% | -14 | 752 |
| 2 | Lakeshore | 29% | 51% | -22 | 999 |
| 3 | Excelsior | 34% | 66% | -32 | 1,445 |
| 4 | Presidio | 35% | 40% | -5 | 351 |
| 5 | Bayview Hunters Point | 36% | 61% | -25 | 3,477 |
| 6 | Twin Peaks | 42% | 58% | -16 | 248 |
| 7 | Financial District/South Beach | 44% | 69% | -25 | 3,830 |
| 8 | Outer Mission | 46% | 71% | -25 | 1,110 |
| 9 | Treasure Island | 47% | 59% | -12 | 204 |
| 10 | Portola | 50% | 72% | -22 | 739 |
| 11 | West of Twin Peaks | 50% | 67% | -17 | 1,558 |
| 12 | South of Market | 53% | 70% | -17 | 7,786 |
| 13 | Oceanview/Merced/Ingleside | 54% | 74% | -20 | 831 |
| 14 | Glen Park | 54% | 60% | -6 | 322 |
| 15 | Sunset/Parkside | 55% | 69% | -14 | 2,479 |
| 16 | Golden Gate Park | 58% | 77% | -19 | 461 |
| 17 | Bernal Heights | 59% | 70% | -11 | 1,199 |
| 18 | Mission Bay | 61% | 77% | -16 | 1,385 |
| 19 | Potrero Hill | 61% | 78% | -17 | 618 |
| 20 | Castro/Upper Market | 64% | 85% | -21 | 1,354 |
| 21 | Marina | 65% | 72% | -7 | 1,053 |
| 22 | Russian Hill | 65% | 83% | -18 | 778 |
| 23 | Inner Sunset | 66% | 81% | -15 | 827 |
| 24 | Tenderloin | 67% | 77% | -10 | 9,073 |
| 25 | Inner Richmond | 67% | 85% | -18 | 693 |
| 26 | Chinatown | 68% | 85% | -17 | 1,133 |
| 27 | North Beach | 68% | 80% | -12 | 1,077 |
| 28 | Lone Mountain/USF | 68% | 89% | -21 | 792 |
| 29 | Mission | 70% | 84% | -14 | 6,798 |
| 30 | Presidio Heights | 70% | 86% | -16 | 479 |
| 31 | Hayes Valley | 71% | 84% | -13 | 1,711 |
| 32 | Noe Valley | 71% | 81% | -10 | 584 |
| 33 | Outer Richmond | 74% | 79% | -5 | 1,476 |
| 34 | Haight Ashbury | 74% | 85% | -11 | 735 |
| 35 | Japantown | 76% | 87% | -11 | 719 |
| 36 | Pacific Heights | 76% | 88% | -12 | 1,107 |
| 37 | Nob Hill | 77% | 91% | -14 | 2,193 |
| 38 | Western Addition | 80% | 89% | -9 | 2,489 |
| Citywide | 60% | 75% | -15 | 65,045 |
| # | Neighborhood | Per 1,000 residents | × citywide | Incidents | Median | vs citywide | Reached |
|---|---|---|---|---|---|---|---|
| Citywide | 95.4 | 1.0× | 79,204 | ||||
| 1 | South of Market | 379.8 | 4.0× | 9,797 | 7.2 | +3% | 97.3% |
| 2 | Tenderloin | 347.7 | 3.6× | 11,163 | 6.5 | -7% | 97.5% |
| 3 | Japantown | 211.4 | 2.2× | 848 | 6.7 | -4% | 98.7% |
| 4 | Financial District/South Beach | 187.9 | 2.0× | 4,600 | 7.5 | +7% | 97.6% |
| 5 | Mission | 156.6 | 1.6× | 8,629 | 6.7 | -5% | 96.9% |
| 6 | Western Addition | 133.2 | 1.4× | 2,968 | 6.3 | -10% | 98.5% |
| 7 | Nob Hill | 120.3 | 1.3× | 2,832 | 6.5 | -8% | 97.4% |
| 8 | Hayes Valley | 119.2 | 1.2× | 2,250 | 6.7 | -4% | 97.5% |
| 9 | Chinatown | 115.3 | 1.2× | 1,394 | 6.9 | -1% | 98.6% |
| 10 | North Beach | 113.2 | 1.2× | 1,260 | 6.7 | -4% | 98.3% |
| 11 | Bayview Hunters Point | 109.5 | 1.1× | 4,132 | 7.9 | +13% | 97.7% |
| 12 | Treasure Island | 99.6 | 1.0× | 242 | 7.2 | +3% | 98.4% |
| 13 | Presidio | 98.2 | 1.0× | 383 | 8.9 | +27% | 97.4% |
| 14 | Lakeshore | 96.1 | 1.0× | 1,150 | 8.3 | +19% | 98.5% |
| 15 | Mission Bay | 89.7 | 0.9× | 1,579 | 7.1 | +1% | 97.8% |
| 16 | Castro/Upper Market | 76.9 | 0.8× | 1,688 | 7.1 | +1% | 97.5% |
| 17 | Bernal Heights | 59.6 | 0.6× | 1,437 | 7.0 | +0% | 97.1% |
| 18 | Haight Ashbury | 59.4 | 0.6× | 996 | 6.7 | -4% | 97.4% |
| 19 | Outer Mission | 59.3 | 0.6× | 1,325 | 7.7 | +9% | 97.4% |
| 20 | Pacific Heights | 58.9 | 0.6× | 1,345 | 6.6 | -6% | 98.2% |
| 21 | Lone Mountain/USF | 58.4 | 0.6× | 936 | 6.9 | -2% | 97.8% |
| 22 | Presidio Heights | 58.3 | 0.6× | 574 | 6.3 | -10% | 97.9% |
| 23 | Marina | 57.4 | 0.6× | 1,338 | 7.0 | 0% | 96.9% |
| 24 | Russian Hill | 55.4 | 0.6× | 962 | 6.9 | -2% | 98.2% |
| 25 | Visitacion Valley | 54.0 | 0.6× | 894 | 9.1 | +30% | 98.6% |
| 26 | Portola | 52.5 | 0.6× | 777 | 7.2 | +2% | 97.9% |
| 27 | West of Twin Peaks | 49.5 | 0.5× | 1,814 | 7.3 | +5% | 98.3% |
| 28 | Potrero Hill | 46.1 | 0.5× | 738 | 6.9 | -1% | 97.7% |
| 29 | Excelsior | 45.2 | 0.5× | 1,677 | 8.0 | +14% | 98.5% |
| 30 | Glen Park | 42.0 | 0.4× | 363 | 7.0 | +0% | 97.5% |
| 31 | Inner Richmond | 41.8 | 0.4× | 842 | 6.7 | -4% | 96.8% |
| 32 | Outer Richmond | 41.7 | 0.4× | 1,795 | 6.5 | -7% | 98.4% |
| 33 | Seacliff | 38.9 | 0.4× | 96 | 7.0 | -1% | 100.0% |
| 34 | Sunset/Parkside | 38.2 | 0.4× | 2,867 | 7.2 | +2% | 98.5% |
| 35 | Oceanview/Merced/Ingleside | 37.8 | 0.4× | 921 | 6.9 | -1% | 98.0% |
| 36 | Inner Sunset | 37.3 | 0.4× | 1,011 | 7.0 | 0% | 98.5% |
| 37 | Twin Peaks | 35.2 | 0.4× | 271 | 7.5 | +8% | 99.3% |
| 38 | Noe Valley | 30.3 | 0.3× | 684 | 6.9 | -2% | 97.7% |
Source: DataSF Fire Department and Emergency Medical Services Dispatched Calls for Service (nuek-vuh3 on DataSF). The data has one row per unit dispatched, combined here into one row per incident using the first unit on scene. Response time runs from when the call is received to when the first unit arrives, the same measure as the police page. Incidents cancelled or marked duplicate before service are left out. Call groups are the department's own: potentially life-threatening, non-life-threatening, alarm and fire. Burden divides by the area's 2020–2024 American Community Survey population estimate, the population every rate on this site uses (the crime page method explains how it is fit to each area). It is blank for areas under 1,000 residents. There is no published target for these groups measured this way, so they are compared only with the citywide median. The city's goals section uses the city's own measure instead: the Emergency Medical Services Agency's response-time file (faug-73ss on DataSF, the source of the city's response-times dashboard). It has one row per incident and unit type, with the fastest unit's time from dispatch to arrival, after the city's own checks: medical events only, no missing, negative or over-120-minute times, and no ambulance that transported a patient within a minute of arriving. The goals are the agency's: a basic life support unit within 4 and a half minutes, and an ambulance within 10 minutes on life-threatening (Code 3) calls and within 20 minutes on other (Code 2) calls, each 90% of the time. That file has no location. Its incident number links it to the dispatch data, which gives the neighborhood. Supervisor districts come from each call's location in today's district boundaries. The dispatch data's own district field uses the boundaries in force when the call was logged, so a district's history would jump where the boundaries changed. Advanced life support first-responder rows are in the file, but they have no published goal and are not scored.
Every figure here is also in https://sfresponse.org/data/fire.json.
Zero is the citywide median for the same call group in the same month. Months with fewer than 30 incidents are left blank.