---
title: "Get Changed Products"
canonical: "https://docs.dk.is/space/DKPLUS/7897407/Get%20Changed%20Products"
format: markdown
---
Here is an example of getting all changed products from a company.


```csharp
            var httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", "3541031f-baf2-4737-a7e8-c66396e5a5e3");
            //Load Date Time to query from Look at nextSyncData variable
            DateTime queryFrom = new DateTime(1900, 1, 1); //Load from config
            List<Models.Product> products = null;
            List<Models.Product> totoalProducts = new List<Product>();
            bool doFetch = true;
            
            int page = 1;
            do
            {
                var response = await httpClient.GetAsync($"https://api.dkplus.is/api/v1/Product/page/{page}/1000?modified={queryFrom.ToUniversalTime().ToString("o")}");
                var rspContent = await response.Content.ReadAsStringAsync();
                products = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.Product>>(rspContent);
                page++;                
                doFetch = products != null && products.Count >= 1000;
                totoalProducts.AddRange(products);
                if(totoalProducts.Count >= 50000) //if limit is hit for 50.000 objects "Paging" https://apidoc.dkplus.is/
                {
                    queryFrom = products.Last().ObjectDate.Value.AddMilliseconds(1);
					page = 1;
                 }
            } while (doFetch);
            var nextSyncData = totoalProducts.OrderBy(x => x.ObjectDate).Last().ObjectDate.Value.AddMilliseconds(1);
            //Store nextSyncData to storage for use to get only changes
```