diff --git a/README.md b/README.md
index 2a0ad7d3ac2783cc89f59d8be4997870625d6833..32c96ece235b293d084bafaf3a68efd658445ca8 100644
--- a/README.md
+++ b/README.md
@@ -168,7 +168,7 @@ Settings pro appky na weby:
 | `DONATE_PORTAL_REDIRECT_SOURCE` | dary.pirati.cz | identifikátor zdroje pro přesměrování na darovací portál |
 | `DONATE_PORTAL_API_URL` | "" | URL s API darovacího portálu |
 | `INSTAGRAM_USERNAME` | "" | Login username pro Instagram sync |
-| `INSTAGRAM_PASSWORD` | "" | Login heslo pro Instagram sync |
+| `INSTAGRAM_SESSION` | "" | Login session pro Instagram sync |
 
 ### Management commands
 
diff --git a/instagram_utils/services.py b/instagram_utils/services.py
index e37e904e2bbd18d15d53842fd309e1d903ba6472..29b13e34b1b9cc494f23d80234b7d84909992015 100644
--- a/instagram_utils/services.py
+++ b/instagram_utils/services.py
@@ -45,8 +45,8 @@ class InstagramDownloadService:
     def parse_media_for_user(self, username: str) -> None:
         loader = instaloader.Instaloader()
 
-        if settings.INSTAGRAM_USERNAME and settings.INSTAGRAM_PASSWORD:
-            loader.login(settings.INSTAGRAM_USERNAME, settings.INSTAGRAM_PASSWORD)
+        if settings.INSTAGRAM_SESSION and settings.INSTAGRAM_USERNAME:
+            loader.load_session(settings.INSTAGRAM_USERNAME, settings.INSTAGRAM_SESSION)
 
         profile = instaloader.Profile.from_username(loader.context, username)
 
diff --git a/majak/settings/base.py b/majak/settings/base.py
index 7f165aa8ffddecb9545a6213c5ad9b0df400222d..036b10ef365e01fdbe597893adf3466e36b1281a 100644
--- a/majak/settings/base.py
+++ b/majak/settings/base.py
@@ -1,3 +1,5 @@
+import json
+
 from os.path import join
 from pathlib import Path
 
@@ -309,4 +311,4 @@ MAPS_UTILS_MAPPROXY_URL = env.str(
 TWITTER_BEARER_TOKEN = env.str("TWITTER_BEARER_TOKEN", default="")
 
 INSTAGRAM_USERNAME = env.str("INSTAGRAM_USERNAME", default="")
-INSTAGRAM_PASSWORD = env.str("INSTAGRAM_PASSWORD", default="")
+INSTAGRAM_SESSION = json.loads(env.str("INSTAGRAM_SESSION", default="{{}}"))