diff --git a/swh/storage/api/client.py b/swh/storage/api/client.py
--- a/swh/storage/api/client.py
+++ b/swh/storage/api/client.py
@@ -98,10 +98,10 @@
     def occurrence_add(self, occurrences):
         return self.post('occurrence/add', {'occurrences': occurrences})
 
-    def snapshot_add(self, origin, visit, snapshot, back_compat=False):
+    def snapshot_add(self, origin, visit, snapshot):
         return self.post('snapshot/add', {
             'origin': origin, 'visit': visit, 'snapshot': snapshot,
-            'back_compat': back_compat})
+        })
 
     def snapshot_get(self, snapshot_id):
         return self.post('snapshot', {'snapshot_id': snapshot_id})
diff --git a/swh/storage/storage.py b/swh/storage/storage.py
--- a/swh/storage/storage.py
+++ b/swh/storage/storage.py
@@ -714,7 +714,7 @@
             )
 
     @db_transaction()
-    def snapshot_add(self, origin, visit, snapshot, back_compat=False,
+    def snapshot_add(self, origin, visit, snapshot,
                      db=None, cur=None):
         """Add a snapshot for the given origin/visit couple
 
@@ -736,8 +736,6 @@
                 - **target** (:class:`bytes`): identifier of the target
                   (currently a ``sha1_git`` for all object kinds, or the name
                   of the target branch for aliases)
-            back_compat (bool): whether to add the occurrences for
-              backwards-compatibility
         """
         if not db.snapshot_exists(snapshot['id'], cur):
             db.mktemp_snapshot_branch(cur)
@@ -757,31 +755,6 @@
 
         db.snapshot_add(origin, visit, snapshot['id'], cur)
 
-        if not back_compat:
-            return
-
-        # TODO: drop this compat feature
-        occurrences = []
-        for name, info in snapshot['branches'].items():
-            if not info:
-                target = b'\x00' * 20
-                target_type = 'revision'
-            elif info['target_type'] == 'alias':
-                continue
-            else:
-                target = info['target']
-                target_type = info['target_type']
-
-            occurrences.append({
-                'origin': origin,
-                'visit': visit,
-                'branch': name,
-                'target': target,
-                'target_type': target_type,
-            })
-
-        self.occurrence_add(occurrences, db=db, cur=cur)
-
     @db_transaction(statement_timeout=2000)
     def snapshot_get(self, snapshot_id, db=None, cur=None):
         """Get the snapshot with the given id
@@ -971,7 +944,7 @@
             data = dict(zip(db.origin_visit_get_cols, line))
             yield data
 
-    @db_transaction(statement_timeout=2000)
+    @db_transaction(statement_timeout=500)
     def origin_visit_get_by(self, origin, visit, db=None, cur=None):
         """Retrieve origin visit's information.
 
@@ -986,25 +959,7 @@
         if not ori_visit:
             return None
 
-        ori_visit = dict(zip(db.origin_visit_get_cols, ori_visit))
-
-        if ori_visit['snapshot']:
-            ori_visit['occurrences'] = self.snapshot_get(
-                ori_visit['snapshot'], db=db, cur=cur)['branches']
-            return ori_visit
-
-        # TODO: remove Backwards compatibility after snapshot migration
-        occs = {}
-        for occ in db.occurrence_by_origin_visit(origin, visit):
-            _, branch_name, target, target_type = occ
-            occs[branch_name] = {
-                'target': target,
-                'target_type': target_type
-            }
-
-        ori_visit['occurrences'] = occs
-
-        return ori_visit
+        return dict(zip(db.origin_visit_get_cols, ori_visit))
 
     @db_transaction_generator(statement_timeout=500)
     def revision_get_by(self,
diff --git a/swh/storage/tests/test_storage.py b/swh/storage/tests/test_storage.py
--- a/swh/storage/tests/test_storage.py
+++ b/swh/storage/tests/test_storage.py
@@ -1480,13 +1480,8 @@
             origin_id,
             ts=self.date_visit2)
 
-        occurrence2 = self.occurrence2.copy()
-        occurrence2.update({
-            'origin': origin_id,
-            'visit': origin_visit1['visit'],
-        })
-
-        self.storage.occurrence_add([occurrence2])
+        self.storage.snapshot_add(origin_id, origin_visit1['visit'],
+                                  self.snapshot)
 
         # Add some other {origin, visit} entries
         self.storage.origin_visit_add(origin_id, ts=self.date_visit3)
@@ -1509,13 +1504,7 @@
             'date': self.date_visit2,
             'metadata': visit1_metadata,
             'status': 'full',
-            'occurrences': {
-                occurrence2['branch']: {
-                    'target': occurrence2['target'],
-                    'target_type': occurrence2['target_type'],
-                }
-            },
-            'snapshot': None,
+            'snapshot': self.snapshot['id'],
         })
 
         # when
@@ -1668,11 +1657,9 @@
         by_ov = self.storage.snapshot_get_by_origin_visit(origin_id, visit_id)
         self.assertEqual(by_ov, self.snapshot)
 
-        # retrocompat test
         origin_visit_info = self.storage.origin_visit_get_by(origin_id,
                                                              visit_id)
-        self.assertEqual(origin_visit_info['occurrences'],
-                         self.snapshot['branches'])
+        self.assertEqual(origin_visit_info['snapshot'], self.snapshot['id'])
 
     @istest
     def snapshot_add_twice(self):
@@ -1709,70 +1696,6 @@
                                                           bogus_visit_id)
         self.assertIsNone(by_ov)
 
-    @istest
-    def snapshot_get_retrocompat(self):
-        empty_retro_snapshot = {
-            'id': None,
-            'branches': {},
-        }
-        origin_id = self.storage.origin_add_one(self.origin)
-        origin_visit1 = self.storage.origin_visit_add(origin_id,
-                                                      self.date_visit1)
-        visit_id = origin_visit1['visit']
-
-        by_ov = self.storage.snapshot_get_by_origin_visit(origin_id, visit_id)
-
-        self.assertEqual(by_ov, empty_retro_snapshot)
-
-        self.storage.revision_add([self.revision])
-        self.storage.occurrence_add([{
-            'origin': origin_id,
-            'visit': visit_id,
-            'branch': self.occurrence['branch'],
-            'target': self.occurrence['target'],
-            'target_type': self.occurrence['target_type'],
-        }])
-
-        one_branch_retro_snapshot = {
-            'id': None,
-            'branches': {
-                self.occurrence['branch']: {
-                    'target': self.occurrence['target'],
-                    'target_type': self.occurrence['target_type'],
-                },
-            },
-        }
-
-        by_ov = self.storage.snapshot_get_by_origin_visit(origin_id, visit_id)
-        self.assertEqual(by_ov, one_branch_retro_snapshot)
-
-    @istest
-    def snapshot_add_back_compat(self):
-        origin_id = self.storage.origin_add_one(self.origin)
-        origin_visit1 = self.storage.origin_visit_add(origin_id,
-                                                      self.date_visit1)
-        visit_id = origin_visit1['visit']
-        self.storage.snapshot_add(origin_id, visit_id, self.complete_snapshot,
-                                  back_compat=True)
-
-        ov = self.storage.origin_visit_get_by(origin_id, visit_id)
-        self.assertEquals(ov['occurrences'],
-                          self.complete_snapshot['branches'])
-        self.assertEquals(ov['snapshot'],
-                          self.complete_snapshot['id'])
-
-        origin_visit2 = self.storage.origin_visit_add(origin_id,
-                                                      self.date_visit2)
-        visit_id = origin_visit2['visit']
-        self.storage.snapshot_add(origin_id, visit_id, self.complete_snapshot,
-                                  back_compat=False)
-
-        ov = self.storage.origin_visit_get_by(origin_id, visit_id)
-        self.assertEquals(ov['occurrences'],
-                          self.complete_snapshot['branches'])
-        self.assertEquals(ov['snapshot'],
-                          self.complete_snapshot['id'])
-
     @istest
     def snapshot_get_latest(self):
         origin_id = self.storage.origin_add_one(self.origin)