API Documentation

GridScout REST API endpoints for datacenter site selection intelligence. All endpoints return JSON and support CORS.

Base URL
https://hyder.me/api/grid

DC Readiness Score (0-100)

Each candidate site is scored using a weighted combination of 14 factors. Higher scores indicate better suitability for datacenter development.

FactorWeightDescription
Power Availability20%Substation distance, voltage, available capacity
Speed to Power15%ISO queue depth, brownfield grid bonus, existing capacity
Fiber Connectivity12%IXP distance, fiber route proximity, county fiber providers
Energy Cost10%EIA state-level commercial electricity price ($/MWh)
Water Risk8%WRI Aqueduct baseline water stress (inverted)
Natural Hazard8%FEMA NRI composite risk + flood zone SFHA penalty
Buildability7%NLCD land cover suitability + flood zone constraints
Labor Market4%Construction + IT employment per capita (BLS QCEW)
DC Cluster4%Proximity to existing operational datacenters
Land Cost3%USDA county-level land values
Construction Cost3%RSMeans regional construction cost index
Gas Pipeline2%Distance to nearest natural gas pipeline (backup power)
Tax Incentives2%State DC tax incentive programs
Climate2%NOAA cooling degree days (lower CDD = cheaper cooling)

Endpoints

GET/api/grid/dc-sites

List scored datacenter candidate sites with filters and pagination.

Query Parameters
statestringFilter by US state code (e.g. TX, VA)
site_typestringsubstation | brownfield | greenfield
min_scorenumberMinimum DC readiness score (0-100)
max_scorenumberMaximum DC readiness score (0-100)
iso_regionstringFilter by ISO: PJM, MISO, ERCOT, CAISO, SPP, ISO-NE, NYISO, SERC, WECC
floodstringFilter by flood zone: no_sfha | sfha | X
searchstringSearch site name (case-insensitive)
sortstringSort field (default: dc_score)
orderstringasc | desc (default: desc)
limitnumberMax results (default: 50, max: 200)
offsetnumberPagination offset
Response: { data: DCsite[], total: number }
GET/api/grid/dc-site

Get full details for a single DC site including nearby infrastructure.

Query Parameters
idstringSite UUID (required)
Response: { site, county, nearbyLines[], brownfield, nearbyFacilities[] }
GET/api/grid/dc-stats

Aggregate statistics: totals, score distribution, state averages, top 25 sites.

Response: { totals, topSites[], scoreDistribution, scoreStats, stateAverages[], siteTypeBreakdown }
GET/api/grid/dc-export

Export filtered sites as CSV for download.

Query Parameters
statestringFilter by state
site_typestringFilter by site type
min_scorenumberMinimum score
limitnumberMax rows (default: 1000, max: 10000)
Response: CSV file download
GET/api/grid/map-data

Optimized endpoint for map rendering with optional infrastructure overlays.

Query Parameters
statestringFilter by state
site_typestringFilter by site type
min_scorenumberMinimum score
boundsstringViewport: sw_lat,sw_lng,ne_lat,ne_lng
lite1Minimal columns for fast rendering
include_dcs1Include existing datacenter markers
include_ixps1Include IXP facility markers
include_lines1Include transmission line polylines
include_substations1Include substation markers
include_fiber1Include fiber route polylines
limitnumberMax sites (default: 5000, max: 20000)
Response: { sites[], total, returned, datacenters[]?, ixps[]?, lines[]?, substations[]? }
GET/api/grid/lines

Query transmission lines with optional geometry for map rendering.

Query Parameters
statestringFilter by state
min_voltagenumberMinimum voltage (kV)
max_voltagenumberMaximum voltage (kV)
upgrade_onlytrueOnly upgrade candidate lines
with_geometrytrueInclude WKT geometry for map rendering
searchstringSearch line name/substations
limitnumberMax results (default: 50)
offsetnumberPagination offset
Response: { data: Line[], total: number }
GET/api/grid/line

Get full details for a single transmission line.

Query Parameters
idstringLine UUID (required)
Response: { line, nearbySites[] }
GET/api/grid/substations

Query substations with voltage and location filters.

Query Parameters
statestringFilter by state
min_voltagenumberMinimum max voltage (kV)
searchstringSearch substation name
limitnumberMax results (default: 50, max: 200)
offsetnumberPagination offset
Response: { data: Substation[], total: number }
GET/api/grid/brownfields

List retired power plant sites available for redevelopment.

Query Parameters
statestringFilter by state
searchstringSearch plant name
limitnumberMax results
offsetnumberPagination offset
Response: { data: Brownfield[], total: number }
GET/api/grid/brownfield

Get full details for a single brownfield site.

Query Parameters
idstringBrownfield UUID (required)
Response: { brownfield, nearbySubstations[], dcSite }
GET/api/grid/corridors

List transmission corridor opportunities.

Query Parameters
statestringFilter by state
limitnumberMax results
offsetnumberPagination offset
Response: { data: Corridor[], total: number }
GET/api/grid/ixps

List internet exchange point (IXP) facilities.

Query Parameters
statestringFilter by state
searchstringSearch IXP name
limitnumberMax results
offsetnumberPagination offset
Response: { data: IXP[], total: number }
GET/api/grid/stats

Infrastructure statistics: line counts, voltage ranges, capacity totals.

Query Parameters
statestringFilter stats by state
Response: { lines, substations, counties, ixps }
GET/api/grid/county-data

County-level market intelligence data.

Query Parameters
statestringFilter by state
countystringFilter by county name
Response: { data: CountyData[], total: number }

Data Sources

HIFLDTransmission lines, substations (50 states)
FEMA NRINational Risk Index — county hazard scores
WRI Aqueduct 4.0Water stress at sub-basin level
BLS QCEWQuarterly Census of Employment & Wages
NOAA Climate30-year climate normals
PeeringDBInternet exchange points and colocation
FCCNational Broadband Map — fiber availability
OSM + PNNLExisting datacenter locations
EIA-860Retired generators — brownfield sites
USDA NASSCounty land values for cost estimation
FEMA NFHLFlood zone mapping
BLMFederal land solar/energy ROWs

Rate Limits & Notes

  • All endpoints run on Vercel Serverless Functions with a 60-second timeout.
  • Map data endpoint returns up to 20,000 sites per request; use viewport bounds for optimal performance.
  • Transmission line geometry (WKT) is only returned when with_geometry=true is set.
  • CSV export is limited to 10,000 rows per request.
  • Data is refreshed on varying schedules: PeeringDB monthly, HIFLD/QCEW quarterly, EIA/FEMA/NOAA annually.