diff --git a/bridges/GameBananaBridge.php b/bridges/GameBananaBridge.php
new file mode 100644
index 00000000..c436407b
--- /dev/null
+++ b/bridges/GameBananaBridge.php
@@ -0,0 +1,86 @@
+ [
+ 'gid' => [
+ 'name' => 'Game ID',
+ 'required' => true,
+ // Example: latest mods from Zelda: Tears of the Kingdom
+ 'exampleValue' => '7617',
+ ],
+ 'updates' => [
+ 'name' => 'Get updates',
+ 'type' => 'checkbox',
+ 'required' => false,
+ 'title' => 'Enable game updates in feed'
+ ],
+ ]
+ ];
+
+ public function getIcon()
+ {
+ return 'https://images.gamebanana.com/static/img/favicon/favicon.ico';
+ }
+
+ public function collectData()
+ {
+ $url = 'https://api.gamebanana.com/Core/List/New?itemtype=Mod&page=1&gameid=' . $this->getInput('gid');
+ if ($this->getInput('updates')) {
+ $url .= '&include_updated=1';
+ }
+ $api_response = getContents($url);
+ $json_list = json_decode($api_response, true); // Get first page mod list
+
+ $url = 'https://api.gamebanana.com/Core/Item/Data?itemtype[]=Game&fields[]=name&itemid[]=' . $this->getInput('gid');
+ $fields = 'name,Owner().name,text,Preview().sSubFeedImageUrl(),Files().aFiles(),date,Url().sProfileUrl(),udate';
+ foreach ($json_list as $element) { // Build api request to minimize API calls
+ $mid = $element[1];
+ $url .= '&itemtype[]=Mod&fields[]=' . $fields . '&itemid[]=' . $mid;
+ }
+ $api_response = getContents($url);
+ $json_list = json_decode($api_response, true);
+
+ $this->title = $json_list[0][0];
+ array_shift($json_list); // Take title from API request and remove from json
+
+ foreach ($json_list as $element) {
+ $item = [];
+ $item['uri'] = $element[6];
+ $item['comments'] = $item['uri'] . '#PostsListModule';
+ $item['title'] = $element[0];
+ $item['author'] = $element[1];
+ $item['content'] = '
' . $element[2];
+ $item['timestamp'] = $element[5];
+ if ($this->getInput('updates')) {
+ $item['timestamp'] = $element[7];
+ }
+ $item['enclosures'] = [];
+ foreach ($element[4] as $file) { // Place mod downloads in enclosures
+ array_push($item['enclosures'], 'https://files.gamebanana.com/mods/' . $file['_sFile']);
+ }
+ $item['uid'] = $item['uri'] . $item['title'] . $item['timestamp'];
+ $this->items[] = $item;
+ }
+ }
+
+ public function getName()
+ {
+ $name = parent::getName();
+ if (isset($this->title)) {
+ $name .= " - $this->title";
+ }
+ return $name;
+ }
+
+ public function getURI()
+ {
+ $uri = parent::getURI() . 'games/' . $this->getInput('gid');
+ return $uri;
+ }
+}