diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..d0c3cbf1020d5c292abdedf27627c6abe25e2293
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,20 @@
+# Minimal makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line, and also
+# from the environment for the first two.
+SPHINXOPTS    ?=
+SPHINXBUILD   ?= sphinx-build
+SOURCEDIR     = source
+BUILDDIR      = build
+
+# Put it first so that "make" without argument is like "make help".
+help:
+	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help Makefile
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/docs/make.bat b/docs/make.bat
new file mode 100644
index 0000000000000000000000000000000000000000..dc1312ab09ca6fb0267dee6b28a38e69c253631a
--- /dev/null
+++ b/docs/make.bat
@@ -0,0 +1,35 @@
+@ECHO OFF
+
+pushd %~dp0
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+	set SPHINXBUILD=sphinx-build
+)
+set SOURCEDIR=source
+set BUILDDIR=build
+
+%SPHINXBUILD% >NUL 2>NUL
+if errorlevel 9009 (
+	echo.
+	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+	echo.installed, then set the SPHINXBUILD environment variable to point
+	echo.to the full path of the 'sphinx-build' executable. Alternatively you
+	echo.may add the Sphinx directory to PATH.
+	echo.
+	echo.If you don't have Sphinx installed, grab it from
+	echo.https://www.sphinx-doc.org/
+	exit /b 1
+)
+
+if "%1" == "" goto help
+
+%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+goto end
+
+:help
+%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+
+:end
+popd
diff --git a/docs/source/app.rst b/docs/source/app.rst
new file mode 100644
index 0000000000000000000000000000000000000000..ceb7f40d814cb3be6a753e3df76b8341b9f880e9
--- /dev/null
+++ b/docs/source/app.rst
@@ -0,0 +1,7 @@
+app module
+==========
+
+.. automodule:: app
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/auth.rst b/docs/source/auth.rst
new file mode 100644
index 0000000000000000000000000000000000000000..38709607e880a9da90aa2864ddc3099c972be708
--- /dev/null
+++ b/docs/source/auth.rst
@@ -0,0 +1,37 @@
+auth package
+============
+
+Submodules
+----------
+
+auth.key module
+---------------
+
+.. automodule:: auth.key
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+auth.middleware module
+----------------------
+
+.. automodule:: auth.middleware
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+auth.utils module
+-----------------
+
+.. automodule:: auth.utils
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+Module contents
+---------------
+
+.. automodule:: auth
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/conf.py b/docs/source/conf.py
new file mode 100644
index 0000000000000000000000000000000000000000..f22763c5106f28362796c8dbee3ff4403f6fa398
--- /dev/null
+++ b/docs/source/conf.py
@@ -0,0 +1,33 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+import os
+import sys
+sys.path.insert(0, os.path.abspath('../..'))
+
+# -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
+
+project = 'ioc-backend'
+copyright = '2022, Ivan'
+author = 'Ivan'
+
+# -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
+
+extensions = [
+    'sphinx.ext.autodoc'
+]
+
+templates_path = ['_templates']
+exclude_patterns = []
+
+
+
+# -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
+
+html_theme = 'insegel'
+html_static_path = ['_static']
diff --git a/docs/source/endpoints.rst b/docs/source/endpoints.rst
new file mode 100644
index 0000000000000000000000000000000000000000..3c5eca6d0c5d909371b9df650123d26edcfa36a1
--- /dev/null
+++ b/docs/source/endpoints.rst
@@ -0,0 +1,61 @@
+endpoints package
+=================
+
+Submodules
+----------
+
+endpoints.indicators module
+---------------------------
+
+.. automodule:: endpoints.indicators
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+endpoints.oauth module
+----------------------
+
+.. automodule:: endpoints.oauth
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+endpoints.parser module
+-----------------------
+
+.. automodule:: endpoints.parser
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+endpoints.routes module
+-----------------------
+
+.. automodule:: endpoints.routes
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+endpoints.service module
+------------------------
+
+.. automodule:: endpoints.service
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+endpoints.user module
+---------------------
+
+.. automodule:: endpoints.user
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+Module contents
+---------------
+
+.. automodule:: endpoints
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/index.rst b/docs/source/index.rst
new file mode 100644
index 0000000000000000000000000000000000000000..1f4114b8fa764d4a2fa2c527f706132505345895
--- /dev/null
+++ b/docs/source/index.rst
@@ -0,0 +1,20 @@
+.. ioc-backend documentation master file, created by
+   sphinx-quickstart on Mon Dec 12 22:48:46 2022.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+Welcome to ioc-backend's documentation!
+=======================================
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Contents:
+
+
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/docs/source/integrations.rst b/docs/source/integrations.rst
new file mode 100644
index 0000000000000000000000000000000000000000..ece19f4a64a19523984fc9603b20fc2489896399
--- /dev/null
+++ b/docs/source/integrations.rst
@@ -0,0 +1,29 @@
+integrations package
+====================
+
+Submodules
+----------
+
+integrations.github module
+--------------------------
+
+.. automodule:: integrations.github
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+integrations.s3 module
+----------------------
+
+.. automodule:: integrations.s3
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+Module contents
+---------------
+
+.. automodule:: integrations
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/models.rst b/docs/source/models.rst
new file mode 100644
index 0000000000000000000000000000000000000000..5e8b235b0b9c6a59cdf8aced24cccb710ab5b48f
--- /dev/null
+++ b/docs/source/models.rst
@@ -0,0 +1,37 @@
+models package
+==============
+
+Submodules
+----------
+
+models.indicator module
+-----------------------
+
+.. automodule:: models.indicator
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+models.report module
+--------------------
+
+.. automodule:: models.report
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+models.users module
+-------------------
+
+.. automodule:: models.users
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+Module contents
+---------------
+
+.. automodule:: models
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/modules.rst b/docs/source/modules.rst
new file mode 100644
index 0000000000000000000000000000000000000000..31d3e274ac342701737de4f3c584d3bf58d8dbcc
--- /dev/null
+++ b/docs/source/modules.rst
@@ -0,0 +1,15 @@
+backend
+=======
+
+.. toctree::
+   :maxdepth: 4
+
+   app
+   auth
+   endpoints
+   integrations
+   models
+   parsers
+   responses
+   settings
+   tests
diff --git a/docs/source/parsers.rst b/docs/source/parsers.rst
new file mode 100644
index 0000000000000000000000000000000000000000..b6fda5308bdb28a2200e3f824f19425e9b607d8f
--- /dev/null
+++ b/docs/source/parsers.rst
@@ -0,0 +1,29 @@
+parsers package
+===============
+
+Submodules
+----------
+
+parsers.pdf\_parser module
+--------------------------
+
+.. automodule:: parsers.pdf_parser
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+parsers.text\_parser module
+---------------------------
+
+.. automodule:: parsers.text_parser
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+Module contents
+---------------
+
+.. automodule:: parsers
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/responses.rst b/docs/source/responses.rst
new file mode 100644
index 0000000000000000000000000000000000000000..e8d4691e5a70101f3a3c0af87292ed0b3b35dce9
--- /dev/null
+++ b/docs/source/responses.rst
@@ -0,0 +1,29 @@
+responses package
+=================
+
+Submodules
+----------
+
+responses.errors module
+-----------------------
+
+.. automodule:: responses.errors
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+responses.responses module
+--------------------------
+
+.. automodule:: responses.responses
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+Module contents
+---------------
+
+.. automodule:: responses
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/settings.rst b/docs/source/settings.rst
new file mode 100644
index 0000000000000000000000000000000000000000..e08a60c17fd66cc3b8cb4bc33a775bf840f394c9
--- /dev/null
+++ b/docs/source/settings.rst
@@ -0,0 +1,7 @@
+settings module
+===============
+
+.. automodule:: settings
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/tests.rst b/docs/source/tests.rst
new file mode 100644
index 0000000000000000000000000000000000000000..638e465fe623da050f487a15fe5ebfa38ddbe164
--- /dev/null
+++ b/docs/source/tests.rst
@@ -0,0 +1,85 @@
+tests package
+=============
+
+Submodules
+----------
+
+tests.conftest module
+---------------------
+
+.. automodule:: tests.conftest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+tests.test\_github\_client module
+---------------------------------
+
+.. automodule:: tests.test_github_client
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+tests.test\_github\_oauth module
+--------------------------------
+
+.. automodule:: tests.test_github_oauth
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+tests.test\_indicator module
+----------------------------
+
+.. automodule:: tests.test_indicator
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+tests.test\_parser module
+-------------------------
+
+.. automodule:: tests.test_parser
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+tests.test\_s3 module
+---------------------
+
+.. automodule:: tests.test_s3
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+tests.test\_service module
+--------------------------
+
+.. automodule:: tests.test_service
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+tests.test\_token module
+------------------------
+
+.. automodule:: tests.test_token
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+tests.test\_user module
+-----------------------
+
+.. automodule:: tests.test_user
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+Module contents
+---------------
+
+.. automodule:: tests
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/parsers/text_parser.py b/parsers/text_parser.py
index 95f03f063b97c26bb743459fd0898d134897508e..681057906dc914b53bbbee48f278da4b566c65eb 100644
--- a/parsers/text_parser.py
+++ b/parsers/text_parser.py
@@ -67,6 +67,7 @@ def filter_invalid_ips(ips: Iterable[str]) -> list:
 def find_ioc(text: str) -> CollectedData:
     """
     Finds hashes, IPs and URLs in the text
+
     Args:
         text (str): Text to search for hashes, IPs and URLs
 
diff --git a/requirements.txt b/requirements.txt
index 8b8c31551d6cd60ab8db19d4c68fd633fce1b87c..92f368bf13514da9be099708838df3f09f1109aa 100644
Binary files a/requirements.txt and b/requirements.txt differ