diff --git a/README.md b/README.md
index 8437d31d7215f777e9d4940f4bba454ff0302fc5..75220d7e07b5b355a2b21960eacea300824eea45 100644
--- a/README.md
+++ b/README.md
@@ -21,5 +21,6 @@ export api_url=http://127.0.0.1:8080/api/v1/subscriptions/routers
 export host_vars_dir=/path/to/base/hostvars/dir
 export vars_file_name=wfo_vars.yaml
 export hosts_file_dir=/path/to/base/hosts/dir
+export gso_api_key=get_this_token_from_gso_admin_based_on_your_environment
 
-ansible_inventory_generator
\ No newline at end of file
+ansible_inventory_generator
diff --git a/ansible_inventory_generator/app.py b/ansible_inventory_generator/app.py
index 7c4d1fb39384a5de3f4c8793403e13e0683255ce..7b535c2bb502d6fec84aed0f996a3591affffbfb 100644
--- a/ansible_inventory_generator/app.py
+++ b/ansible_inventory_generator/app.py
@@ -100,7 +100,9 @@ def safe_write(temp_dir: Path, old_vars_dir: Path, old_hosts_file: Path) -> Gene
 def generate_inventory_from_api() -> None:
     settings = load_settings()
     """Generate Ansible inventory from API."""
-    response = requests.get(settings.api_url, timeout=API_TIMEOUT_SEC)
+    response = requests.get(
+        settings.api_url, timeout=API_TIMEOUT_SEC, headers={"Authorization": f"Bearer {settings.gso_api_key}"}
+    )
     response.raise_for_status()
     try:
         router_subscriptions = response.json()
diff --git a/ansible_inventory_generator/config.py b/ansible_inventory_generator/config.py
index b94b8cea5a84c29b74c8e9ec5703a0d08dfb09cf..35e125bbb4ee077de6b67c84969c847accd404d8 100644
--- a/ansible_inventory_generator/config.py
+++ b/ansible_inventory_generator/config.py
@@ -6,6 +6,7 @@ class Settings(BaseSettings):
     host_vars_dir: str
     vars_file_name: str
     hosts_file_dir: str
+    gso_api_key: str
 
     class Config:
         env_file = "../.env"
diff --git a/example.env b/example.env
index 4654690ac5af327c2b4afe1d4ab6fd79f5e86921..59005596d63d1d67b373cb73b9e6efd39b2667ce 100644
--- a/example.env
+++ b/example.env
@@ -2,3 +2,4 @@ api_url=http://127.0.0.1:8080/api/v1/subscriptions/routers
 host_vars_dir=/path/to/base/hostvars/dir
 vars_file_name=wfo_vars.yaml
 hosts_file_dir=/path/to/base/hosts/dir
+gso_api_key=askjdhaskhdaksjhdkajshdkashd
diff --git a/setup.py b/setup.py
index f676b0fc3fdabae9eb5fab80d2f44fe00ad7ba44..7ffd35e4350862b3146a98a0d3a5e1c77c363f83 100644
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,7 @@ setup(
     name="ansible_inventory_generator",
     version="0.1",
     author="GEANT",
-    author_email="swd@geant.org",
+    author_email="gap@geant.org",
     description="Ansible inventory generator for WFO",
     url="https://gitlab.software.geant.org/goat/gap/ansible_inventory_generator",
     packages=find_packages(),
diff --git a/tests/test_inventory_generator.py b/tests/test_inventory_generator.py
index a309c7bc4938394cf3b3e2cb9ed05ead2f11f916..2b5fc13d7cf81cebbb60480724bff4b7af42e950 100644
--- a/tests/test_inventory_generator.py
+++ b/tests/test_inventory_generator.py
@@ -157,6 +157,7 @@ def setup_test(tmp_dir, mocked_subscription_api_data):
             host_vars_dir=str(tmp_dir),
             vars_file_name="wfo_vars.yaml",
             hosts_file_dir=str(tmp_dir),
+            gso_api_key="random_gso_api_key",
         )
 
         mock_get.return_value.json.return_value = mocked_subscription_api_data