diff --git a/CODEOWNERS b/CODEOWNERS
index ae71cde1754cf9b4bcb28199d101d8dc3e5bdb43..f241832fb4e89bdbc6e86d9a3b712c60a54151d2 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -179,7 +179,7 @@ homeassistant/components/gios/* @bieniu
 homeassistant/components/gitter/* @fabaff
 homeassistant/components/glances/* @fabaff @engrbm87
 homeassistant/components/goalzero/* @tkdrob
-homeassistant/components/gogogate2/* @vangorra
+homeassistant/components/gogogate2/* @vangorra @bdraco
 homeassistant/components/google_assistant/* @home-assistant/cloud
 homeassistant/components/google_cloud/* @lufton
 homeassistant/components/gpsd/* @fabaff
diff --git a/homeassistant/components/gogogate2/common.py b/homeassistant/components/gogogate2/common.py
index 8a51b210c5b348a6be8831cc034e5d0f41134101..9345f8d5fed3755d70f64edf0f2701e74aad27d2 100644
--- a/homeassistant/components/gogogate2/common.py
+++ b/homeassistant/components/gogogate2/common.py
@@ -6,8 +6,8 @@ from datetime import timedelta
 import logging
 from typing import Callable, NamedTuple
 
-from gogogate2_api import AbstractGateApi, GogoGate2Api, ISmartGateApi
-from gogogate2_api.common import AbstractDoor, get_door_by_id
+from ismartgate import AbstractGateApi, GogoGate2Api, ISmartGateApi
+from ismartgate.common import AbstractDoor, get_door_by_id
 
 from homeassistant.config_entries import ConfigEntry
 from homeassistant.const import (
@@ -18,6 +18,7 @@ from homeassistant.const import (
 )
 from homeassistant.core import HomeAssistant
 from homeassistant.helpers.debounce import Debouncer
+from homeassistant.helpers.httpx_client import get_async_client
 from homeassistant.helpers.update_coordinator import (
     CoordinatorEntity,
     DataUpdateCoordinator,
@@ -112,7 +113,7 @@ def get_data_update_coordinator(
     config_entry_data = hass.data[DOMAIN][config_entry.entry_id]
 
     if DATA_UPDATE_COORDINATOR not in config_entry_data:
-        api = get_api(config_entry.data)
+        api = get_api(hass, config_entry.data)
 
         async def async_update_data():
             try:
@@ -148,7 +149,7 @@ def sensor_unique_id(
     return f"{config_entry.unique_id}_{door.door_id}_{sensor_type}"
 
 
-def get_api(config_data: dict) -> AbstractGateApi:
+def get_api(hass: HomeAssistant, config_data: dict) -> AbstractGateApi:
     """Get an api object for config data."""
     gate_class = GogoGate2Api
 
@@ -159,4 +160,5 @@ def get_api(config_data: dict) -> AbstractGateApi:
         config_data[CONF_IP_ADDRESS],
         config_data[CONF_USERNAME],
         config_data[CONF_PASSWORD],
+        httpx_async_client=get_async_client(hass),
     )
diff --git a/homeassistant/components/gogogate2/config_flow.py b/homeassistant/components/gogogate2/config_flow.py
index aa6fa1988ea97d5995962ecb025cf3ecdc765b8f..94ac97a3ef26934fb7d5d367931f9e428b6f760d 100644
--- a/homeassistant/components/gogogate2/config_flow.py
+++ b/homeassistant/components/gogogate2/config_flow.py
@@ -2,8 +2,8 @@
 import dataclasses
 import re
 
-from gogogate2_api.common import AbstractInfoResponse, ApiError
-from gogogate2_api.const import GogoGate2ApiErrorCode, ISmartGateApiErrorCode
+from ismartgate.common import AbstractInfoResponse, ApiError
+from ismartgate.const import GogoGate2ApiErrorCode, ISmartGateApiErrorCode
 import voluptuous as vol
 
 from homeassistant.config_entries import SOURCE_IMPORT, ConfigFlow
@@ -55,7 +55,7 @@ class Gogogate2FlowHandler(ConfigFlow, domain=DOMAIN):
         errors = {}
 
         if user_input:
-            api = get_api(user_input)
+            api = get_api(self.hass, user_input)
             try:
                 data: AbstractInfoResponse = await api.async_info()
                 data_dict = dataclasses.asdict(data)
diff --git a/homeassistant/components/gogogate2/cover.py b/homeassistant/components/gogogate2/cover.py
index d6b7a8beb3bcdb7a8eba2d07b1c809def0898918..0097198f1c26bb68e9401c911207bf758a798886 100644
--- a/homeassistant/components/gogogate2/cover.py
+++ b/homeassistant/components/gogogate2/cover.py
@@ -3,7 +3,7 @@ from __future__ import annotations
 
 import logging
 
-from gogogate2_api.common import AbstractDoor, DoorStatus, get_configured_doors
+from ismartgate.common import AbstractDoor, DoorStatus, get_configured_doors
 
 from homeassistant.components.cover import (
     DEVICE_CLASS_GARAGE,
diff --git a/homeassistant/components/gogogate2/manifest.json b/homeassistant/components/gogogate2/manifest.json
index 519291c40d1ad8f87378363a21ac378b7fd788f7..a4c07fa1fb828865328ff3fc84f5c141fe0789b4 100644
--- a/homeassistant/components/gogogate2/manifest.json
+++ b/homeassistant/components/gogogate2/manifest.json
@@ -3,8 +3,8 @@
   "name": "Gogogate2 and iSmartGate",
   "config_flow": true,
   "documentation": "https://www.home-assistant.io/integrations/gogogate2",
-  "requirements": ["gogogate2-api==3.0.0"],
-  "codeowners": ["@vangorra"],
+  "requirements": ["ismartgate==4.0.0"],
+  "codeowners": ["@vangorra", "@bdraco"],
   "homekit": {
     "models": ["iSmartGate"]
   },
diff --git a/homeassistant/components/gogogate2/sensor.py b/homeassistant/components/gogogate2/sensor.py
index 2d530d1b2f41432d32eeaca8b735252deabda6b1..99edc8557337b2dfd8b6e12f9785d87121f9acaf 100644
--- a/homeassistant/components/gogogate2/sensor.py
+++ b/homeassistant/components/gogogate2/sensor.py
@@ -3,7 +3,7 @@ from __future__ import annotations
 
 from itertools import chain
 
-from gogogate2_api.common import AbstractDoor, get_configured_doors
+from ismartgate.common import AbstractDoor, get_configured_doors
 
 from homeassistant.components.sensor import SensorEntity
 from homeassistant.config_entries import ConfigEntry
diff --git a/requirements_all.txt b/requirements_all.txt
index cda78d652d86c6b3ee140d684086599f3ab448ae..727904fc6a3a257bebe8664cfba9ea8746c60326 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -671,9 +671,6 @@ gntp==1.0.3
 # homeassistant.components.goalzero
 goalzero==0.1.7
 
-# homeassistant.components.gogogate2
-gogogate2-api==3.0.0
-
 # homeassistant.components.google
 google-api-python-client==1.6.4
 
@@ -833,6 +830,9 @@ influxdb==5.2.3
 # homeassistant.components.iperf3
 iperf3==0.1.11
 
+# homeassistant.components.gogogate2
+ismartgate==4.0.0
+
 # homeassistant.components.rest
 jsonpath==0.82
 
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index f56c94e8c1b212f711e29756fc0b183c24e0c1d9..f7a63940183cea5f56a4b07afefbf798f6fb8398 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -368,9 +368,6 @@ glances_api==0.2.0
 # homeassistant.components.goalzero
 goalzero==0.1.7
 
-# homeassistant.components.gogogate2
-gogogate2-api==3.0.0
-
 # homeassistant.components.google
 google-api-python-client==1.6.4
 
@@ -462,6 +459,9 @@ influxdb-client==1.14.0
 # homeassistant.components.influxdb
 influxdb==5.2.3
 
+# homeassistant.components.gogogate2
+ismartgate==4.0.0
+
 # homeassistant.components.rest
 jsonpath==0.82
 
diff --git a/tests/components/gogogate2/test_config_flow.py b/tests/components/gogogate2/test_config_flow.py
index 621ea4d52328e11c2796e9ea53b22d258e923641..3cc70ddf7ab0e027278e9d63854eacd961d46ba5 100644
--- a/tests/components/gogogate2/test_config_flow.py
+++ b/tests/components/gogogate2/test_config_flow.py
@@ -1,9 +1,9 @@
 """Tests for the GogoGate2 component."""
 from unittest.mock import MagicMock, patch
 
-from gogogate2_api import GogoGate2Api
-from gogogate2_api.common import ApiError
-from gogogate2_api.const import GogoGate2ApiErrorCode
+from ismartgate import GogoGate2Api
+from ismartgate.common import ApiError
+from ismartgate.const import GogoGate2ApiErrorCode
 
 from homeassistant import config_entries, setup
 from homeassistant.components.gogogate2.const import (
diff --git a/tests/components/gogogate2/test_cover.py b/tests/components/gogogate2/test_cover.py
index 41b4368c64078de9a42c08c7e23f2290a6fdef81..3a044c33a9434b3b4ae4f499e80068d425cfe166 100644
--- a/tests/components/gogogate2/test_cover.py
+++ b/tests/components/gogogate2/test_cover.py
@@ -2,8 +2,8 @@
 from datetime import timedelta
 from unittest.mock import MagicMock, patch
 
-from gogogate2_api import GogoGate2Api, ISmartGateApi
-from gogogate2_api.common import (
+from ismartgate import GogoGate2Api, ISmartGateApi
+from ismartgate.common import (
     ApiError,
     DoorMode,
     DoorStatus,
diff --git a/tests/components/gogogate2/test_init.py b/tests/components/gogogate2/test_init.py
index 7bcd2f8d2f23ff34e993948a137c3c82b991c92e..1cfbf52284fba03de60aa9527090624b17e55beb 100644
--- a/tests/components/gogogate2/test_init.py
+++ b/tests/components/gogogate2/test_init.py
@@ -2,7 +2,7 @@
 import asyncio
 from unittest.mock import MagicMock, patch
 
-from gogogate2_api import GogoGate2Api
+from ismartgate import GogoGate2Api
 import pytest
 
 from homeassistant.components.gogogate2 import DEVICE_TYPE_GOGOGATE2, async_setup_entry
diff --git a/tests/components/gogogate2/test_sensor.py b/tests/components/gogogate2/test_sensor.py
index 020989c003adb73b45a61daf2f151bab8ad7ad24..5adc4532750195cd8d67d487db139e728749d1eb 100644
--- a/tests/components/gogogate2/test_sensor.py
+++ b/tests/components/gogogate2/test_sensor.py
@@ -2,8 +2,8 @@
 from datetime import timedelta
 from unittest.mock import MagicMock, patch
 
-from gogogate2_api import GogoGate2Api, ISmartGateApi
-from gogogate2_api.common import (
+from ismartgate import GogoGate2Api, ISmartGateApi
+from ismartgate.common import (
     DoorMode,
     DoorStatus,
     GogoGate2ActivateResponse,