diff --git a/common/python/nomadcore/parser_backend.py b/common/python/nomadcore/parser_backend.py
index f789444595e7fbcbfeead0f92f385e255bc03a0d..4365c83eba25908adfa8b3835843070ab4be70bd 100644
--- a/common/python/nomadcore/parser_backend.py
+++ b/common/python/nomadcore/parser_backend.py
@@ -52,13 +52,14 @@ def valueForStrValue(strValue, dtypeStr):
 class JsonParseEventsWriterBackend(object):
     """Simple backend that writes out the parse events in json format"""
     # json content is written to fileOut
-    def __init__(self, metaInfoEnv, fileOut = sys.stdout):
+    def __init__(self, metaInfoEnv, fileOut = sys.stdout, writeMatchTelemetry=False):
         self.__metaInfoEnv = metaInfoEnv
         self.fileOut = fileOut
         self.__gIndex = -1
         self.__openSections = set()
         self.__writeComma = False
         self.__lastIndex = {}
+        self.writeMatchTelemetry = writeMatchTelemetry
         self.stats = {}
 
     def addStat(self, name):
diff --git a/common/python/nomadcore/simple_parser.py b/common/python/nomadcore/simple_parser.py
index ce31ce48424dceedc15548737e382721c175e2dc..c56160c2d166f079509b0edea297c8e9af1708d7 100644
--- a/common/python/nomadcore/simple_parser.py
+++ b/common/python/nomadcore/simple_parser.py
@@ -1251,9 +1251,10 @@ def mainFunction(mainFileDescription,
         mainFile: The path to the file that is parsed. If not specified,
             reads the filename from the command line arguments.
     """
-    usage = """{exeName} [--annotate] [--meta-info] [--help] [--specialize] [--stream] [--uri uri] [--verbose] [path/toFile]
+    usage = """{exeName} [--annotate] [--matchTelemetry] [--meta-info] [--help] [--specialize] [--stream] [--uri uri] [--verbose] [path/toFile]
 
     --annotate writes annotated debug info of parsing process to file path/toFile.annotate
+    --matchTelemetry write information about matches to output JSON stream
     --meta-info outputs the meta info supported by this parser
     --help prints this message
     --specialize expects inclusion and exclusion of meta info to parse via a json dictionary on stdin
@@ -1270,6 +1271,7 @@ def mainFunction(mainFileDescription,
     uri = None
     verbose = False
     fileToParse = None
+    writeMatchTelemetry = False
     ii = 1
     while ii < len(sys.argv):
         arg = sys.argv[ii]
@@ -1288,6 +1290,8 @@ def mainFunction(mainFileDescription,
         elif arg == "--annotate":
             global annotate
             annotate = True
+        elif arg == "--matchTelemetry":
+            writeMatchTelemetry = True
         elif arg == "--uri":
             if ii >= len(sys.argv):
                 raise Exception("missing uri after --uri")
@@ -1326,7 +1330,7 @@ def mainFunction(mainFileDescription,
     # Initialize the backend where the final results are printed after they are
     # possibly filtered by the caching ActiveBackend.
     if superBackend is None:
-        jsonBackend = JsonParseEventsWriterBackend(metaInfoEnv, outF)
+        jsonBackend = JsonParseEventsWriterBackend(metaInfoEnv, outF, writeMatchTelemetry=writeMatchTelemetry)
     else:
         jsonBackend = superBackend
 
@@ -1392,7 +1396,7 @@ def mainFunction(mainFileDescription,
                 # create file-specific json backend
                 outFile = open(outFileName, 'w')
                 outFile.write("[")
-                outFilejsonBackend = JsonParseEventsWriterBackend(metaInfoEnv, outFile)
+                outFilejsonBackend = JsonParseEventsWriterBackend(metaInfoEnv, outFile, writeMatchTelemetry=writeMatchTelemetry)
                 # override superBackend for this parseFile
                 backend.superBackend = outFilejsonBackend
             logger.warning("# parsing: %s", toRead['mainFile'])