Формально, любое вопрос ответное правило, по которым общаются две программы - можно назвать api, просто когда это api состоит из единственного запроса, как то язык не поворачивается его таковым назвать.
У тебя как минимум будет запрос на старт парсера, запрос на текущий статус (вернет я работаю, столько то сделал, или я закончил или ой ошибка), запрос на остановку (чтобы перезапустить) и запрос на получение результата, так что вот уже и тебе api.
Про 'селен' - когда речь идет о загрузке данных с чужого сайта, то никаких других вариантов кроме selenium тут нет (в смысле слова, работу можно сделать и другими технологиями, но не обязательно такими удобными)