diff --git a/aleksis/core/urls.py b/aleksis/core/urls.py
index d2c02ed4a5815bfb113fa0aff19700b153b20eb4..f5e5899063678abc338ac971d1df3f55db3d0430 100644
--- a/aleksis/core/urls.py
+++ b/aleksis/core/urls.py
@@ -1,3 +1,5 @@
+from importlib import import_module
+
 from django.apps import apps
 from django.conf import settings
 from django.contrib import admin
@@ -410,12 +412,18 @@ for app_config in apps.app_configs.values():
         continue
 
     try:
-        urlpatterns.append(
-            path(f"django/app/{app_config.label}/", include(f"{app_config.name}.urls"))
-        )
+        urls_module = import_module(f"{app_config.name}.urls")
     except ModuleNotFoundError:
         # Ignore exception as app just has no URLs
-        pass  # noqa
+        urls_module = None
+
+    if hasattr(urls_module, "urlpatterns"):
+        urlpatterns.append(
+            path(f"django/app/{app_config.label}/", include(urls_module.urlpatterns))
+        )
+
+    if hasattr(urls_module, "api_urlpatterns"):
+        urlpatterns.append(path(f"app/{app_config.label}/", include(urls_module.api_urlpatterns)))
 
 urlpatterns.append(
     re_path(