diff --git a/src/server/api/endpoints/hashtags/list.ts b/src/server/api/endpoints/hashtags/list.ts
index 5939c10192..f454d47fed 100644
--- a/src/server/api/endpoints/hashtags/list.ts
+++ b/src/server/api/endpoints/hashtags/list.ts
@@ -44,7 +44,14 @@ export const meta = {
 				'-attachedRemoteUsers',
 			]),
 		},
-	}
+	},
+
+	res: {
+		type: 'array',
+		items: {
+			type: 'Hashtag'
+		}
+	},
 };
 
 const sort: any = {
diff --git a/src/server/api/endpoints/hashtags/search.ts b/src/server/api/endpoints/hashtags/search.ts
index ff7ca44f51..19b2975adf 100644
--- a/src/server/api/endpoints/hashtags/search.ts
+++ b/src/server/api/endpoints/hashtags/search.ts
@@ -35,7 +35,14 @@ export const meta = {
 				'ja-JP': 'オフセット'
 			}
 		}
-	}
+	},
+
+	res: {
+		type: 'array',
+		items: {
+			type: 'string'
+		}
+	},
 };
 
 export default define(meta, async (ps) => {
diff --git a/src/server/api/endpoints/hashtags/users.ts b/src/server/api/endpoints/hashtags/users.ts
index f589c37b82..4b047aee95 100644
--- a/src/server/api/endpoints/hashtags/users.ts
+++ b/src/server/api/endpoints/hashtags/users.ts
@@ -44,7 +44,14 @@ export const meta = {
 			]),
 			default: 'local'
 		}
-	}
+	},
+
+	res: {
+		type: 'array',
+		items: {
+			type: 'User'
+		}
+	},
 };
 
 const sort: any = {
diff --git a/src/server/api/openapi/schemas.ts b/src/server/api/openapi/schemas.ts
index e4b917693a..144ea51e41 100644
--- a/src/server/api/openapi/schemas.ts
+++ b/src/server/api/openapi/schemas.ts
@@ -361,4 +361,48 @@ export const schemas = {
 		},
 		required: ['id', 'createdAt', 'blockee']
 	},
+
+	Hashtag: {
+		type: 'object',
+		properties: {
+			tag: {
+				type: 'string',
+				description: 'The hashtag name. No # prefixed.',
+				example: 'misskey',
+			},
+			mentionedUsersCount: {
+				type: 'number',
+				description: 'Number of all users using this hashtag.'
+			},
+			mentionedLocalUsersCount: {
+				type: 'number',
+				description: 'Number of local users using this hashtag.'
+			},
+			mentionedRemoteUsersCount: {
+				type: 'number',
+				description: 'Number of remote users using this hashtag.'
+			},
+			attachedUsersCount: {
+				type: 'number',
+				description: 'Number of all users who attached this hashtag to profile.'
+			},
+			attachedLocalUsersCount: {
+				type: 'number',
+				description: 'Number of local users who attached this hashtag to profile.'
+			},
+			attachedRemoteUsersCount: {
+				type: 'number',
+				description: 'Number of remote users who attached this hashtag to profile.'
+			},
+		},
+		required: [
+			'tag',
+			'mentionedUsersCount',
+			'mentionedLocalUsersCount',
+			'mentionedRemoteUsersCount',
+			'attachedUsersCount',
+			'attachedLocalUsersCount',
+			'attachedRemoteUsersCount',
+		]
+	},
 };