diff --git a/requirements.dev.txt b/requirements.dev.txt
index f15157c25f5412f73436b276ae0c73fae4f3db7a..563cd78670b19a7b90235ede926e230e4edcce02 100644
--- a/requirements.dev.txt
+++ b/requirements.dev.txt
@@ -2,7 +2,7 @@
 #
 # SPDX-License-Identifier: CC0-1.0
 
--e ../tgclients/
+-e ../tgclients[icu]
 bandit==1.7.0
 black==22.1.0
 commitizen==2.20.0
diff --git a/requirements.txt b/requirements.txt
index ceb6aa02719fe987bb67241101bfea8a292868cd..9209a4456638de8836b3d11f726e483e28444d3a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,7 +2,7 @@
 #
 # SPDX-License-Identifier: CC0-1.0
 
-https://gitlab.gwdg.de/dariah-de/textgridrep/textgrid-python-clients/-/archive/ce076d15a29aeb13a87cc33d343b6730a2ec22ec/textgrid-python-clients-1d58717eb0175514eba5dec759c07c4be3090f16.tar.gz
+tgclients[icu]==0.8.0
 cheroot==9.0.0
 sentry-sdk==1.11.1
 WsgiDAV==4.1.0
diff --git a/src/repdav/textgrid_dav_provider.py b/src/repdav/textgrid_dav_provider.py
index cc8a89a58b2048a558f8ef15d895624a865a446a..a0b89d978843f142dedca7e4bf32d9b587647610 100644
--- a/src/repdav/textgrid_dav_provider.py
+++ b/src/repdav/textgrid_dav_provider.py
@@ -9,10 +9,7 @@ import logging
 import threading
 from pprint import pformat
 
-from tgclients.auth import TextgridAuth
-from tgclients.config import TextgridConfig
-from tgclients.crud import TextgridCRUD
-from tgclients.search import TextgridSearch
+from tgclients import TextgridAuth, TextgridConfig, TextgridCrudRequest, TextgridSearch
 from wsgidav.dav_provider import DAVCollection, DAVNonCollection, DAVProvider
 from wsgidav.util import join_uri, pop_path
 
@@ -95,7 +92,7 @@ class TextgridProject(DAVCollection):
         DAVCollection.__init__(self, path, environ)
         self._sid = environ["wsgidav.auth.user_name"]
         config = tg_config(environ)
-        self._tgsearch = TextgridSearch(config.search)
+        self._tgsearch = TextgridSearch(config, nonpublic=True)
         self._project_id = self.path.split("/")[-1]
 
     def create_empty_resource(self, name):
@@ -187,7 +184,7 @@ class TextgridAggregation(DAVCollection):
         self._sid = environ["wsgidav.auth.user_name"]
         self._info = info
         config = tg_config(environ)
-        self._tgsearch = TextgridSearch(config.search)
+        self._tgsearch = TextgridSearch(config, nonpublic=True)
         self._tguri = self.path.split("/")[-1]
 
     def create_empty_resource(self, name):
@@ -273,7 +270,7 @@ class TextgridResource(DAVNonCollection):
         self._info = info
         self.upload_thread = None
         config = tg_config(environ)
-        self._crud = TextgridCRUD(config.crud)
+        self._crud = TextgridCrudRequest(config, nonpublic=True)
 
     def get_content_length(self):
         _logger.debug("Called TextgridResource.get_content_length(self).")