diff --git a/services/greasyfork/greasyfork-base.js b/services/greasyfork/greasyfork-base.js
index a9c474647c4a274c6f07e07541aba88e0bb28453..ff1ae773948361fc669a86b5b51a5f9a19c51fa9 100644
--- a/services/greasyfork/greasyfork-base.js
+++ b/services/greasyfork/greasyfork-base.js
@@ -1,6 +1,6 @@
 import Joi from 'joi'
 import { nonNegativeInteger } from '../validators.js'
-import { BaseJsonService } from '../index.js'
+import { BaseJsonService, NotFound } from '../index.js'
 
 const schema = Joi.object({
   daily_installs: nonNegativeInteger,
@@ -16,9 +16,17 @@ export default class BaseGreasyForkService extends BaseJsonService {
   static defaultBadgeData = { label: 'greasy fork' }
 
   async fetch({ scriptId }) {
-    return this._requestJson({
-      schema,
-      url: `https://greasyfork.org/scripts/${scriptId}.json`,
-    })
+    try {
+      return await this._requestJson({
+        schema,
+        url: `https://greasyfork.org/scripts/${scriptId}.json`,
+      })
+    } catch (e) {
+      if (!(e instanceof NotFound)) throw e
+      return this._requestJson({
+        schema,
+        url: `https://sleazyfork.org/scripts/${scriptId}.json`,
+      })
+    }
   }
 }
diff --git a/services/greasyfork/greasyfork-downloads.tester.js b/services/greasyfork/greasyfork-downloads.tester.js
index dc69e7c1cbaf38629a800b2efed51f53d97d38ae..ad8102e844415f4d702c23ac477e788e057e575c 100644
--- a/services/greasyfork/greasyfork-downloads.tester.js
+++ b/services/greasyfork/greasyfork-downloads.tester.js
@@ -17,3 +17,7 @@ t.create('Total Installs')
 t.create('Total Installs (not found)')
   .get('/dt/000000.json')
   .expectBadge({ label: 'installs', message: 'not found' })
+
+t.create('Total Installs (sleazyfork)')
+  .get('/dt/374903.json')
+  .expectBadge({ label: 'installs', message: isMetric })