LearnRevitAPI

🚀Start Coding Faster By Looking Inside Your Elements First

Aug 1, 2025

Understand Revit Elements

Don't jump straight into code.

Once you have an idea for your custom Revit tool, spend a few minutes looking inside elements to understand how to get the right data. This will speed up your coding process.

Luckily, it's very simple to do with a free Revit Lookup plugin, which is a must for any Revit API developer.

Here's how it works.

Grab Your Magnifying Lens,
Let's Look Inside Elements!

The Most Used Revit API Plugin

In order to look inside elements you need to install Revit Lookup. It's free and you can get it on Revit Lookup GitHub page.

Just scroll down to assets and download for each Revit version you're using.

Once you download, run the installer as usual.

Then you'll find RevitLookup under Revit Add-Ins Tab.

Let's breakdown how to use it.


How To Look Inside Elements

There are multiple options on how to snoop your elements in Revit with Revit Lookup.The most popular options:Snoop SelectionSnoop Active ViewSnoop Document (Project)Snoop Database (Everything)

For example, select a few elements in Revit UI and then click on Snoop Selection. This will open up a menu where you can explore elements.

Left side:

On the left you'll have a list of selected elements sorted by their classes. These are the classes that you can also lookup inside RVT Docs to get better understanding of specific attributes.


Right Side:

On the right you can see all attribute(Properties/Methods) names, and most importantly the values they return.

You'll use the same names in your code to get the displayed values. It's great to understand the steps you'll need to code.

(e.g. elem.LevelId - will get you Id of associated level with the element, if it has one)

Regular vs Red Bold attributes

Notice that certain attributes are just plain text, while others are bold red.

  • The plain attributes returns final values like Text/Number/ElementId...

  • Bold attributes return another Element or a list of elements. You can keep exploring their attributes further.

For example if you get a wall and read wall.WallType property - it will return you a WallType element. Then you can explore attributes of a WallType class. It's like a chain that you follow to get the right values.


Inheritance Hierarchy

Also, while exploring Revit Lookup, you'll notice that all attributes are sorted by classes where they come from. Because in Revit API most classes are created with a Base classes to share the same attributes.

This means that if you look for attributes related to the selected class, you need to scroll down to the right section.

Overall, you'll get used to that very soon.


Snoop Database

Sometimes you'll want to look into objects which are not possible to select in Revit UI. For example: Material class.

You can either select element and get to these classes by following a chain, or you can Snooop Database and find it there.

Revit is like a Database containing of all objects in the project. And if you snoop database it you'll get a list of everything.

This way you can scroll through classes that aren't easy to get to (like Materials for examples). This way you can quickly look inside these classes and learn how to work with them.


How To Read Values in Python

Now, let's get a bit more practical.

Once you explore the elements it's time to dive into code and get values inside your code. And by now you know everything you need.

Now you just need to get an element and read its properties or methods using the right attribute names.

For example:

This will get very easy after you do it a few times.


When to use Revit Lookup?

Anytime you're about to start writing code.

It will help you to map out the steps on how to read your elements to get the right data. This can save you a lot of time.

Especially as a beginner, always start with Revit Lookup to better understand the flow you need to create inside your code.

And then just follow it in python.


Property vs Parameter

Also, do not confuse Properties with Parameters.

  • Property is an attribute related to a class (Id, Category, LevelId...)

  • Parameter is like a container related to Revit elements that can holds data. It has its own Parameter class with its own attributes you can explore. You can even get a list of all parameters with a property called .Parameters


And don't worry.
I'm going to explain parameters in depth in another newsletter so you learn how to Get/Read/Set values of any parameter.

For now, just focus on reading properties and methods that you can find inside of Revit Lookup.

P.S.

You can already start creating simple tools by only reading and changing parameter values. Just give it a try and you might get surprised with the results.

👀 And keep an eye on your inbox.
I have a lot more lessons to share with you to help you on your Revit API journey.

✌️See Ya.

Enjoyed Newsletter?

Leave a Testimonial Here.

⌨️ Happy Coding!
Erik Frits

Join Newsletter

📩 You will be added to Revit API Newsletter

Join Us!

which is already read by 9500+ people!