diff --git a/api.py b/api.py
index e3b74b9826a105ae395fd82c17aa0f11c9167f23..02cd993c0547f57047be5cd58f855558d3483569 100644
--- a/api.py
+++ b/api.py
@@ -120,8 +120,18 @@ def filter():
 		elif anfang != merkeLetter[len(merkeLetter)-1]["name"]:
 			merkeLetter.append({"name" : anfang})
 		merke.append({"anfang" : anfang, "name" : actor})
-
-	return render_template('filter.html', letters = merkeLetter, objects = merke, filter = True, text = '')
+	#Filter für ungefähres Datum:
+	merkeDate = []
+	dateQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in distinct-values(/root/object/descriptiveMetadata/datum/text()) order by $x return $x")
+	for a,datum in dateQuery.iter():
+		merkeDate.append({"datum" : datum})
+	#Filter für Ort:
+	merkeOrt = []
+	ortQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in distinct-values(/root/object/descriptiveMetadata/ort/text()) order by $x return $x")
+	for a,ort in ortQuery.iter():
+		merkeOrt.append({"ort" : ort})
+
+	return render_template('filter.html', letters = merkeLetter, objects = merke, dates = merkeDate, orte = merkeOrt,  filter = True, text = '')
 
 @app.route('/filter/actor/<path:kunstler>', methods=['GET'])
 def filterActor(kunstler):
@@ -158,5 +168,75 @@ def filterActor(kunstler):
 
 	return render_template('index.html', objects = merke, searchBool = True, text = text)
 
+@app.route('/filter/ort/<path:ort>', methods=['GET'])
+def filterOrt(ort):
+	text = ort
+	merke = []
+	urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/ort[contains(text(),'" + ort + "')]]/bildLink/text()) return $x")
+	actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/ort[contains(text(),'" + ort + "')]]/descriptiveMetadata/actor/text()) return $x")
+	titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/ort[contains(text(),'" + ort + "')]]/descriptiveMetadata/objectIdentificationWrap/title/text()) return $x")
+
+	urlList = []
+	actorList = []
+	titleList = []
+
+	for a,url in urlQuery.iter():
+		urlList.append(url)
+
+	for b,actor in actorQuery.iter():
+		actorList.append(actor)
+
+	for c,title in titleQuery.iter():
+		titleList.append(title)
+
+
+	for i in range(0, len(urlList)):
+		url = urlList[i]
+		actor = actorList[i]
+		title = titleList[i]
+		eintrag = {"url" : url, "actor" : actor, "title" : title}
+		merke.append(eintrag)
+
+	urlQuery.close()
+	actorQuery.close()
+	titleQuery.close()
+
+	return render_template('index.html', objects = merke, searchBool = True, text = text)
+
+@app.route('/filter/datum/<path:datum>', methods=['GET'])
+def filterDatum(datum):
+	text = datum
+	merke = []
+	urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/datum[contains(text(),'" + datum + "')]]/bildLink/text()) return $x")
+	actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/datum[contains(text(),'" + datum + "')]]/descriptiveMetadata/actor/text()) return $x")
+	titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/datum[contains(text(),'" + datum + "')]]/descriptiveMetadata/objectIdentificationWrap/title/text()) return $x")
+
+	urlList = []
+	actorList = []
+	titleList = []
+
+	for a,url in urlQuery.iter():
+		urlList.append(url)
+
+	for b,actor in actorQuery.iter():
+		actorList.append(actor)
+
+	for c,title in titleQuery.iter():
+		titleList.append(title)
+
+
+	for i in range(0, len(urlList)):
+		url = urlList[i]
+		actor = actorList[i]
+		title = titleList[i]
+		eintrag = {"url" : url, "actor" : actor, "title" : title}
+		merke.append(eintrag)
+
+	urlQuery.close()
+	actorQuery.close()
+	titleQuery.close()
+
+	return render_template('index.html', objects = merke, searchBool = True, text = text)
+
 if __name__ == "__main__":
     app.run(host="0.0.0.0", port=5000, debug=True)
\ No newline at end of file