Как синглтон превратить в DI в Yii2?
А зачем вам делать его DI, сделайте его компонентом. Extends Component, а в конфигурации components=> [
'api'=> [ 'class' => 'namespace\вашего\клаccа']
]
Обращаться к нему так: Yii::$app->api.
Если что-то не понятно, спросите в комментарии, напишу развернуто.
дополню ответ Decadal 
вам тогда жужно его сделать как componentclass BaseApiClient extend yii\base\Component {
      public $url;
      public $key
 } если base класс не нужен лучше убрать если у вас нету фабрики клиентов, ну если еще таковой функционал нужен, то нужно будет сделать интерфейс.class ApiClient extend BaseApiClient {
}
в конфиге config/web.phpв  секцию массива добавить components=> [
'api'=> [
 'class' => 'namespace\вашего\клаccа',
 'url' => '',
 'key' => '',
]
]
PS все объекты наследуемые от BaseObject или Component содержат функционал DI контейнер через конструктор