diff --git a/authentik/core/api/users.py b/authentik/core/api/users.py
index 767007960..a5bb1e8c3 100644
--- a/authentik/core/api/users.py
+++ b/authentik/core/api/users.py
@@ -199,6 +199,7 @@ class UsersFilter(FilterSet):
     )
 
     is_superuser = BooleanFilter(field_name="ak_groups", lookup_expr="is_superuser")
+    uid = CharFilter(field_name="uid")
 
     groups_by_name = ModelMultipleChoiceFilter(
         field_name="ak_groups__name",
@@ -248,7 +249,7 @@ class UserViewSet(UsedByMixin, ModelViewSet):
     queryset = User.objects.none()
     ordering = ["username"]
     serializer_class = UserSerializer
-    search_fields = ["username", "name", "is_active", "email"]
+    search_fields = ["username", "name", "is_active", "email", "uid"]
     filterset_class = UsersFilter
 
     def get_queryset(self):  # pragma: no cover
diff --git a/schema.yml b/schema.yml
index bf1a9f160..ba6eb5efa 100644
--- a/schema.yml
+++ b/schema.yml
@@ -3036,6 +3036,10 @@ paths:
         description: A search term.
         schema:
           type: string
+      - in: query
+        name: uid
+        schema:
+          type: string
       - in: query
         name: username
         schema: