API client builder