We analyzed seismograms from 21 earthquakes (ML 2.0-4.9) recorded by digital seismographs we deployed in urban Seattle to determine site response and earthquake stress drops. The seismometers were situated on a wide variety of geologic units, including artificial fill (e.g., Kingdome, Harbor Island), Pleistocene age soils (glacial till and outwash deposits of Seattle's hills), modified land (downtown Seattle, Space Needle), and Tertiary sedimentary rock. Two mainshock-aftershock sequences were recorded: the June 1997 Bremerton sequence (mainshock ML 4.9) and the February 1997 South Seattle sequence (mainshock ML 3.5), along with other events in the Puget Sound region. We developed a new inversion procedure to estimate site response, source corner frequencies, and seismic moments from the S-wave spectra. This inversion uses corner frequencies determined from spectral ratios of mainshock-aftershock pairs as constraints. The site responses found from the inversion are not relative to the rock site but are relative to an idealized site with a flat frequency response. The response of the rock site is also found from the inversion. The inversion results show high response for the sites on artificial fill, more moderate amplification for most sites on stiff Pleistocene soils or modified land, and low response for the rock site. Some sites display resonances, such as a strong 2-Hz resonance at our site near the Kingdome, which is caused by the surficial layers of fill and younger alluvium. The sites in West Seattle exhibit high amplification, even though they are on relatively stiff soils of glacial outwash. This may be partly caused by basin surface waves produced by conversion of incident S waves. This high response in West Seattle is consistent with damage reports from the 1949 (mb 7.1) and 1965 (mb 6.5) earthquakes. Stress-drop estimates for the events we recorded were generally low, between 0.4 and 25 bars, although some of the events may have had higher stress drops that could not be resolved because of the limited passband. We calculated a stress drop of 24 bars for the Bremerton mainshock and 10 bars for the South Seattle mainshock.