diff --git a/fetch_blocks.py b/fetch_blocks.py
index e590c24f451efef970744dd1cd629dcdf4067b07..dbf53a92110505a4d24a02ddc1582f7f6b22d0d8 100644
--- a/fetch_blocks.py
+++ b/fetch_blocks.py
@@ -21,4 +21,21 @@ with open("pleroma_instances.txt", "r") as f:
         except:
             pass
 
+with open("mastodon_instances.txt", "r") as f:
+    while blocker := f.readline().strip():
+        print(blocker)
+        c.execute(f"delete from blocks where blocker = '{blocker}'")
+        conn.commit()
+        try:
+            json = loads(get(f"http://127.0.0.1:8069/{blocker}").text)
+            for blocked in json["reject"]:
+                c.execute(f"insert into blocks select '{blocker}', ifnull((select domain from instances where hash = '{blocked['hash']}'), '{blocked['hash']}'), '{blocked['reason']}', 'reject'")
+            for blocked in json["media_removal"]:
+                c.execute(f"insert into blocks select '{blocker}', ifnull((select domain from instances where hash = '{blocked['hash']}'), '{blocked['hash']}'), '{blocked['reason']}', 'media_removal'")
+            for blocked in json["federated_timeline_removal"]:
+                c.execute(f"insert into blocks select '{blocker}', ifnull((select domain from instances where hash = '{blocked['hash']}'), '{blocked['hash']}'), '{blocked['reason']}', 'federated_timeline_removal'")
+            conn.commit()
+        except:
+            pass
+
 conn.close()
\ No newline at end of file