---
title: "Access alternate versions of an item"
slug: "access-alternate-versions-of-an-item"
abstract: "How to access alternate versions of an item using the Sitecore.Data.Version class."
---
# Access alternate versions of an item

Each item can contain multiple languages. Each language can contain multiple versions. You can use the `Sitecore.Data.Version` class to specify a version when accessing an item by using the `Sitecore.Data.Database.GetItem()` method. For example, to access the first version of the /*Sitecore/Content/Home* item in the *Master* database in the default *en* language:

```

Sitecore.Globalization.Language language = Sitecore.Globalization.Language.Parse("en");

Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home",

language, Sitecore.Data.Version.Latest);

```

To access the second version of the */Sitecore/Content/Home* item in the *Master* database in the default *en* language:

```

Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");

Sitecore.Globalization.Language language = Sitecore.Globalization.Language.Parse("en");

Sitecore.Data.Version second = Sitecore.Data.Version.Parse(2);

Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home",

language,second);

```

> [!note]
> If you do not specify a version, Sitecore uses the current version by default.

You can access the identifier of a version using the `Sitecore.Data.Items.Version.Number` property. For example, to access the version number of the */Sitecore/Content/Home* item in the *Master* database:

```

Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");

int verNumber = home.Version.Number;

```

You can use the `Sitecore.Data.Items.Item.Versions.Count` property to determine if any versions of an item exist for a language. You can use the `Sitecore.Data.Items.Item.Versions.GetVersions()` method to access all versions of an item in a language. For example, to access all versions in each language of the */Sitecore/Content/Home* item in the Master database:

```csharp
Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");

foreach (Sitecore.Globalization.Language language in home.Languages)
    {
        Sitecore.Data.Items.Item langItem = master.GetItem(home.ID, language);

        if (langItem.Versions.Count > 0)
        {
            foreach (Sitecore.Data.Items.Item verItem in langItem.Versions.GetVersions())
            {
                // Process version item
            }
        }
    }

```