diff --git a/accept_merge_request.py b/accept_merge_request.py
index 878c8a075ddd7903a1a196a6ed73b046ca328aa8..75ad1b093281fd887134b90f136d9caa32ddf6fb 100755
--- a/accept_merge_request.py
+++ b/accept_merge_request.py
@@ -27,7 +27,9 @@ def accept_merge_request(project, mr, rebase=False):
         # Update merge request before trying to merge it in order to get the latest
         # pipeline status
         try:
-            updated_mr = project.mergerequests.get(id=mr.iid)
+            updated_mr = project.mergerequests.get(
+                id=mr.iid, retry_transient_errors=True
+            )
             mr = updated_mr
         except GitlabGetError as e:
             print("WARNING: Could not update merge request object: %s" % e)
@@ -129,7 +131,9 @@ def main():
     project = common.get_project(gitlab, args.project)
 
     try:
-        merge_request = project.mergerequests.get(id=args.merge_request)
+        merge_request = project.mergerequests.get(
+            id=args.merge_request, retry_transient_errors=True
+        )
     except GitlabGetError as e:
         sys.exit("Could not get merge request: %s" % e)
 
diff --git a/check_pipeline_status.py b/check_pipeline_status.py
index 3ddfa12e15005da806699ec4b6c63093a72bb12b..e627495429a265058db69d51447a3e5937909d52 100755
--- a/check_pipeline_status.py
+++ b/check_pipeline_status.py
@@ -11,7 +11,7 @@ def check_pipeline_status(project, commit):
     """Get latest pipeline status for a given commit"""
 
     # Find pipeline for commit
-    pipelines = project.pipelines.list(sha=commit)
+    pipelines = project.pipelines.list(sha=commit, retry_transient_errors=True)
     if not pipelines:
         print("ERROR: no pipeline for commit '%s' found" % commit)
         sys.exit(1)
@@ -23,7 +23,7 @@ def check_pipeline_status(project, commit):
     while pipeline.status not in terminated_states:
         print(".", end="", flush=True)
         time.sleep(1)
-        pipeline = project.pipelines.get(pipeline.id)
+        pipeline = project.pipelines.get(pipeline.id, retry_transient_errors=True)
     print("")
     print("Result: %s" % pipeline.status)
 
diff --git a/common.py b/common.py
index 59934279f3f3cc9b16cd4b2a959c8e4849483a75..10b23fe7d1744022f2159319b7bf323093f96c14 100755
--- a/common.py
+++ b/common.py
@@ -43,7 +43,7 @@ def get_project(gitlab, project_name):
 def get_latest_commit(project, branch_name):
     """Get latest commit on a given project branch"""
     try:
-        branch = project.branches.get(branch_name)
+        branch = project.branches.get(branch_name, retry_transient_errors=True)
     except GitlabGetError as e:
         sys.exit(
             "ERROR: could not get branch '%s' for project '%s': %s"
@@ -72,6 +72,7 @@ def rebase_merge_request(project, merge_request):
             updated_merge_request = project.mergerequests.get(
                 id=merge_request.iid,
                 query_parameters={"include_rebase_in_progress": "True"},
+                retry_transient_errors=True,
             )
         except GitlabGetError as e:
             merge_request.merge_error = "Could not get updated merge request: %s" % e
diff --git a/integrate_into_manifest.py b/integrate_into_manifest.py
index 69992332b1cf0d429fe8179194b13d19973280ad..5568f375bb8c6e6d1bffa45a23bd895700c82070 100755
--- a/integrate_into_manifest.py
+++ b/integrate_into_manifest.py
@@ -160,7 +160,9 @@ def main():
     manifest_project = common.get_project(gitlab, args.manifest_project)
     project = common.get_project(gitlab, args.project)
     try:
-        merge_request = project.mergerequests.get(args.merge_request)
+        merge_request = project.mergerequests.get(
+            args.merge_request, retry_transient_errors=True
+        )
     except GitlabGetError as e:
         sys.exit(
             "ERROR: could not get %s!%s: %s"
diff --git a/merge_into_manifest.py b/merge_into_manifest.py
index edf0330ca87a8cd7ff3b639b56c132f703049f9b..1d608e1c74db07e93f070861c8d82b83c5d24d0f 100755
--- a/merge_into_manifest.py
+++ b/merge_into_manifest.py
@@ -51,11 +51,11 @@ def merge_into_manifest(manifest_project, master_branch, project, commit):
 
     # Check if branches exist
     try:
-        manifest_project.branches.get(integration_branch)
+        manifest_project.branches.get(integration_branch, retry_transient_errors=True)
     except GitlabGetError:
         sys.exit("ERROR: source branch '%s' does not exist." % integration_branch)
     try:
-        manifest_project.branches.get(target_branch)
+        manifest_project.branches.get(target_branch, retry_transient_errors=True)
     except GitlabGetError:
         sys.exit("ERROR: target branch '%s' does not exist." % target_branch)
 
diff --git a/retrigger_mr_pipeline.py b/retrigger_mr_pipeline.py
index ebfd67b5c07f38405ab78c3e6af861235d9d948b..c46dc608bb2d50e31302cb275c4bc86968df0ea6 100755
--- a/retrigger_mr_pipeline.py
+++ b/retrigger_mr_pipeline.py
@@ -59,7 +59,7 @@ def main():
     gitlab = Gitlab(args.gitlab_url, private_token=args.token)
     project = common.get_project(gitlab, args.project)
     try:
-        mr = project.mergerequests.get(args.iid)
+        mr = project.mergerequests.get(args.iid, retry_transient_errors=True)
     except GitlabGetError as e:
         sys.exit(
             "ERROR: could not get merge request %s:!%s: %s"