diff --git a/KorAPClient/__main__.py b/KorAPClient/__main__.py
new file mode 100644
index 0000000..222f3c8
--- /dev/null
+++ b/KorAPClient/__main__.py
@@ -0,0 +1,30 @@
+import argparse
+
+from KorAPClient import KorAPConnection
+
+prog = None if globals().get('__spec__') is None else 'python -m {}'.format(__spec__.name.partition('.')[0])
+example = "example:\n  " + prog + ' -v --query "Hello World" "Hallo Welt" --vc "pubDate in 2017" "pubDate in 2018" "pubDate in 2019"'
+parser = argparse.ArgumentParser(
+    prog=prog,
+    epilog=example,
+    formatter_class=argparse.RawDescriptionHelpFormatter,
+    description='Send a query to the KorAP API and print results as tsv.')
+parser.add_argument('-v', '--verbose', action="store_true")
+parser.add_argument('-l', '--query-language', default="poliqarp")
+parser.add_argument('-u', '--api-url', default=None, help="Specify this to access a corpus other that DeReKo. ")
+parser.add_argument("-c", '--vc', nargs='+', help='virtual corpus definition[s]', default=[""])
+parser.add_argument('-q', '--query', nargs="+", help='If not specified only the size of the virtual '
+                                                     'corpus will be queried.')
+args = parser.parse_args()
+
+if __name__ == "__main__":
+    if args.api_url is None:
+        kcon = KorAPConnection(verbose=args.verbose)
+    else:
+        kcon = KorAPConnection(apiUrl=args.api_url, verbose=args.verbose)
+    if args.query:
+        df = kcon.frequencyQuery(query=args.query if len(args.query) > 1 else args.query[0],
+                                 vc=args.vc if len(args.vc) > 1 else args.vc[0], ql=args.query_language)
+    else:
+        df = kcon.corpusStats(vc=args.vc if len(args.vc) > 1 else args.vc[0], **{"as.df": True})
+    print(df.to_csv(sep="\t"))
diff --git a/Readme.md b/Readme.md
index c96fe6d..ce36ff4 100644
--- a/Readme.md
+++ b/Readme.md
@@ -6,6 +6,7 @@
 [![GitHub closed issues](https://img.shields.io/github/issues-raw/KorAP/PythonKorAPClient.svg)](https://github.com/KorAP/PythonKorAPClient/issues)
 [![GitHub issues](https://img.shields.io/github/issues-closed-raw/KorAP/PythonKorAPClient.svg)](https://github.com/KorAP/PythonKorAPClient/issues)
 [![GitHub license](https://img.shields.io/github/license/KorAP/PythonKorAPClient)](https://github.com/KorAP/PythonKorAPClient/blob/master/LICENSE)
+[![HitCount](http://hits.dwyl.com/KorAP/PythonKorAPClient.svg)](http://hits.dwyl.com/KorAP/PythonKorAPClient)
 ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/KorAPClient)
 ![PyPI - Downloads](https://img.shields.io/pypi/dm/KorAPClient)
 ## Description
@@ -76,6 +77,28 @@
 ```
 ![Frequency per million words of “Hello World“ in DE vs. AT from 2010 to 2018 in newspapers and magazines](figures/hello-world.png)
 
+### Command Line Invocation
+The Python KorAP client can also be called from the command line.
+```shell script
+$ korapclient -h
+usage: python -m KorAPClient [-h] [-v] [-l QUERY_LANGUAGE] [-u API_URL] [-c VC [VC ...]] [-q QUERY [QUERY ...]]
+
+Send a query to the KorAP API and print results as tsv.
+
+optional arguments:
+  -h, --help            show this help message and exit
+  -v, --verbose
+  -l QUERY_LANGUAGE, --query-language QUERY_LANGUAGE
+  -u API_URL, --api-url API_URL
+                        Specify this to access a corpus other that DeReKo.
+  -c VC [VC ...], --vc VC [VC ...]
+                        virtual corpus definition[s]
+  -q QUERY [QUERY ...], --query QUERY [QUERY ...]
+                        If not specified only the size of the virtual corpus will be queried.
+
+example:
+  python -m KorAPClient -v --query "Hello World" "Hallo Welt" --vc "pubDate in 2017" "pubDate in 2018" "pubDate in 2019"
+```
 ### Accessed API Services
 By using the KorAPClient you agree to the respective terms of use of the accessed KorAP API services which will be printed upon opening a connection.
 
@@ -111,3 +134,4 @@
 - Kupietz, Marc / Margaretha, Eliza / Diewald, Nils / Lüngen, Harald / Fankhauser, Peter (2019): [What’s New in EuReCo? Interoperability, Comparable Corpora, Licensing](https://nbn-resolving.org/urn:nbn:de:bsz:mh39-90261). In: Bański, Piotr/Barbaresi, Adrien/Biber, Hanno/Breiteneder, Evelyn/Clematide, Simon/Kupietz, Marc/Lüngen, Harald/Iliadi, Caroline (eds.): [*Proceedings of the International Corpus Linguistics Conference 2019 Workshop "Challenges in the Management of Large Corpora (CMLC-7)"*](https://ids-pub.bsz-bw.de/solrsearch/index/search/searchtype/collection/id/21038), 22nd of July Mannheim: Leibniz-Institut für Deutsche Sprache, 33-39.
 
 - Kupietz, Marc / Diewald, Nils / Margaretha, Eliza (2020): [RKorAPClient: An R package for accessing the German Reference Corpus DeReKo via KorAP](http://www.lrec-conf.org/proceedings/lrec2020/pdf/2020.lrec-1.867.pdf). In: Calzolari, Nicoletta, Frédéric Béchet, Philippe Blache, Khalid Choukri, Christopher Cieri,  Thierry Declerck, Sara Goggi, Hitoshi Isahara, Bente Maegaard, Joseph Mariani, Hélène Mazo, Asuncion Moreno, Jan Odijk, Stelios Piperidis (eds.): [Proceedings of The 12th Language Resources and Evaluation Conference (LREC 2020)](http://www.lrec-conf.org/proceedings/lrec2020/LREC-2020.pdf). Marseille: European Language Resources Association (ELRA), 7017-7023.
+
diff --git a/bin/korapclient b/bin/korapclient
new file mode 100755
index 0000000..70413fe
--- /dev/null
+++ b/bin/korapclient
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/bin/env python3 -m KorAPClient "$@"
diff --git a/setup.py b/setup.py
index 65d92ed..b60cbac 100644
--- a/setup.py
+++ b/setup.py
@@ -24,6 +24,7 @@
         'Intended Audience :: Developers',
         'Intended Audience :: Science/Research',
     ],
+    scripts=['bin/korapclient'],
     test_suite='nose.collector',
     tests_require=['nose'],
     python_requires='>=3.6',
