Как менее ресурсозатратно решить задачу?
никак. узкое место - обращение к сервису. 
разве что можете оптимизировать сохранение в базу. массовые update в mysql делаются 
insert into ... on duplicate key update ... 
но не думаю что это что-то ускорит. 99% времени ваш скрипт отдыхает дожидаясь ответа сервиса. 
чтобы убедится в этом - сделайте профилирование. хотя бы через microtime().
А к апи нельзя сделать запрос указав 50 записей, 100? Если можно сделать такой Bulk Request - то выход только один - делать пачкой запросы и также пачкой их обрабатывать. Статусы ставить на отправление и что обработан. Запрос может грохнуться в любой момент. Не забудьте при реализации.