Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
Win | 1–0 | Jun 2010 | ITF Qarshi, Uzbekistan | 25,000 | Hard | Daria Kuchmina | Ksenia Milevskaya Ganna Piven | 6–2, 2–6, [11–9] |
Win | 2–0 | Jul 2011 | ITF Darmstadt, Germany | 25,000 | Clay | Anna Zaja | Hana Birnerová Karolína Plíšková | 7–5, 2–6, [10–6] |
Loss | 2–1 | Dec 2011 | Siberia Cup, Russia | 50,000 | Hard (i) | Margarita Gasparyan | Darya Kustova Olga Savchuk | 0–6, 2–6 |
Win | 3–1 | Feb 2012 | ITF Sharm El Sheikh, Egypt | 10,000 | Hard | Khristina Kazimova | Rocío de la Torre Sánchez Christina Shakovets | 6–4, 7–5 |
Loss | 3–2 | Feb 2012 | ITF Sharm El Sheikh, Egypt | 10,000 | Hard | Khristina Kazimova | Indire Akiki Anastasia Kharchenko | 3–6, 3–6 |
Win | 4–2 | Feb 2012 | ITF Sharm El Sheikh, Egypt | 10,000 | Hard | Khristina Kazimova | Sofia Dmitrieva Polina Leykina | 6–0, 7–6(7–4) |
Win | 5–2 | Mar 2012 | ITF Phuket, Thailand | 25,000 | Hard | Marta Sirotkina | Chan Chin-wei Zheng Saisai | 6–4, 6–1 |
Win | 6–2 | Jul 2012 | ITF Vienna, Austria | 10,000 | Clay | Anna Shkudun | Christina Shakovets Sofiya Kovalets | 6–4, 7–5 |
Loss | 6–3 | Aug 2012 | Ladies Open Hechingen, Germany | 25,000 | Clay | Renata Voráčová | Mervana Jugić-Salkić Sandra Klemenschits | 2–6, 3–6 |
Loss | 6–4 | Feb 2013 | ITF Netanya, Israel | 10,000 | Hard | Aminat Kushkhova | Oleksandra Korashvili Polina Leykina | 4–6, 2–6 |
Loss | 6–5 | Mar 2013 | ITF Netanya, Israel | 10,000 | Hard | Aminat Kushkhova | Polina Leykina Aliaksandra Sasnovich | 6–2, 6–7(4–7), [8–10] |
Win | 7–5 | Jun 2013 | ITF Guimarães, Portugal | 10,000 | Clay | Arabela Fernandez Rabener | Tess Sugnaux Rita Vilaça | 3–6, 6–3, [10–3] |
Win | 8–5 | Jul 2013 | ITF Darmstadt, Germany | 25,000 | Clay | Alexandra Artamonova | Maša Zec Peškirič Christina Shakovets | 6–3, 7–6(7–5) |
Win | 9–5 | Nov 2013 | ITF Sharm El Sheikh, Egypt | 10,000 | Hard | Khristina Kazimova | Elena-Teodora Cadar Arabela Fernandez Rabener | 6–4, 6–3 |
Loss | 9–6 | Nov 2013 | ITF Sharm El Sheikh, Egypt | 10,000 | Hard | Yuliya Hnateyko | Katie Boulter Justine De Sutter | 4–6, 6–7(6–8) |
Win | 10–6 | Dec 2013 | ITF Antalya, Turkey | 10,000 | Clay | Khristina Kazimova | Nikola Horaková Gabriela van de Graaf | 6–1, 6–0 |
Loss | 10–7 | Mar 2014 | ITF Shenzhen, China | 10,000 | Hard | Polina Leykina | Han Na-lae Yoo Mi | 1–6, 1–6 |
Loss | 10–8 | Apr 2014 | ITF Heraklion, Greece | 10,000 | Hard | Valentini Grammatikopoulou | Magali Kempen Elke Lemmens | 6–1, 5–7, [8–10] |
Win | 11–8 | Apr 2014 | ITF Heraklion, Greece | 10,000 | Hard | Valentini Grammatikopoulou | Despina Papamichail Maria Sakkari | 6–7(6–8), 6–3, [10–5] |
Win | 12–8 | May 2014 | ITF Zielona Góra, Poland | 10,000 | Clay | Natalia Siedliska | Ana Bianca Mihăilă Sviatlana Pirazhenka | 6–4, 6–1 |
Win | 13–8 | Jun 2014 | ITF Breda, Netherlands | 15,000 | Clay | Sviatlana Pirazhenka | Demi Schuurs Eva Wacanno | 6–4, 6–1 |
Loss | 13–9 | Jun 2014 | ITF Brussels, Belgium | 10,000 | Clay | Diana Buzean | Alice Matteucci Camilla Rosatello | 4–6, 6–3, [3–10] |
Loss | 13–10 | Aug 2014 | Neva Cup, Russia | 25,000 | Clay | Anastasia Pivovarova | Vitalia Diatchenko Ilona Kremen | 1–6, 3–6 |
Win | 14–10 | Aug 2014 | Tatarstan Open, Russia | 10,000 | Hard | Alena Tarasova | Kseniia Bekker Anastasia Frolova | 6–1, 6–1 |
Win | 15–10 | Nov 2014 | ITF Sousse, Tunisia | 10,000 | Hard | Janina Toljan | Francesca Stephenson Mandy Wagemaker | 6–2, 6–1 |
Win | 16–10 | Nov 2014 | ITF Sousse, Tunisia | 10,000 | Hard | Oleksandra Korashvili | Harriet Dart Francesca Stephenson | 6–3, 6–1 |
Win | 17–10 | Nov 2014 | ITF Sousse, Tunisia | 10,000 | Hard | Oleksandra Korashvili | Dea Herdželaš Jelena Simić | 6–3, 6–1 |
Loss | 17–11 | Feb 2015 | ITF Moscow, Russia | 25,000 | Hard (i) | Veronika Kudermetova | Lidziya Marozava Anastasiya Vasylyeva | 4–6, 4–6 |
Loss | 17–12 | May 2015 | ITF Zielona Góra, Poland | 10,000 | Clay | Margarita Lazareva | Miriam Kolodziejová Markéta Vondroušová | 2–6, 2–6 |
Win | 18–12 | Aug 2015 | President's Cup, Kazakhstan | 25,000 | Hard | Alena Tarasova | Başak Eraydın Ksenia Palkina | 6–0, 6–1 |
Win | 19–12 | Aug 2015 | ITF Moscow, Russia | 25,000 | Clay | Veronika Kudermetova | Oleksandra Korashvili Valeriya Strakhova | 6–3, 6–3 |
Loss | 19–13 | Aug 2015 | Neva Cup, Russia | 25,000 | Clay | Veronika Kudermetova | Carolin Daniels Lidziya Marozava | 4–6, 6–4, [6–10] |
Win | 20–13 | Sep 2015 | Batumi Ladies Open, Georgia | 25,000 | Hard | Alena Tarasova | Angelina Gabueva Elizaveta Ianchuk | 5–7, 6–1, [10–7] |
Loss | 20–14 | Nov 2015 | Bendigo International, Australia | 50,000 | Hard | Hiroko Kuwata | Lauren Embree Asia Muhammad | 5–7, 3–6 |
Win | 21–14 | Jan 2016 | ITF Daytona Beach, United States | 25,000 | Clay | Veronika Kudermetova | Sharon Fichman Carol Zhao | 6–4, 6–3 |
Loss | 21–15 | Jan 2016 | ITF Wesley Chapel, United States | 25,000 | Clay | Veronika Kudermetova | Ingrid Neel Natalia Vikhlyantseva | 6–4, 6–7(4–7), [6–10] |
Loss | 21–16 | Feb 2016 | ITF New Delhi, India | 25,000 | Hard | Veronika Kudermetova | Hsu Ching-wen Lee Ya-hsuan | 0–6, 6–0, [6–10] |
Win | 22–16 | Apr 2016 | ITF Qarshi, Uzbekistan | 25,000 | Hard | Veronika Kudermetova | Ksenia Lykina Polina Monova | 4–6, 6–4, [10–7] |
Win | 23–16 | Jun 2016 | ITF Moscow, Russia | 25,000 | Hard | Veronika Kudermetova | Anna Morgina Ganna Poznikhirenko | 6–1, 6–2 |
Win | 24–16 | Jul 2016 | Reinert Open, Germany | 50,000 | Clay | Valeriya Strakhova | Kanae Hisami Kotomi Takahata | 6–2, 6–1 |
NP [c] | –– | Jul 2016 | Bursa Cup, Turkey | 50,000 | Clay | Akgul Amanmuradova | Ekaterine Gorgodze Sofia Shapatava | cancelled |
Win | 25–16 | Jul 2016 | President's Cup, Kazakhstan (2) | 25,000 | Hard | Veronika Kudermetova | Polina Monova Yana Sizikova | 6–2, 6–3 |
Win | 26–16 | Sep 2016 | Telavi Open, Georgia | 25,000 | Clay | Veronika Kudermetova | Tatia Mikadze Sofia Shapatava | 6–4, 6–2 |
Win | 27–16 | Jun 2017 | Open de Marseille, France | 100,000 | Clay | Veronika Kudermetova | Dalma Gálfi Dalila Jakupović | 7–6(7–5), 6–4 |
Win | 28–16 | Jul 2017 | President's Cup, Kazakhstan (3) | 100,000 | Hard | Veronika Kudermetova | Ysaline Bonaventure Naomi Broady | 6–2, 6–0 |
Loss | 28–17 | Jun 2018 | Ilkley Trophy, United Kingdom | 100,000 | Grass | Galina Voskoboeva | Asia Muhammad Maria Sanchez | 6–4, 3–6, [1–10] |
Win | 29–17 | Jun 2019 | Macha Lake Open, Czech Republic | 60,000 | Clay | Nina Stojanović | Kyōka Okamura Dejana Radanović | 6–3, 6–3 |
Loss | 29–18 | Jan 2020 | ITF Kazan, Russia | 25,000 | Hard (i) | Yana Sizikova | Ekaterina Yashina Anastasia Zakharova | 2–6, 4–6 |
Loss | 29–19 | Feb 2020 | ITF Moscow, Russia | 25,000 | Hard (i) | Valentini Grammatikopoulou | Sofya Lansere Kamilla Rakhimova | 1–6, 6–3, [6–10] |
Loss | 29–20 | Apr 2021 | ITF Oeiras, Portugal | 25,000 | Clay | Sofya Lansere | Suzan Lamens Marina Melnikova | 3–6, 1–6 |
Loss | 29–21 | Nov 2023 | Open de Valencia, Spain | 100,000 | Clay | Aliona Bolsova | Valentini Grammatikopoulou Andreea Mitu | 5–7, 4–6 |