diff --git a/vk/users.py b/vk/users.py
index ac1ece6..9a50ca6 100644
--- a/vk/users.py
+++ b/vk/users.py
@@ -23,6 +23,7 @@ class User(VKBase):
         'status',
         'trending',
         'site',
+        'relation',
     )
 
     @classmethod
@@ -37,6 +38,8 @@ class User(VKBase):
         user.sex = cls._sex(json_obj.get('sex'))
         user.status = cls._status(json_obj)
         user.site = json_obj.get('site')
+        user.relation = cls._relation(json_obj)
+        user.relation_partner = cls._relation_partner(json_obj)
 
         user.facebook = json_obj.get('facebook')
         user.skype = json_obj.get('skype')
@@ -126,6 +129,34 @@ class User(VKBase):
         }
         return platform.get(platform_id)
 
+    @classmethod
+    def _relation(cls, user_json):
+        if 'relation' not in user_json:
+            return None
+
+        index = user_json['relation']
+
+        relation = {
+            0: None,
+            1: 'single',
+            2: 'in a relationship',
+            3: 'engaged',
+            4: 'married',
+            5: 'it\'s complicated',
+            6: 'actively searching',
+            7: 'in love',
+            8: 'in a civil union'
+        }
+
+        return relation.get(index)
+
+    @classmethod
+    def _relation_partner(cls, user_json):
+        if 'relation_partner' not in user_json:
+            return None
+
+        return user_json['relation_partner']['id']
+
     def get_games(self):
         response = self._fetch("games")[0]
         return response.get('games')

Add field `User.relation`
diff --git a/tests/factory/user.json b/tests/factory/user.json
index 18438a5..eb5874f 100644
--- a/tests/factory/user.json
+++ b/tests/factory/user.json
@@ -14,5 +14,6 @@
     "last_seen": {"time": 1535548834, "platform": 7},
     "verified": 1,
     "trending": 0,
-    "site": "http://t.me/durov"
+    "site": "http://t.me/durov",
+    "relation": 0
 }
\ No newline at end of file
diff --git a/tests/test_user.py b/tests/test_user.py
index 43061d5..b39a87e 100644
--- a/tests/test_user.py
+++ b/tests/test_user.py
@@ -32,6 +32,8 @@ def test_user(factory):
     assert user.livejournal is None
     assert user.instagram == 'durov'
     assert user.site == 'http://t.me/durov'
+    assert user.relation is None
+    assert user.relation_partner is None
 
 
 def test_user_is_deleted(factory):
@@ -158,3 +160,42 @@ def test_get(mock, method, field, expected):
     mock.return_value = [{field: expected}]
 
     assert getattr(user, method)() == expected 
+
+
+def test_not_relation(factory):
+    user_json = factory('user.json')
+    del user_json['relation']
+
+    user = User.from_json(None, user_json)
+
+    assert user.relation is None
+
+
+@pytest.mark.parametrize('index, expected', [
+    (0, None),
+    (1, 'single'),
+    (2, 'in a relationship'),
+    (3, 'engaged'),
+    (4, 'married'),
+    (5, 'it\'s complicated'),
+    (6, 'actively searching'),
+    (7, 'in love'),
+    (8, 'in a civil union'),
+    (9, None),
+])
+def test_relation(factory, index, expected):
+    user_json = factory('user.json')
+    user_json['relation'] = index
+
+    user = User.from_json(None, user_json)
+
+    assert user.relation == expected
+
+
+def test_relation_partner(factory):
+    user_json = factory('user.json')
+    user_json['relation_partner'] = {'id': 100500, 'first_name': 'Abc', 'last_name': 'Def'}
+
+    user = User.from_json(None, user_json)
+
+    assert user.relation_partner == 100500

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest
3.6
requirements-dev.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
astroid==2.11.7
attrs==22.2.0
certifi==2021.5.30
dill==0.3.4
importlib-metadata==4.8.3
iniconfig==1.1.1
isort==5.10.1
lazy-object-proxy==1.7.1
mccabe==0.7.0
packaging==21.3
platformdirs==2.4.0
pluggy==1.0.0
py==1.11.0
-e git+https://github.com/sgaynetdinov/py-vkontakte.git@47503c737ba4a3bdd821a392a043d5766d904384#egg=py_vkontakte
pylint==2.13.9
pyparsing==3.1.4
pytest==7.0.1
pytest-mock==3.6.1
tomli==1.2.3
typed-ast==1.5.5
typing_extensions==4.1.1
wrapt==1.16.0
zipp==3.6.0

name: py-vkontakte
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - astroid==2.11.7
      - attrs==22.2.0
      - dill==0.3.4
      - importlib-metadata==4.8.3
      - iniconfig==1.1.1
      - isort==5.10.1
      - lazy-object-proxy==1.7.1
      - mccabe==0.7.0
      - packaging==21.3
      - platformdirs==2.4.0
      - pluggy==1.0.0
      - py==1.11.0
      - pylint==2.13.9
      - pyparsing==3.1.4
      - pytest==7.0.1
      - pytest-mock==3.6.1
      - tomli==1.2.3
      - typed-ast==1.5.5
      - typing-extensions==4.1.1
      - wrapt==1.16.0
      - zipp==3.6.0
prefix: /opt/conda/envs/py-vkontakte

tests/test_user.py::test_user tests/test_user.py::test_not_relation tests/test_user.py::test_relation[0-None] tests/test_user.py::test_relation[1-single] tests/test_user.py::test_relation[2-in tests/test_user.py::test_relation[3-engaged] tests/test_user.py::test_relation[4-married] tests/test_user.py::test_relation[5-it's tests/test_user.py::test_relation[6-actively tests/test_user.py::test_relation[7-in tests/test_user.py::test_relation[8-in tests/test_user.py::test_relation[9-None] tests/test_user.py::test_relation_partner
tests/test_user.py::test_user_is_deleted tests/test_user.py::test_user_is_banned tests/test_user.py::test_sex[1-female] tests/test_user.py::test_sex[2-male] tests/test_user.py::test_sex[4-None] tests/test_user.py::test_sex[None-None] tests/test_user.py::test_platform[1-m.vk.com] tests/test_user.py::test_platform[2-iPhone tests/test_user.py::test_platform[3-iPad tests/test_user.py::test_platform[4-Android tests/test_user.py::test_platform[5-Windows tests/test_user.py::test_platform[6-Windows tests/test_user.py::test_platform[7-web tests/test_user.py::test_without_status tests/test_user.py::test_maiden_name tests/test_user.py::test_without_last_seen tests/test_user.py::test_not_time_in_last_seen tests/test_user.py::test_if_not_field_site tests/test_user.py::test_get[get_activities-activities-Activities] tests/test_user.py::test_get[get_activities-activities-] tests/test_user.py::test_get[get_about-about-About] tests/test_user.py::test_get[get_about-about-] tests/test_user.py::test_get[get_books-books-Book] tests/test_user.py::test_get[get_books-books-] tests/test_user.py::test_get[get_games-games-Games] tests/test_user.py::test_get[get_games-games-] tests/test_user.py::test_get[get_movies-movies-Movies] tests/test_user.py::test_get[get_movies-movies-] tests/test_user.py::test_get[get_music-music-Music] tests/test_user.py::test_get[get_music-music-] tests/test_user.py::test_get[get_quotes-quotes-Quotes] tests/test_user.py::test_get[get_quotes-quotes-] tests/test_user.py::test_get[get_tv-tv-TV] tests/test_user.py::test_get[get_tv-tv-]
vk/users.py
vk/users.py