Search Facilities
search_facilitiesFind data center facilities worldwide by location, power capacity, operator, or fiber connectivity. Filter 17,500+ existing facilities to match your criteria and get key details like MW and status.
Instructions
FRONT DOOR CHECK — if the ask is "find MW in " or otherwise wants power / fiber / water / verdict context ATTACHED to the hits, call execute_plan(intent="<the user's question, unchanged>") instead of hand-chaining this with three more tools. If the ask is a plain inventory lookup — which facilities match these filters — search_facilities IS the right call and costs one round trip; the planner would add steps and latency for nothing. Search 17,500+ global data center facilities across 170+ countries — by location (country/state/market), capacity (MW), operator, fiber connectivity, status (operational/under-construction/planned), or DCPI verdict. Returns name, provider, lat/lon, power_mw, fiber count, market_slug, status. Try: search_facilities country=US state=VA min_capacity_mw=10. Note: status is RETURNED but is not a filter — there is no status or min_mw parameter; to filter by construction stage use get_pipeline. Use this to find EXISTING facilities; do NOT use for the forward-looking construction pipeline (use get_pipeline) or for the full profile of one facility (use get_facility).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name to filter facilities, e.g. Ashburn, Dallas | |
| tier | No | Uptime Institute tier filter (1-4) | |
| limit | No | Max results to return (1-500; default varies by tool) | |
| query | No | Free-text search over facility name/operator/location (mapped to the backend `q` param), e.g. "hyperscale Ashburn" | |
| state | No | US state abbreviation or region, e.g. VA, TX | |
| offset | No | Pagination offset, 0-based (skip this many results) | |
| country | No | ISO 3166-1 alpha-2 country code, e.g. US, GB, SG | |
| operator | No | Operator/provider company name, e.g. Equinix, Digital Realty | |
| max_capacity_mw | No | Maximum power capacity filter in megawatts (MW) | |
| min_capacity_mw | No | Minimum power capacity filter in megawatts (MW) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Facility rows matching the filters | |
| note | No | Serving note (e.g. how many rows the full tier returns) | |
| tier | No | Tier the response was served at | |
| count | No | Rows returned in THIS response (null on some gated tiers) | |
| quota | No | Caller quota state (remaining calls, tier) when available. | |
| _entity | No | Payload class discriminator (e.g. facility|market|iso_grid|queue_results|deal|report|response) — branch on this before parsing the rest. | |
| success | No | true when the search executed | |
| citation | No | Machine-readable citation: how to attribute DC Hub (dchub.cloud) for this payload. Normally an OBJECT {source, url, license, cite_as, retrieved_at}; a bare string is accepted and carries the attribution line itself. | |
| provenance | No | Collection-level provenance block: {source, method, as_of, verification_counts, cite_url_template, license, cite_as}. Quote the verification level when citing. | |
| _front_door | No | In-band front-door hint (first workflow-entry tool of a session): call plan_query(intent) first for the ordered multi-step plan. | |
| _return_loop | No | Suggested next-session delta call (get_changes since=24h) so you pull only what changed. | |
| total_matching | No | Total rows matching the filter across the dataset (null when withheld by tier) | |
| full_results_available | No | false when the row set was trimmed for your tier | |
| site_evaluation_handoff | No | Pre-built follow-up calls (analyze_site / get_water_risk args) when the payload carries coordinates — an array of {tool, parameters, why} entries. |