diff --git a/docs/supportedsites.md b/docs/supportedsites.md
index 3598ae4d..5af473a5 100644
--- a/docs/supportedsites.md
+++ b/docs/supportedsites.md
@@ -787,6 +787,12 @@ Consider all listed sites to potentially be NSFW.
Favorites, Pools, Posts, Tag Searches
+
+
RedBust
+
https://redbust.com/
+
Archives, Galleries, Categories, individual Images, Tag Searches
+
+
Reddit
https://www.reddit.com/
diff --git a/gallery_dl/extractor/__init__.py b/gallery_dl/extractor/__init__.py
index e656718f..11b6ecdc 100644
--- a/gallery_dl/extractor/__init__.py
+++ b/gallery_dl/extractor/__init__.py
@@ -145,6 +145,7 @@ modules = [
"reactor",
"readcomiconline",
"realbooru",
+ "redbust",
"reddit",
"redgifs",
"rule34us",
diff --git a/gallery_dl/extractor/redbust.py b/gallery_dl/extractor/redbust.py
new file mode 100644
index 00000000..3a3af13e
--- /dev/null
+++ b/gallery_dl/extractor/redbust.py
@@ -0,0 +1,186 @@
+# -*- coding: utf-8 -*-
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+
+"""Extractors for https://redbust.com/"""
+
+from .common import GalleryExtractor, Extractor, Message
+from .. import text
+
+BASE_PATTERN = r"(?:https?://)?redbust\.com"
+
+
+class RedbustExtractor(Extractor):
+ """Base class for RedBust extractors"""
+ category = "redbust"
+ root = "https://redbust.com"
+ filename_fmt = "{filename}.{extension}"
+
+ def items(self):
+ data = {"_extractor": RedbustGalleryExtractor}
+ for url in self.galleries():
+ yield Message.Queue, url, data
+
+ def _pagination(self, path, page=None):
+ if page is None:
+ url = f"{self.root}{path}/"
+ base = url + "page/"
+ page = self.request(url).text
+ else:
+ base = f"{self.root}{path}/page/"
+
+ pnum = 1
+ while True:
+ for post in text.extract_iter(
+ page, '