diff --git a/messages/forms.py b/messages/forms.py
new file mode 100644
index 0000000000000000000000000000000000000000..995d3f43db8969730b968324778774b977da3025
--- /dev/null
+++ b/messages/forms.py
@@ -0,0 +1,5 @@
+from django import forms
+
+class MessagePublishedDateFilterForm(forms.Form):
+    publishedFrom = forms.DateField(required=False)
+    publishedTo = forms.DateField(required=False)
\ No newline at end of file
diff --git a/messages/models.py b/messages/models.py
index e31c52f6140021a5834d06afd48ccaff428867f1..fca54dec9be9dffd2f041dc240c778e16e83cef2 100644
--- a/messages/models.py
+++ b/messages/models.py
@@ -106,17 +106,21 @@ class Message:
         return messages
     
     @staticmethod
-    def get_messages(current_language=settings.VIPSLOGIC_LANGUAGE_CODE):
+    def get_messages(current_language=settings.VIPSLOGIC_LANGUAGE_CODE, publishedFrom=None, publishedTo=None):
         messages = []
         
-        for item in Message.get_messages_as_json():
+        for item in Message.get_messages_as_json(publishedFrom, publishedTo):
             message = Message.get_instance_from_dict(item, current_language)
             messages.append(message)
         return messages
     
     @staticmethod
-    def get_messages_as_json():
-        request_result = requests.get("http://%s/rest/message/list/%s" % (settings.VIPSLOGIC_SERVER_NAME,settings.VIPS_ORGANIZATION_ID))
+    def get_messages_as_json(publishedFrom=None, publishedTo=None):
+        payload = {"publishedFrom":publishedFrom, "publishedTo":publishedTo}
+        request_result = requests.get(
+                                      "http://%s/rest/message/list/%s" % (settings.VIPSLOGIC_SERVER_NAME,settings.VIPS_ORGANIZATION_ID), 
+                                      params=payload
+                                      )
         return request_result.json()
     
     @staticmethod
diff --git a/messages/templates/messages/index.html b/messages/templates/messages/index.html
index 26991c1e2a822a7c78ca100d0982e5571dd64b41..cf63d3d5c41a5234285daec76d46c61db08aed45 100644
--- a/messages/templates/messages/index.html
+++ b/messages/templates/messages/index.html
@@ -4,13 +4,27 @@
 {% block content %}
 <h1>{% trans "Messages" %}</h1>
 <div class="row">
-	<div class="col-xs-12">
+	<div class="col-xs-6">
 		<div class="input-group">
 	      	<div class="input-group-addon"><img src="{% static "css/icons/ic_action_search.png" %}" alt="Search icon"/></div>
 			<input class="form-control" type="text" placeholder="{% trans "Search" %}" oninput="search(this);"/>
 		</div>
-		
 	</div>
+	<div class="col-xs-6">
+		<form class="form-inline" method="get" action="/messages">
+			<div class="form-group">
+				{{form.publishedFrom.errors}}
+				<input class="form-control" type="date" name="{{form.publishedFrom.html_name}}" value="{{form.publishedFrom.value}}" placeholder="{% trans "From" %}"/>
+			</div>
+			-
+			<div class="form-group">
+				{{form.publishedTo.errors}}
+				<input class="form-control" type="date" name="{{form.publishedTo.html_name}}" value="{{form.publishedTo.value}}" placeholder="{% trans "To" %}"/>
+			</div>
+			<button type="submit" class="btn btn-default">{% trans "Submit" %}</button>
+		</form>
+	</div>
+
 </div>
 <div class="table-responsive">
 	<table id="resultTable" class="table table-striped">
diff --git a/messages/views.py b/messages/views.py
index 36cb0618c45b0f8f26368e2de0615be829f386a4..2c62a73022e7022999e1e335dd3ac4d51abe0777 100644
--- a/messages/views.py
+++ b/messages/views.py
@@ -20,10 +20,26 @@ from django.shortcuts import render
 from django.utils import translation
 
 from messages.models import Message
+from messages.forms import MessagePublishedDateFilterForm
 
 def index(request):
+    messages = None
+    form = MessagePublishedDateFilterForm(request.GET)
+    if form == None:
+        form = MessagePublishedDateFilterForm() 
+    elif form.is_valid():
+        messages = Message.get_messages(
+                              translation.get_language(), 
+                              form.cleaned_data["publishedFrom"], 
+                              form.cleaned_data["publishedTo"]
+                              )
+    else:
+        messages = Message.get_messages(translation.get_language())
+        
+        
     context = {
-               'messages' : Message.get_messages(translation.get_language()),
+               'messages' : messages,
+               'form' : form
                }
     return render(request, 'messages/index.html', context)