diff --git a/docs/supportedsites.md b/docs/supportedsites.md
index 5f4ae49d..3b3dbb69 100644
--- a/docs/supportedsites.md
+++ b/docs/supportedsites.md
@@ -364,7 +364,7 @@ Consider all sites to be NSFW unless otherwise known.
Inkbunny |
https://inkbunny.net/ |
- Favorites, Pools, Posts, User Profiles |
+ Favorites, Pools, Posts, Search Results, User Profiles |
Supported |
diff --git a/gallery_dl/extractor/inkbunny.py b/gallery_dl/extractor/inkbunny.py
index 3d09d791..8ee8ca94 100644
--- a/gallery_dl/extractor/inkbunny.py
+++ b/gallery_dl/extractor/inkbunny.py
@@ -205,6 +205,28 @@ class InkbunnyFavoriteExtractor(InkbunnyExtractor):
return self.api.search(params)
+class InkbunnySearchExtractor(InkbunnyExtractor):
+ """Extractor for inkbunny search results"""
+ subcategory = "search"
+ pattern = (BASE_PATTERN +
+ r"/submissionsviewall\.php\?([^#]+&mode=search&[^#]+)")
+ test = (("https://inkbunny.net/submissionsviewall.php?rid=ffffffffff"
+ "&mode=search&page=1&orderby=create_datetime&text=cute"
+ "&stringtype=and&keywords=yes&title=yes&description=no&artist="
+ "&favsby=&type=&days=&keyword_id=&user_id=&random=&md5="), {
+ "range": "1-10",
+ "count": 10,
+ })
+
+ def __init__(self, match):
+ InkbunnyExtractor.__init__(self, match)
+ self.params = text.parse_query(match.group(1))
+ self.params.pop("rid", None)
+
+ def posts(self):
+ return self.api.search(self.params)
+
+
class InkbunnyFollowingExtractor(InkbunnyExtractor):
"""Extractor for inkbunny user watches"""
subcategory = "following"