Sidebar

Mobile navigation sidebar

Developer console

C# / .NET

Call the Address Suggest API from C# using HttpClient or ASP.NET Core's IHttpClientFactory.

Using HttpClient

using System.Net.Http;
using System.Web;

var apiUrl = Environment.GetEnvironmentVariable("DATASARAS_API_URL")
    ?? "https://api.datasaras.com";
var apiKey = Environment.GetEnvironmentVariable("DATASARAS_API_KEY");

using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-auth-key", apiKey);

var keyword = Uri.EscapeDataString("55 kay st");
var url = $"{apiUrl}/address-api-v1/au/address/suggest?keyword={keyword}&limit=10";

var response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();

var json = await response.Content.ReadAsStringAsync();
// Parse with System.Text.Json or Newtonsoft.Json

ASP.NET Core service

// ASP.NET Core - inject IHttpClientFactory
public class AddressSuggestService
{
    private readonly HttpClient _http;
    private readonly string _apiUrl;
    private readonly string _apiKey;

    public AddressSuggestService(IHttpClientFactory factory, IConfiguration config)
    {
        _http = factory.CreateClient();
        _apiUrl = config["DataSaras:ApiUrl"] ?? "https://api.datasaras.com";
        _apiKey = config["DataSaras:ApiKey"] ?? "";
    }

    public async Task<string> SuggestAsync(string keyword, int limit = 10)
    {
        var url = $"{_apiUrl}/address-api-v1/au/address/suggest" +
            $"?keyword={Uri.EscapeDataString(keyword)}&limit={limit}";
        _http.DefaultRequestHeaders.Remove("x-auth-key");
        _http.DefaultRequestHeaders.Add("x-auth-key", _apiKey);

        var response = await _http.GetAsync(url);
        response.EnsureSuccessStatusCode();
        return await response.Content.ReadAsStringAsync();
    }
}

appsettings.json

{
  "DataSaras": {
    "ApiUrl": "https://api.datasaras.com",
    "ApiKey": "your_api_key"
  }
}

Endpoint

GET http://localhost:8383/address-api-v1/au/address/suggest?keyword=…&limit=10

Header: x-auth-key: YOUR_API_KEY