diff --git a/docs/reference/gtk/gtk4-docs.xml b/docs/reference/gtk/gtk4-docs.xml
index 141404c3ac..0d3c430dfb 100644
--- a/docs/reference/gtk/gtk4-docs.xml
+++ b/docs/reference/gtk/gtk4-docs.xml
@@ -48,6 +48,7 @@
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index d885f46757..2e932f07df 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -7781,3 +7781,21 @@ GTK_TYPE_EXPRESSION
gtk_expression_get_type
+
+
+gtkstringfilter
+GtkStringFilter
+GtkStringFilterMatchMode
+gtk_string_filter_new
+gtk_string_filter_get_search
+gtk_string_filter_set_search
+gtk_string_filter_get_expression
+gtk_string_filter_set_expression
+gtk_string_filter_get_ignore_case
+gtk_string_filter_set_ignore_case
+gtk_string_filter_get_match_mode
+gtk_string_filter_set_match_mode
+
+
+gtk_string_filter_get_type
+
diff --git a/docs/reference/gtk/gtk4.types.in b/docs/reference/gtk/gtk4.types.in
index b85eab0b38..c354bf133a 100644
--- a/docs/reference/gtk/gtk4.types.in
+++ b/docs/reference/gtk/gtk4.types.in
@@ -194,6 +194,7 @@ gtk_stack_page_get_type
gtk_stack_sidebar_get_type
gtk_stack_switcher_get_type
gtk_statusbar_get_type
+gtk_string_filter_get_type
gtk_string_sorter_get_type
gtk_switch_get_type
gtk_level_bar_get_type
diff --git a/gtk/gtkstringfilter.c b/gtk/gtkstringfilter.c
index e7b82176b4..59c2726354 100644
--- a/gtk/gtkstringfilter.c
+++ b/gtk/gtkstringfilter.c
@@ -24,6 +24,19 @@
#include "gtkintl.h"
#include "gtktypebuiltins.h"
+/**
+ * SECTION:gtkstringfilter
+ * @Title: GtkStringFilter
+ * @Short_description: Filtering by string
+ *
+ * GtkStringFilter determines whether to include items by looking
+ * at strings and comparing them to a fixed search term. The strings
+ * are obtained from the items by evaluating a #GtkExpression.
+ *
+ * GtkStringFilter has several different modes of comparison - it
+ * can match the whole string, just a prefix, or any substring.
+ */
+
struct _GtkStringFilter
{
GtkFilter parent_instance;