diff --git a/app/controllers/api/v1/recordings_controller.rb b/app/controllers/api/v1/recordings_controller.rb
index 568eca37c93395c66ceeac9779b4003488d871f0..7572fa3209fdb972cd47627528be883d37b9f0e5 100644
--- a/app/controllers/api/v1/recordings_controller.rb
+++ b/app/controllers/api/v1/recordings_controller.rb
@@ -16,7 +16,7 @@ module Api
       def index
         sort_config = config_sorting(allowed_columns: %w[name length visibility])
 
-        pagy, recordings = pagy(current_user.recordings&.order(sort_config)&.search(params[:search]))
+        pagy, recordings = pagy(current_user.recordings&.order(sort_config, created_at: :desc)&.search(params[:search]))
         render_data data: recordings, meta: pagy_metadata(pagy), status: :ok
       end
 
diff --git a/app/controllers/api/v1/rooms_controller.rb b/app/controllers/api/v1/rooms_controller.rb
index 55124df2e9a962e0d8d3c7596fde182e8dc371e2..86a5cbd2dea443a1aa7c9b74b057c0fd43f8fdda 100644
--- a/app/controllers/api/v1/rooms_controller.rb
+++ b/app/controllers/api/v1/rooms_controller.rb
@@ -114,7 +114,9 @@ module Api
       # GET /api/v1/rooms/:friendly_id/recordings.json
       # Returns all of a specific room's recordings
       def recordings
-        pagy, room_recordings = pagy(@room.recordings&.search(params[:q]))
+        sort_config = config_sorting(allowed_columns: %w[name length visibility])
+
+        pagy, room_recordings = pagy(@room.recordings&.order(sort_config, created_at: :desc)&.search(params[:q]))
         render_data data: room_recordings, meta: pagy_metadata(pagy), status: :ok
       end