USGS Seismic Design Screener - ASCE 7-22 & 7-16 SDC Lookup
Pricing
from $3.30 / 1,000 results
USGS Seismic Design Screener - ASCE 7-22 & 7-16 SDC Lookup
Batch coordinates to ASCE 7 seismic design values from the keyless USGS service. Each row carries the edition you pick AND ASCE 7-22, the current standard: SDS, SD1, SDC, SS, S1, SMS, SM1, PGA_M, Fa, Fv, TL, design spectra, ASCE 41-17 retrofit levels. MCP-ready. Screening aid, not a stamped design.
Pricing
from $3.30 / 1,000 results
Rating
0.0
(0)
Developer
Kyle Maloney
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
USGS Seismic Design Screener - ASCE 7-22 & 7-16 SDC by coordinate
Batch a list of coordinates into ASCE 7 seismic design parameters from the keyless USGS building-codes web service. One row per site, with both the edition you select and ASCE 7-22 - the current standard - on the same row.
Per site you get SDS, SD1, the Seismic Design Category (A-F), SS, S1, SMS, SM1, PGA and PGA_M, Fa, Fv, F_PGA, TL, Ts, T0, the uniform-hazard and risk-targeted underlying values, the full design and MCE_R response spectra, the USGS hazard-model version, a plain-language reading of what the SDC means - and, where the standard you picked cannot finalize a design value, the ASCE 7-22 answer that usually can.
This is a screening and portfolio-triage tool. It is not a substitute for a site-specific seismic hazard study, and nothing here is a stamped engineering determination.
Why the ASCE edition matters more than you would think
ASCE 7-16 refuses to finalize SD1 and the Seismic Design Category for high-seismicity sites on soft soil (Sec. 11.4.8, Site Class D/E with S1 >= 0.2). It returns SD1 null, SDC null, Fv null and the note "See Section 11.4.8". ASCE 7-22 replaced that two- coefficient site-amplification method with multi-period response spectra and resolves most of those sites outright.
Live, from this actor:
| Site | ASCE 7-16 | ASCE 7-22 |
|---|---|---|
| San Francisco, CA - Site Class D | SDS 1.0, SD1 null, SDC null (site-specific study) | SDS 1.16, SD1 1.17, SDC D |
| Memphis, TN hospital - Risk IV, Site Class E | SDS null, SD1 null, SDC null | SDS 0.53, SD1 0.40, SDC D |
| Chicago, IL - Site Class D | SDS 0.124, SD1 0.100, SDC B | SDS 0.13, SD1 0.099, SDC B |
If your authority having jurisdiction has adopted IBC 2024, ASCE 7-22 is the standard
that governs, and a 7-16 "site-specific study required" result is an artifact of a
superseded edition - not a property of your site. The current_edition_note column says
so in plain language on every row, and asce722_sdc_vs_primary tells you whether the two
editions agree.
referenceDocument still defaults to asce7-16 so existing integrations keep the exact
values they were built on. The ASCE 7-22 cross-check is added alongside, in its own
asce722_* columns. No existing column ever changed meaning.
Who this is for
- Structural engineers pulling SDS / SD1 / SDC for a batch of candidate sites, or checking a design against the edition their jurisdiction actually adopted.
- Geotechnical engineers who need PGA_M (
pgam) for the ASCE 7 Sec. 11.8.3 liquefaction screen - not the mappedpga, which is the pre-site-coefficient value. - Building-code and permitting consultants reconciling a project designed under ASCE 7-16 with a jurisdiction that has moved to ASCE 7-22.
- Solar, BESS and data-centre site selection teams ranking dozens or hundreds of parcels by seismic band before anyone visits.
- Existing-building / retrofit teams who need ASCE 41-17 BSE-2N / BSE-1N / BSE-2E / BSE-1E hazard levels for a Tier 1-3 evaluation.
- Insurance and catastrophe-risk modellers attaching a code-basis seismic parameter to a portfolio of locations.
- AI agents - see the MCP note below.
Example input
{"assets": [{ "lat": 37.7749, "lon": -122.4194, "label": "San Francisco, CA" },{ "lat": 41.8781, "lon": -87.6298, "label": "Chicago, IL" },{"lat": 35.1495, "lon": -90.0490,"label": "Memphis TN hospital (New Madrid, soft soil)","riskCategory": "IV","siteClass": "E"}],"riskCategory": "II","siteClass": "D","referenceDocument": "asce7-16","includeCurrentEdition": true,"includeSpectra": true,"verifyUpstream": true}
riskCategory and siteClass set the run-wide default; any site can override either.
Site Class D is the code default when the soil is unknown - if you have a geotechnical
report, supply the measured class per site, because it changes every design value.
Inputs
| Input | Default | What it does |
|---|---|---|
assets | required | Sites to screen: lat, lon, label, optional riskCategory and siteClass. |
riskCategory | II | ASCE 7 Risk Category default. I = low hazard, II = ordinary, III = substantial hazard, IV = essential (hospitals, fire stations). |
siteClass | D | ASCE 7 Site Class default. A = hard rock, B = rock, C = very dense soil / soft rock, D = stiff soil, E = soft clay. |
referenceDocument | asce7-16 | asce7-16, asce7-22 (current), asce7-10, asce7-05, asce41-17, nehrp-2015, nehrp-2020. |
includeCurrentEdition | true | Adds the ASCE 7-22 cross-check columns. Does not change billing. |
includeSpectra | true | Emits the design and MCE_R response-spectrum arrays. |
verifyUpstream | true | Probes three canary points and fails the run if USGS has drifted (see below). |
maxAssets | 500 | Safety cap. Sites beyond it are not screened and the log says so. |
Reference documents, verified live
| Slug | Standard | USGS hazard model | Notes |
|---|---|---|---|
asce7-22 | ASCE 7-22 (current, IBC 2024) | v5.0.x | Multi-period spectra. Defines no Fa, Fv, PGA or F_PGA - use pgam for PGA_M. |
asce7-16 | ASCE 7-16 (IBC 2018/2021) | v4.0.x | Default. Sec. 11.4.8 nulls SD1/SDC on high-seismic soft soil. |
asce7-10 | ASCE 7-10 (IBC 2012/2015) | v3.1.x | Full parameter set. |
asce7-05 | ASCE 7-05 (IBC 2006/2009) | v2.0.x | Defines no PGA family at all. |
asce41-17 | ASCE 41-17 evaluation & retrofit | v4.0.x | Returns BSE-2N/1N/2E/1E hazard levels (SXS, SX1), not SDS/SD1/SDC. |
nehrp-2015 | NEHRP 2015 provisions | v4.0.x | Same shape as ASCE 7-16. |
nehrp-2020 | NEHRP 2020 provisions | v5.0.x | Same shape as ASCE 7-22. |
asce41-23 exists on the service but self-identifies as Beta and omits request.status,
so it is deliberately not offered.
Output fields
Every run emits all 86 columns on every row. A field is null when it was not checked; false and 0 are answers. parameters_not_defined_in_edition lists the columns the standard you picked does not define at all.
Site identity
| Field | Type | Description |
|---|---|---|
asset_label | string | Your name for the screened site, echoed back from the input. |
asset_lat | number | null |
asset_lon | number | null |
risk_category | string | null |
site_class | string | null |
reference_document | string | null |
edition_family | string | null |
is_current_asce7_edition | boolean | null |
service_reference_document | string | null |
Outcome and provenance
| Field | Type | Description |
|---|---|---|
primary_status | string | null |
primary_error | string | null |
error | string | null |
parameters_not_defined_in_edition | string | null |
model_version | string | null |
spatial_interpolation_method | string | null |
service_version | string | null |
source_url | string | The exact USGS ASCE 7 web-service request URL used for this site. |
checked_at | string | UTC timestamp (ISO 8601) when the lookup ran. |
disclaimer | string | null |
Design values (selected edition)
| Field | Type | Description |
|---|---|---|
ss | number | null |
s1 | number | null |
sms | number | null |
sm1 | number | null |
sds | number | null |
sd1 | number | null |
sdc | string | null |
sdcs | string | null |
sdc1 | string | null |
sdc_minimum | string | null |
sdc_is_final | boolean | null |
sdc_meaning | string | null |
seismicity_band | string | null |
Ground acceleration and site coefficients
| Field | Type | Description |
|---|---|---|
pga | number | null |
pgam | number | null |
fpga | number | null |
fa | number | null |
fv | number | null |
fa_note | string | null |
fv_note | string | null |
tl | number | null |
ts | number | null |
t0 | number | null |
cv | number | null |
Site-specific study
| Field | Type | Description |
|---|---|---|
site_specific_study_required | boolean | null |
site_specific_reason | string | null |
Underlying hazard values
| Field | Type | Description |
|---|---|---|
ssuh | number | null |
ssrt | number | null |
crs | number | null |
ssd | number | null |
s1uh | number | null |
s1rt | number | null |
cr1 | number | null |
s1d | number | null |
pgauh | number | null |
pgad | number | null |
Response spectra
| Field | Type | Description |
|---|---|---|
spectrum_type | string | null |
design_spectrum_periods_s | array | null |
design_spectrum_ordinates_g | array | null |
mcer_spectrum_periods_s | array | null |
mcer_spectrum_ordinates_g | array | null |
vertical_spectrum_points | integer | null |
ASCE 41-17 hazard levels (asce41-17 only)
| Field | Type | Description |
|---|---|---|
asce41_bse2n_sxs | number | null |
asce41_bse2n_sx1 | number | null |
asce41_bse1n_sxs | number | null |
asce41_bse1n_sx1 | number | null |
asce41_bse2e_sxs | number | null |
asce41_bse2e_sx1 | number | null |
asce41_bse1e_sxs | number | null |
asce41_bse1e_sx1 | number | null |
ASCE 7-22 cross-check (current edition)
| Field | Type | Description |
|---|---|---|
asce722_status | string | null |
asce722_error | string | null |
asce722_ss | number | null |
asce722_s1 | number | null |
asce722_sds | number | null |
asce722_sd1 | number | null |
asce722_sdc | string | null |
asce722_sms | number | null |
asce722_sm1 | number | null |
asce722_pgam | number | null |
asce722_tl | number | null |
asce722_site_specific_study_required | boolean | null |
asce722_model_version | string | null |
asce722_vs30_m_s | number | null |
asce722_source_url | string | null |
asce722_sdc_vs_primary | string | null |
current_edition_note | string | null |
How this actor fails
An actor that returns a confident wrong answer is worse than one that crashes: you get billed, you act on it, and nobody reports a bug. So:
nullmeans "not checked".falseand0are answers. Every row carriesprimary_statusandasce722_status. A null SD1 withprimary_status: site_specificis a real result about your site; a null SD1 withprimary_status: unavailableis an outage, and the two are never rendered the same way.- The ASCE 7-22 comparison is gated.
asce722_sdc_vs_primarycan only readsameordifferswhen both editions finalized a category. If the cross-check failed it readsunavailableand noasce722_*value is populated. - A live drift check runs before your sites do. Three canary points (San Francisco and Chicago under ASCE 7-16, San Francisco under ASCE 7-22) are probed first. If SDS or SS moves outside its expected band, if Chicago stops being SDC B, if a required key vanishes from the payload, or if USGS echoes back a different reference document than the one requested, the run fails before a single row is emitted. An offline test cannot catch a silently changed upstream - the fixture was captured from it.
- If every site fails upstream, the run FAILS with zero rows. A per-site screener that
emits one error row per site on a total outage is billing you for rows that assert
nothing. Invalid coordinates you supplied are different: those come back as
errorrows in a successful run, because that is information you need. - A payload that answers for the wrong edition never resolves. It becomes an error row, not a design value.
Pricing
Pay per result: $6.00 per 1,000 rows (about $0.006 per site), plus Apify platform usage. One site = one row = one billable result, no matter how many editions are queried for it - the ASCE 7-22 cross-check and the three upstream canary probes are free. Graduated discounts apply on paid Apify plans.
Use as an MCP tool
Every actor in this portfolio is exposed to AI agents through mcp.apify.com. Agents read the input and output schemas directly, so an assistant can be asked "what Seismic Design Category applies to these twelve candidate sites under the current code?" and chain the answer into the next step. Field descriptions are written for that purpose: each one says what the value means and when it is null.
FAQ
Which edition should I use?
Whichever your authority having jurisdiction has adopted. IBC 2024 references ASCE 7-22;
IBC 2018 and 2021 reference ASCE 7-16; IBC 2012/2015 reference ASCE 7-10. The default is
asce7-16 and the ASCE 7-22 answer is added to every row regardless, so you can see both.
Why is SD1 null for my California site?
Under ASCE 7-16, Sec. 11.4.8 requires a site-specific ground-motion procedure for Site
Class D/E where S1 >= 0.2, and the service returns null rather than a value. Check
asce722_sd1 and asce722_sdc on the same row - ASCE 7-22 usually resolves it. And check
sdc_minimum, which carries the short-period category as a hard lower bound.
Should I use pga or pgam?
pgam (PGA_M) for anything geotechnical. ASCE 7 Sec. 11.8.3 liquefaction evaluation uses
the site-adjusted peak ground acceleration, which is pgam = fpga x pga. pga
alone is the mapped bedrock-reference value before the site coefficient.
Does this replace a site-specific seismic hazard study? No. It returns exactly what the USGS national seismic hazard model gives for a coordinate and a declared site class. It does not know your actual soil profile, nearby faults at project scale, liquefaction susceptibility, or basin effects, and it produces nothing a licensed engineer can seal.
What site class should I use if I have no geotechnical report?
D is the code default for unknown soil, and it is this actor's default. It is also the
class most likely to trigger the ASCE 7-16 site-specific rule in high-seismic areas. If
you have measured Vs30 or a boring log, set siteClass per site - it changes every number
on the row.
How current is the data?
The service is queried live on every run. model_version records which USGS national
seismic hazard model produced the values (v4.0.x for ASCE 7-16, v5.0.x for ASCE 7-22);
keep it with any value you archive.
How many sites can I screen at once?
Up to maxAssets (default 500, hard ceiling 5,000). Lookups run four at a time.
Related actors
Seismic is one layer of a site screen. These cover the rest of the ground:
- USGS Bedrock Geology & Lithology Screener - the rock and soil beneath the site, which is what drives site class.
- USGS Landslide Proximity Screener - mapped landslides and slide-prone terrain, a common seismic secondary hazard.
- Karst & Sinkhole Risk Screener - carbonate and evaporite karst, subsidence and collapse risk.
- FEMA NRI County Risk Profile - earthquake risk in the context of all 18 FEMA perils, at county and tract resolution.
- Site Due Diligence Bundle - 20 environmental, geological and regulatory layers for one coordinate in one call, including a seismic layer.
Data source and disclaimer
Source: the USGS ASCE 7 / ASCE 41 seismic design geodata web service
(earthquake.usgs.gov/ws/building-codes, project erp-design-ws), a keyless public U.S.
Geological Survey service. Values are as published by USGS and are not modified.
This actor is an informational screening aid. It is not a stamped engineering determination, not a site-specific ground-motion study, and not a substitute for review by a licensed structural or geotechnical engineer. Nothing here should be used for permitting, construction or life-safety decisions without that review. Not affiliated with or endorsed by USGS, ASCE, or any code authority.