diff --git a/geomagio/edge/EdgeFactory.py b/geomagio/edge/EdgeFactory.py
index 1190dbb167356bed32e28dcb11bc9e4bbbc33c6e..682d03f733ed2b24fa04269925859f3279f179ed 100644
--- a/geomagio/edge/EdgeFactory.py
+++ b/geomagio/edge/EdgeFactory.py
@@ -306,6 +306,7 @@ class EdgeFactory(TimeseriesFactory):
             data_type=type,
             interval=interval,
             element=channel,
+            location=self.locationCode,
         )
         try:
             data = self.client.get_waveforms(
@@ -407,6 +408,7 @@ class EdgeFactory(TimeseriesFactory):
             data_type=type,
             interval=interval,
             element=channel,
+            location=self.locationCode,
         )
 
         now = obspy.core.UTCDateTime(datetime.utcnow())
diff --git a/geomagio/edge/LegacySNCL.py b/geomagio/edge/LegacySNCL.py
index a2478b599a145f2e95b1b37f99269b7b8932eb8a..1b8cd2169c2ac5b4e45c207bd116e343f2032f44 100644
--- a/geomagio/edge/LegacySNCL.py
+++ b/geomagio/edge/LegacySNCL.py
@@ -26,12 +26,13 @@ class LegacySNCL(SNCL):
         interval: str,
         station: str,
         network: str = "NT",
+        location: Optional[str] = None,
     ) -> "LegacySNCL":
         return LegacySNCL(
             station=station,
             network=network,
             channel=get_channel(element=element, interval=interval),
-            location=get_location(element=element, data_type=data_type),
+            location=location or get_location(element=element, data_type=data_type),
         )
 
     @property
diff --git a/geomagio/edge/MiniSeedFactory.py b/geomagio/edge/MiniSeedFactory.py
index ec8b54692693e6f033326274e39deab0d51e719f..d56bab7713c0684c199fa227a8d815d3621c9cb1 100644
--- a/geomagio/edge/MiniSeedFactory.py
+++ b/geomagio/edge/MiniSeedFactory.py
@@ -320,7 +320,11 @@ class MiniSeedFactory(TimeseriesFactory):
             timeseries trace of the requested channel data
         """
         sncl = SNCL.get_sncl(
-            station=observatory, data_type=type, interval=interval, element=channel
+            station=observatory,
+            data_type=type,
+            interval=interval,
+            element=channel,
+            location=self.locationCode,
         )
         data = self.client.get_waveforms(
             sncl.network, sncl.station, sncl.location, sncl.channel, starttime, endtime
@@ -465,6 +469,7 @@ class MiniSeedFactory(TimeseriesFactory):
             data_type=type,
             interval=interval,
             element=channel,
+            location=self.locationCode,
         )
         for trace in to_write:
             trace.stats.station = sncl.station
diff --git a/geomagio/edge/SNCL.py b/geomagio/edge/SNCL.py
index de292587c098ea3866784dcc149784be5c37f046..771ef8ddf7c8c72cf3e7418a38fc17e238e470bb 100644
--- a/geomagio/edge/SNCL.py
+++ b/geomagio/edge/SNCL.py
@@ -30,12 +30,13 @@ class SNCL(BaseModel):
         interval: str,
         station: str,
         network: str = "NT",
+        location: Optional[str] = None,
     ) -> "SNCL":
         return SNCL(
             station=station,
             network=network,
             channel=get_channel(element=element, interval=interval),
-            location=get_location(element=element, data_type=data_type),
+            location=location or get_location(element=element, data_type=data_type),
         )
 
     def parse_sncl(self) -> Dict: