## Overview

In the following sample you learn the different APIs to access the current site in a multisite deployment of Sitefinity CMS.

```C#
using System;
using System.Linq;
using Telerik.Sitefinity.Modules.News;
using Telerik.Sitefinity.Multisite;
using Telerik.Sitefinity.Services;

namespace SitefinityWebApp
{
    public partial class SitefinitySamples
    {
        public void WorkWithMultisiteAPI()
        {
            // Take the multisite context
            var currentContext = SystemManager.CurrentContext;
            var multisiteContext = currentContext.MultisiteContext;
            var currentSite = multisiteContext.CurrentSite;

            // You have several options to get specific site with MultisiteAPI
            // Get by site name
            var siteByName = multisiteContext.GetSiteByName("SecondSite");

            // Get by site domain
            var siteByDomain = multisiteContext.GetSiteByDomain("https://secondsite.com");

            // Get by id
            Guid exampleSiteId = new Guid();
            multisiteContext.GetSites().FirstOrDefault(x => x.Id == exampleSiteId);
            var siteById = multisiteContext.GetSiteById(exampleSiteId);

            // Now you can choose in which siteContext you want to work
            using (new SiteRegion(siteByDomain))

            {
                // Perform action, for example:
                // We edit news item which is present in the site with domain https://secondsite.com
                NewsManager newsManager = NewsManager.GetManager();
                var newsItem = newsManager.GetNewsItems().FirstOrDefault(x => x.Title == "My Title");

                if (newsItem != null)
                {
                    newsItem.Title = "New title";
                }

                newsManager.SaveChanges();
            }
        }
    }
}
```
