diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs
index a4f80f26b6504af20a1dd6a7c8c2fd1d5101384c..f4add07f5b1bd7bb20915aa4e28073475dc75ebf 100644
--- a/src/repository/subscriber.rs
+++ b/src/repository/subscriber.rs
@@ -1,3 +1,5 @@
+use std::result;
+
 use dashmap::DashMap;
 use lazy_static::lazy_static;
 use crate::model::subscriber::Subscriber;
@@ -31,4 +33,19 @@ impl SubscriberRepository {
         return SUBSCRIBERS.get(product_type).unwrap().
             iter().map(|f| f.value().clone()).collect();
     }
+
+    pub fn delete(product_type: &str, url: &str) -> Option<Subscriber> {
+        if SUBSCRIBERS.get(product_type).is_none() {
+            SUBSCRIBERS.insert(String::from(product_type), DashMap::new());
+        };
+
+        let result = SUBSCRIBERS.get(product_type).unwrap().
+            remove(url);
+
+        if result.is_some() {
+            return Some(result.unwrap().1);
+        } else {
+            return None;
+        }
+    }
 }
\ No newline at end of file