# domna-fetchers External API clients. Each fetcher is responsible for one external system — `EpcClientService` for the gov EPC API, `GeospatialFetcher` for Ordnance Survey, `SolarFetcher` for Google Solar, `FuelRatesFetcher` for Ofgem, `CarbonFactorsFetcher` for Defra. **Boundary**: makes HTTP calls + returns raw or lightly-mapped responses. No DB, no business logic. Modelling services never depend on fetchers — only orchestrators do (per [ADR-0003](../../docs/adr/0003-strict-ingestion-modelling-separation.md)). ## Layout ``` src/fetchers/ ├── __init__.py ├── epc_client.py # wraps backend/epc_client/ ├── geospatial.py ├── solar.py ├── fuel_rates_fetcher.py └── carbon_factors_fetcher.py ``` `backend/epc_client/` will fold into `epc_client.py` during the migration; until then this module re-exports from the legacy location.