# Scripting - system.tag.exists

**URL:** <https://forum.inductiveautomation.com/t/scripting-system-tag-exists/48035>\
**Category:** Ignition Early Access\
**Tags:** ignition80\
**Created:** [June 21, 2021, 9:29pm UTC](https://forum.inductiveautomation.com/t/scripting-system-tag-exists/48035 "2021-06-21T21:29:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![luc.martin](https://avatars.discourse-cdn.com/v4/letter/l/77aa72/32.png) [@luc.martin](https://forum.inductiveautomation.com/u/luc.martin)\
**Post date:** [June 21, 2021, 9:29pm UTC](https://forum.inductiveautomation.com/t/scripting-system-tag-exists/48035/1 "2021-06-21T21:29:57Z")

</div>

8.1.7

Seems that system.tags.exists gives very poor performance when validate an UDT path, I think that the functions browse all UDT before returning response.

I have compare with a system.tag.browse and browse is very more fasted than exists.

![2021-06-21_17h06_37](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/3/837874e57b01fcc457f60a59d34bd4ca7fba0e96.png)

---

<div class="post-metadata">

**Author:** ![ryanjmclaughlin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryanjmclaughlin/32/4318_2.png) [@ryanjmclaughlin](https://forum.inductiveautomation.com/u/ryanjmclaughlin)\
**Post date:** [July 13, 2021, 7:10pm UTC](https://forum.inductiveautomation.com/t/scripting-system-tag-exists/48035/2 "2021-07-13T19:10:33Z")

</div>

I’m having similar issues, sometimes multiple seconds waiting for system.tag.exists to return, did you find a solution to this?

---

<div class="post-metadata">

**Author:** ![luc.martin](https://avatars.discourse-cdn.com/v4/letter/l/77aa72/32.png) [@luc.martin](https://forum.inductiveautomation.com/u/luc.martin)\
**Post date:** [July 13, 2021, 7:37pm UTC](https://forum.inductiveautomation.com/t/scripting-system-tag-exists/48035/3 "2021-07-13T19:37:39Z")

</div>

For now when I want to test existance of an UDT I use a system.tag.browse instead of system.tag.exists it’s really faster and i just do a validation like this =\> if len(result)\>0: (exist)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [July 13, 2021, 8:12pm UTC](https://forum.inductiveautomation.com/t/scripting-system-tag-exists/48035/4 "2021-07-13T20:12:05Z")

</div>

What about just issuing a read directly for the given path? Under the hood that’s what `system.tag.exists` is doing as of 8.0, since it’s a ‘legacy’ function that we had to bridge to the new tag system. The quality of the result of a read should be sufficient to tell you whether the given tag exists.
