diff --git a/extras/ci/check-url.sh b/extras/ci/check-url.sh
new file mode 100755
index 0000000000000000000000000000000000000000..5e9f50af482ccdf67cc37efa92ab67282296e1f7
--- /dev/null
+++ b/extras/ci/check-url.sh
@@ -0,0 +1,40 @@
+#!/usr/bin/env bash
+# Copyright (C) Marvin Scholz
+#
+# License: see COPYING
+#
+# Check if a given URL exists or not
+set -e
+
+# Print error message and terminate script with status 1
+# Arguments:
+#   Message to print
+abort_err()
+{
+    echo "ERROR: $1" >&2
+    exit 1
+}
+
+# Return the HTTP status code for a specific URL
+# Arguments:
+#    URL
+# Globals:
+#    HTTP_STATUS_CODE
+get_http_status()
+{
+	HTTP_STATUS_CODE=$(curl -s -o /dev/null -L -I -w "%{http_code}" "$1")
+}
+
+command -v "curl" >/dev/null 2>&1 || abort_err "cURL was not found!"
+
+if [ $# -eq 0 ]; then
+	abort_err "No URL to check provided!"
+fi
+
+get_http_status "$1"
+
+if [ "$HTTP_STATUS_CODE" -eq 200 ]; then
+	true
+else
+	abort_err "'$1' returned HTTP Status Code '$HTTP_STATUS_CODE'"
+fi
\ No newline at end of file