---
title: "Get Facility"
method: GET
path: "/api/v2/facilities/{facility_id}"
tags: ["Facilities"]
---

# Get Facility

`GET /api/v2/facilities/{facility_id}`

Fetch a single facility by its stable `facility_id` — the full record plus source attributes and reversible cross-silo merge history. Plan-gated: requires the `can_use_facilities` entitlement (Analyst plan and up).

## Path parameters

- `facility_id` string, required

## Response `200`

Success

- FacilityDetailResponse
  - `success` boolean
  - `facility` FacilityCard — One real-world facility in the unified directory, projected from a source silo and unified on a stable facility_id.
    - `facility_id` string — Stable id (f_...) — pass to Get Facility.
    - `name` string
    - `facility_type` 'coal_plant' | 'oil_gas_plant' | 'nuclear_plant' | 'geothermal_plant' | 'bioenergy_plant' | 'hydropower_plant' | 'solar_farm' | 'wind_farm' | 'coal_mine' | 'oil_gas_field' | 'iron_ore_mine' | 'coal_terminal' | 'lng_terminal' | 'gas_pipeline' | 'oil_pipeline' | 'lng_carrier' | 'port' | 'steel_plant' | 'cement_plant' | 'chemical_plant' | 'data_center'
    - `facility_class` 'power' | 'extraction' | 'transport_logistics' | 'ports' | 'heavy_industry' | 'digital_infrastructure', nullable
    - `source_silo` 'gem' | 'maritime_ports' | 'epoch'
    - `gem_tracker` string, nullable — The originating GEM tracker (gem silo only).
    - `country_iso3` string, nullable
    - `lat` number, nullable — Null for geo-null silos (Epoch data centers in v1).
    - `lon` number, nullable
    - `address` string, nullable
    - `status` string, nullable — operating / construction / proposed / retired / … (varies by silo).
    - `capacity_mw` number, nullable — Power facilities + data centers only.
    - `owners` FacilityOwner[]
      - `entity_id` string, nullable — Spine entity_id — join key to /api/v2/entities and the cross-source graph.
      - `name` string, nullable
    - `attributes` object — Silo-specific extra fields (fuel, tier, capacity_unit, h100e, …).
    - `first_seen_date` string, nullable
    - `last_seen_date` string, nullable
    - `detail_url` string
    - `owner_portfolio_url` string, nullable — GET /api/v2/facilities?owner_entity_id=... — the owner's full portfolio.
  - `merge_history` unknown[] — Reversible cross-silo merge rows (empty at launch).
    - unknown

## Other responses

- `401` — API key required. Include: Authorization: Bearer gdelt_sk_...
- `403` — The caller's plan does not carry the can_use_facilities entitlement (Analyst plan and up).
- `404` — No facility with that id.
- `500` — Failed to fetch the facility.

---

[API](https://skmtc.net/gdeltcloud/apis/gdelt-cloud-api-v2.md) · [All operations](https://skmtc.net/gdeltcloud/apis/gdelt-cloud-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gdeltcloud/gdelt-cloud-api-v2/revisions/01aaa6255180/schema)
