# Querying & Models

*Overview of multiple ways of querying, filtering, and searching published content for use on your website.*

## [UDI identifiers](/umbraco-cms/reference/querying/udi-identifiers.md)

Umbraco stores identifiers in UDI format for most Umbraco object types. This identifier stores all of the metadata required to retrieve an Umbraco object and is parseable within text. Example: `umb://document/4fed18d8c5e34d5e88cfff3a5b457bf2`. UDI's can be used in many of the querying APIs.

## [IPublishedContent](/umbraco-cms/reference/querying/ipublishedcontent.md)

`IPublishedContent` is a strongly typed model for content, media, and members that is used to render content in your views for your website.

## [UmbracoHelper](/umbraco-cms/reference/querying/umbracohelper.md)

UmbracoHelper is the unified way to work with published content/media on your website. Whether you are using MVC or WebForms you will be able to use UmbracoHelper to query/traverse Umbraco published data.

## [IMemberManager](/umbraco-cms/reference/querying/imembermanager.md)

`IMemberManager` is a user manager interface for accessing member data in the form of `MemberIdentityUser` and converting it to `IPublishedContent`.

## [IPublishedContentQuery](/umbraco-cms/reference/querying/ipublishedcontentquery.md)

The `IPublishedContentQuery` interface contains query methods for accessing strongly typed content in services etc.

## [ITagQuery](/umbraco-cms/reference/querying/itagquery.md)

The `ITagQuery` interface allows to work with tags in Umbraco.

## [UmbracoContext](/umbraco-cms/reference/querying/umbraco-context.md)

The UmbracoContext is a simplified way to work with the current request on your website.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.umbraco.com/umbraco-cms/reference/querying.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
