diff --git a/grafana_api/grafana_api.py b/grafana_api/grafana_api.py
index e965768..bb7cc5e 100644
--- a/grafana_api/grafana_api.py
+++ b/grafana_api/grafana_api.py
@@ -56,9 +56,11 @@ class GrafanaAPI:
         url_path_prefix="",
         protocol="http",
         verify=True,
+        timeout=5.0,
     ):
         self.auth = auth
         self.verify = verify
+        self.timeout = timeout
         self.url_host = host
         self.url_port = port
         self.url_path_prefix = url_path_prefix
@@ -92,7 +94,7 @@ class GrafanaAPI:
             __url = "%s%s" % (self.url, url)
             runner = getattr(self.s, item.lower())
             r = runner(
-                __url, json=json, headers=headers, auth=self.auth, verify=self.verify
+                __url, json=json, headers=headers, auth=self.auth, verify=self.verify, timeout=self.timeout
             )
             if 500 <= r.status_code < 600:
                 raise GrafanaServerError(
diff --git a/grafana_api/grafana_face.py b/grafana_api/grafana_face.py
index dcc8667..f9fe53b 100644
--- a/grafana_api/grafana_face.py
+++ b/grafana_api/grafana_face.py
@@ -24,6 +24,7 @@ class GrafanaFace:
         url_path_prefix="",
         protocol="http",
         verify=True,
+        timeout=5.0,
     ):
         self.api = GrafanaAPI(
             auth,
@@ -32,6 +33,7 @@ class GrafanaFace:
             url_path_prefix=url_path_prefix,
             protocol=protocol,
             verify=verify,
+            timeout=timeout,
         )
         self.admin = Admin(self.api)
         self.dashboard = Dashboard(self.api)

Missing timeouts
**Describe the bug**
The requests never timeout, this is not a good idea in general

**Expected behavior**
The user should be able to set one and there should be a default (maybe 10s)
diff --git a/test/test_grafana.py b/test/test_grafana.py
index d4affad..1c8ede3 100644
--- a/test/test_grafana.py
+++ b/test/test_grafana.py
@@ -67,8 +67,22 @@ class TestGrafanaAPI(unittest.TestCase):
             headers=None,
             json=None,
             verify=False,
+            timeout=5.0,
         )
 
+    def test_grafana_api_timeout(self):
+        cli = GrafanaFace(
+            ("admin", "admin"),
+            host="play.grafana.org",
+            url_path_prefix="",
+            protocol="https",
+            verify=False,
+            timeout=0.0001
+        )
+
+        with self.assertRaises(requests.exceptions.Timeout):
+            cli.folder.get_all_folders()
+
     def test_grafana_api_basic_auth(self):
         cli = GrafanaFace(
             ("admin", "admin"), host="localhost", url_path_prefix="", protocol="https",port="3000"

pip install -e .[dev]
parse_log_pytest
pytest
unittest-xml-reporting pytest
3.7
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs @ file:///croot/attrs_1668696182826/work
certifi @ file:///croot/certifi_1671487769961/work/certifi
charset-normalizer==3.4.1
flit_core @ file:///opt/conda/conda-bld/flit-core_1644941570762/work/source/flit_core
-e git+https://github.com/m0nhawk/grafana_api.git@b5f1266273fb836580b03224456843b043089814#egg=grafana_api
idna==3.10
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1648562407465/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
lxml==5.3.1
packaging @ file:///croot/packaging_1671697413597/work
pluggy @ file:///tmp/build/80754af9/pluggy_1648042572264/work
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pytest==7.1.2
PyYAML==6.0.1
requests==2.31.0
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work
typing_extensions @ file:///croot/typing_extensions_1669924550328/work
unittest-xml-reporting==3.2.0
urllib3==2.0.7
zipp @ file:///croot/zipp_1672387121353/work

name: grafana_api
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=22.1.0=py37h06a4308_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - flit-core=3.6.0=pyhd3eb1b0_0
  - importlib-metadata=4.11.3=py37h06a4308_0
  - importlib_metadata=4.11.3=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=22.0=py37h06a4308_0
  - pip=22.3.1=py37h06a4308_0
  - pluggy=1.0.0=py37h06a4308_1
  - py=1.11.0=pyhd3eb1b0_0
  - pytest=7.1.2=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py37h06a4308_0
  - typing_extensions=4.4.0=py37h06a4308_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.11.0=py37h06a4308_0
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - charset-normalizer==3.4.1
      - idna==3.10
      - lxml==5.3.1
      - pyyaml==6.0.1
      - requests==2.31.0
      - unittest-xml-reporting==3.2.0
      - urllib3==2.0.7
prefix: /opt/conda/envs/grafana_api

test/test_grafana.py::TestGrafanaAPI::test_grafana_api_no_verify
test/test_grafana.py::TestGrafanaAPI::test_grafana_api_timeout
test/test_grafana.py::TestGrafanaAPI::test_grafana_api test/test_grafana.py::TestGrafanaAPI::test_grafana_api_basic_auth test/test_grafana.py::TestGrafanaAPI::test_grafana_api_token_auth
grafana_api/grafana_api.py grafana_api/grafana_face.py
grafana_api/grafana_api.py grafana_api/grafana_face.py