diff --git a/api/funkwhale_api/federation/activity.py b/api/funkwhale_api/federation/activity.py
index 7d20d7f9ccdd8755618dee6da0869c4419b74f0b..a674c70e3e3be77a4acff738dec562fd8354add0 100644
--- a/api/funkwhale_api/federation/activity.py
+++ b/api/funkwhale_api/federation/activity.py
@@ -73,6 +73,7 @@ def deliver(activity, on_behalf_of, to=[]):
             auth=auth,
             json=activity,
             url=recipient_actor.inbox_url,
+            timeout=5,
             headers={
                 'Content-Type': 'application/activity+json'
             }
diff --git a/api/funkwhale_api/federation/actors.py b/api/funkwhale_api/federation/actors.py
index 2f6c04de0f9b434b9e060c22d4e541870991b289..d3a2093a9734d89d1024a88d6b732ad80560e09e 100644
--- a/api/funkwhale_api/federation/actors.py
+++ b/api/funkwhale_api/federation/actors.py
@@ -31,6 +31,7 @@ def remove_tags(text):
 def get_actor_data(actor_url):
     response = session.get_session().get(
         actor_url,
+        timeout=5,
         headers={
             'Accept': 'application/activity+json',
         }
@@ -42,6 +43,7 @@ def get_actor_data(actor_url):
         raise ValueError(
             'Invalid actor payload: {}'.format(response.text))
 
+
 def get_actor(actor_url):
     data = get_actor_data(actor_url)
     serializer = serializers.ActorSerializer(data=data)
diff --git a/api/funkwhale_api/federation/webfinger.py b/api/funkwhale_api/federation/webfinger.py
index 011dcf576fa8d7cef8a7c9f919d8ce163f06e7c6..444998b945feb5d258d0ae1d082b00f0e82c2887 100644
--- a/api/funkwhale_api/federation/webfinger.py
+++ b/api/funkwhale_api/federation/webfinger.py
@@ -47,7 +47,7 @@ def get_resource(resource_string):
     username, hostname = clean_acct(resource, ensure_local=False)
     url = 'https://{}/.well-known/webfinger?resource={}'.format(
         hostname, resource_string)
-    response = session.get_session().get(url)
+    response = session.get_session().get(url, timeout=5)
     response.raise_for_status()
     serializer = serializers.ActorWebfingerSerializer(data=response.json())
     serializer.is_valid(raise_exception=True)
diff --git a/api/funkwhale_api/music/views.py b/api/funkwhale_api/music/views.py
index 0870d98163f99879f0902e017b194c7ced1c33f2..6bbc21db7fc7771dd9880e742cc24f7053cf4aa9 100644
--- a/api/funkwhale_api/music/views.py
+++ b/api/funkwhale_api/music/views.py
@@ -218,6 +218,7 @@ class TrackFileViewSet(viewsets.ReadOnlyModelViewSet):
                 library_track.audio_url,
                 auth=auth,
                 stream=True,
+                timeout=20,
                 headers={
                     'Content-Type': 'application/activity+json'
                 })