diff --git a/.gitignore b/.gitignore
index 14da8ec42c31d2c26c26e353d2271c87fa1ff8a6..4c27b3ca56854257a495eae16c135346e4910e00 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 exports/
-config/settings.json
+config/settings-backup.json
+config/settings-import.json
 Pipfile.lock
\ No newline at end of file
diff --git a/SpotifyBackup.py b/SpotifyBackup.py
index 9b8b0f7ecd9a7f5d47b54f01fedb1457c53862d8..2b8940f3f75263e76c4a5c65d9036fa03edf872d 100644
--- a/SpotifyBackup.py
+++ b/SpotifyBackup.py
@@ -99,7 +99,7 @@ class SpotifyBackup:
 
 
 if __name__ == '__main__':
-    with open('config/settings.json', 'r', encoding='utf-8') as f:
+    with open('config/settings-backup.json', 'r', encoding='utf-8') as f:
         SETTINGS = json.load(f)
 
     spotifyBackup = SpotifyBackup(SETTINGS['spotifyAPI']['clientID'],
diff --git a/SpotifyImport.py b/SpotifyImport.py
new file mode 100644
index 0000000000000000000000000000000000000000..adfd034b25370dd38243140dcc58e751b546dc19
--- /dev/null
+++ b/SpotifyImport.py
@@ -0,0 +1,66 @@
+import csv
+import json
+import time
+from typing import List
+
+import spotipy
+from TheCodeLabs_BaseUtils.DefaultLogger import DefaultLogger
+from spotipy.oauth2 import SpotifyPKCE
+
+LOG_FORMAT = '[%(levelname)-7s] - %(asctime)s - %(message)s'
+LOGGER = DefaultLogger().create_logger_if_not_exists('SpotifyBackup', logFormat=LOG_FORMAT)
+
+
+class SpotifyImport:
+    def __init__(self, clientID: str):
+        client_credentials_manager = SpotifyPKCE(client_id=clientID, redirect_uri='http://localhost',
+                                                 scope='playlist-modify-private')
+        self._spotify = spotipy.Spotify(client_credentials_manager=client_credentials_manager)
+
+    def import_playlist(self, backupFilePath: str, username: str, playlistID: str):
+        tracks = self.__load_backup_file(backupFilePath)
+
+        identifier = f'spotify:user:{username}:playlist:{playlistID}'
+        LOGGER.info(f'>>> Importing tracks to playlist "{playlistID}"...')
+
+        numberOfImportedTracks = 0
+
+        for index, track in enumerate(tracks):
+            LOGGER.info(f'Importing {index + 1}/{len(tracks)} - "{track}"...')
+            try:
+                self._spotify.playlist_add_items(identifier, [track])
+                numberOfImportedTracks += 1
+                time.sleep(1)
+            except:
+                LOGGER.error(f'Error importing track {index + 1}/{len(tracks)} - "{track}"!')
+
+        LOGGER.info(f'Importing DONE ({numberOfImportedTracks}/{len(tracks)}) successful')
+
+    def __load_backup_file(self, backupFilePath: str) -> List[str]:
+        LOGGER.info(f'>>> Parsing backup file "{backupFilePath}"...')
+
+        tracks = []
+        with open(backupFilePath, 'r', newline='', encoding='utf-8') as f:
+            reader = csv.reader(f, delimiter=';', quotechar='|', quoting=csv.QUOTE_MINIMAL)
+
+            next(reader)  # skip header
+
+            for row in reader:
+                trackUrl = row[-1]
+                if trackUrl:
+                    tracks.append(trackUrl)
+
+        LOGGER.info(f'>>> Found {len(tracks)} tracks in backup file')
+        return tracks
+
+
+if __name__ == '__main__':
+    with open('config/settings-import.json', 'r', encoding='utf-8') as f:
+        SETTINGS = json.load(f)
+
+    spotifyImport = SpotifyImport(SETTINGS['spotifyAPI']['clientID'])
+
+    for playlist in SETTINGS['playlists']:
+        spotifyImport.import_playlist(playlist['backupFilePath'], playlist['user'], playlist['id'])
+
+    LOGGER.info('### DONE ###')
diff --git a/config/settings-example.json b/config/settings-backup-example.json
similarity index 100%
rename from config/settings-example.json
rename to config/settings-backup-example.json
diff --git a/config/settings-import-example.json b/config/settings-import-example.json
new file mode 100644
index 0000000000000000000000000000000000000000..90f912f618c1eecad9406fd629ad65becd0fb202
--- /dev/null
+++ b/config/settings-import-example.json
@@ -0,0 +1,12 @@
+{
+    "spotifyAPI": {
+        "clientID": ""
+    },
+    "playlists": [
+        {
+            "backupFilePath": "",
+            "user": "",
+            "id": ""
+        }
+    ]
+}
\ No newline at end of file