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