Если скачать файл и "положить" локально на сервер, то
file_get_contents 99.9% справится с этой задачей...
Тогда, как вариант:
1. На крон вешаем команду
wget, например, раз в сутки или сколько там Вам надо:
wget -P /save/to/folder/file.json http://site.ru/file.json
2. Далее по Вашей текущей схеме через
file_get_contents, но с
файлом сохранённым локально на сервере...