Ответ зависит от того, какой у вас есть доступ к серверу, и насколько легко / быстро получить свежие данные.
Вы можете сделать так, как предлагает Gnudiff, и использовать команду cron, чтобы получить данные по расписанию, а затем сохранить их в базе данных, чтобы вы могли вернуться в каждом ответе.
Или вы можете использовать хранилище в памяти, например, Redis, для кэширования данных. Когда пользователь вызывает конечную точку, вы проверяете кеш, чтобы увидеть, существует ли он. Поскольку они не будут существовать, извлеките ваши данные, сохраните их в кеше с TTL на данных, срок действия которых истекает в конце 12-часового периода, и верните их пользователю. Все следующие запросы следуют одному и тому же процессу, возвращая его из кэша, если он существует, или получая свежие данные, если его нет, и затем возвращая их пользователю.