diff --git a/R/KorAPQuery.R b/R/KorAPQuery.R
index 7d31587..cbf0169 100644
--- a/R/KorAPQuery.R
+++ b/R/KorAPQuery.R
@@ -1166,7 +1166,18 @@
 
   df$annotation_snippet <- replicate(nrows, NA, simplify = FALSE)
 
+  # Initialize timing for ETA calculation
+  start_time <- Sys.time()
+  if (verbose) {
+    log_info(verbose, paste("Starting to fetch annotations for", nrows, "matches\n"))
+  }
+
   for (i in seq_len(nrow(df))) {
+    # ETA logging
+    if (verbose && i > 1) {
+      eta_info <- calculate_eta(i, nrows, start_time)
+      log_info(verbose, paste("Fetching annotations for match", i, "of", nrows, eta_info, "\n"))
+    }
     # Use matchID if available, otherwise fall back to constructing from matchStart/matchEnd
     if ("matchID" %in% colnames(df) && !is.na(df$matchID[i])) {
       # matchID format: "match-match-A00/JUN/39609-p202-203" or encrypted format like
@@ -1322,6 +1333,11 @@
     })
   })
 
+  if (verbose) {
+    elapsed_time <- Sys.time() - start_time
+    log_info(verbose, paste("Finished fetching annotations for", nrows, "matches in", format_duration(as.numeric(elapsed_time, units = "secs")), "\n"))
+  }
+
   return(kqo)
 })
 
