 <p>Here is the solution that i came up with.</p> <p>this returns the client object</p> <pre><code>private RestClient InitializeAndGetClient() { var cookieJar = new CookieContainer(); var client = new RestClient("https://xxxxxxx") { Authenticator = new HttpBasicAuthenticator("xxIDxx", "xxKeyxx"), CookieContainer = cookieJar }; return client; } </code></pre> <p>and you can use the method like </p> <pre><code> var client = InitializeAndGetClient(); var request = new RestRequest("report/transaction", Method.GET); request.AddParameter("option", "value"); //Run once to get cookie. var response = client.Execute(request); //Run second time to get actual data response = client.Execute(request); </code></pre> <p>Hope this helps you.</p> <p>Prakash.</p>