diff --git a/nomad/config.py b/nomad/config.py
index a72cb0264cb6cd3a829b990577ecb077d1ae54f3..e96edfa61f80f63189271e8ac3b8ff501cf3b637 100644
--- a/nomad/config.py
+++ b/nomad/config.py
@@ -157,10 +157,10 @@ tests = NomadConfig(
 
 
 def api_url(ssl: bool = True):
-    return '%s://%s%s' % (
+    return '%s://%s/%s/api' % (
         'https' if services.https and ssl else 'http',
-        services.api_host,
-        services.api_base_path)
+        services.api_host.strip('/'),
+        services.api_base_path.strip('/'))
 
 
 migration_source_db = NomadConfig(
diff --git a/tests/app/test_api.py b/tests/app/test_api.py
index 03d1d710b5859d0eb7dd108f56c5f2658369b59f..4528e4cf8d699dbd3db44ca18f9fdfb460a2e6f6 100644
--- a/tests/app/test_api.py
+++ b/tests/app/test_api.py
@@ -312,6 +312,7 @@ class TestUploads:
         assert rv.status_code == 200
         data = json.loads(rv.data)
         assert 'upload_command' in data
+        assert '/api/uploads' in data['upload_command']
         assert 'upload_url' in data
 
     def test_get_empty(self, api, test_user_auth, no_warn):