Да, для этой задачи вы можете использовать планировщик laravel. Вы можете посмотреть переменную времени внутри класса команд консоли. Например, укажите в своем классе ядра:
$schedule->command('ApiConnection:get')->everyFiveMinutes();
И в своем классе ApiConnection (функция handle ()) вы можете получить записи вашей БД:
Model::whereDate('end_time', '>=', Carbon::today())->get(); //format of Carbon function should be equal to your end_time column format, I mean I don't know if you use just date or date with time, etc
И теперь вы должны иметь возможность использовать данные game_id по времени.
Я также предлагаю добавить столбец статуса в таблицу БД, чтобы вы могли контролировать, какие записи уже обработаны, например:
$models = Model::whereDate('end_time', '>=', Carbon::today())->where('status', 'awaiting')->get();
foreach ($models as $model) {
$model->status = 'in progress';
...your api work here...
$model->status = 'completed';
}