diff --git a/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/util/IndexerQueueTaskBuilderAws.java b/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/util/IndexerQueueTaskBuilderAws.java
index 8d593794ffbb74b8dd2efccc37fdb44e8d19152d..a395dfa3d596a24bfcda8d883ff6d13855e4db75 100644
--- a/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/util/IndexerQueueTaskBuilderAws.java
+++ b/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/util/IndexerQueueTaskBuilderAws.java
@@ -43,8 +43,8 @@ public class IndexerQueueTaskBuilderAws extends IndexerQueueTaskBuilder {
 
     private ParameterStorePropertySource ssm;
 
-    private String amazonSQSQueueUrl;
-
+    private String storageQueue;
+    private String dlq;
     private final String retryString = "retry";
 
     private Gson gson;
@@ -54,7 +54,8 @@ public class IndexerQueueTaskBuilderAws extends IndexerQueueTaskBuilder {
 
     @Value("${aws.storage.sqs.queue.url}")
     String sqsStorageQueueParameter;
-
+    @Value("${aws.indexer.sqs.dlq.url}")
+    String deadLetterQueueParameter;
 
     @Inject
     public void init() {
@@ -63,7 +64,8 @@ public class IndexerQueueTaskBuilderAws extends IndexerQueueTaskBuilder {
         gson =new Gson();
         SSMConfig ssmConfig = new SSMConfig();
         ssm = ssmConfig.amazonSSM();
-        amazonSQSQueueUrl = ssm.getProperty(sqsStorageQueueParameter).toString();
+        storageQueue = ssm.getProperty(sqsStorageQueueParameter).toString();
+        dlq = ssm.getProperty(deadLetterQueueParameter).toString();
     }
 
     @Override
@@ -119,11 +121,19 @@ public class IndexerQueueTaskBuilderAws extends IndexerQueueTaskBuilder {
         );
 
         // Send a message with an attribute and a delay
-        final SendMessageRequest sendMessageRequest = new SendMessageRequest()
-                .withQueueUrl(amazonSQSQueueUrl)
-                .withMessageBody(message.getData())
-                .withDelaySeconds(new Integer(retryDelay))
-                .withMessageAttributes(messageAttributes);
+        final SendMessageRequest sendMessageRequest ;
+        if (retryCount< 10) {
+
+            sendMessageRequest = new SendMessageRequest()
+                    .withQueueUrl(storageQueue)
+                    .withMessageBody(message.getData())
+                    .withDelaySeconds(new Integer(retryDelay))
+                    .withMessageAttributes(messageAttributes);
+        }else{
+            sendMessageRequest = new SendMessageRequest()
+                    .withQueueUrl(dlq)
+                    .withMessageBody(message.getData());
+        }
         sqsClient.sendMessage(sendMessageRequest);
     }
 
diff --git a/provider/indexer-aws/src/main/resources/application.properties b/provider/indexer-aws/src/main/resources/application.properties
index a340866fbbfcc03a3cdccca0ff34bfdd13665c66..d42824c82a6154f8d27c9366053323857f9e847a 100644
--- a/provider/indexer-aws/src/main/resources/application.properties
+++ b/provider/indexer-aws/src/main/resources/application.properties
@@ -59,6 +59,7 @@ aws.indexer.sns.topic.arn=${aws.ssm.prefix}/indexer/indexer-sns-topic-arn
 aws.storage.sns.topic.arn=${aws.ssm.prefix}/storage/storage-sns-topic-arn
 
 aws.storage.sqs.queue.url=${aws.ssm.prefix}/storage/storage-sqs-url
+aws.indexer.sqs.dlq.url=${aws.ssm.prefix}/indexer-queue/indexer-deadletter-queue-sqs-url
 
 server.ssl.enabled=${SSL_ENABLED:true}
 server.ssl.key-store-type=PKCS12