Парсинг — Как получить подкатегории если они подгружаются при помощи js?
Поскольку вы не имеете никакого отношения к сайту, а на запрос с чужого домена возвращается 404, то серверное решение для вас ИМХО закрыто.
Клиентское также, поскольку парсить документ с другого домена не получится — политика происхождения не позволит.
Остаётся только прокликать все пункты, которые приводят к загрузке, потом скопировать полученную в итоге структуру (анализатор в браузере) и парсить уже её.
Как вы будете решать задачу с кликами? Например, программа-кликер просто по координатам, но это муторно и непонятно как сделать.
Вам поможет Greasemonkey. Обрабатываем клики по ссылкам в цикле. Можно использовать jQuery синтаксис, проверено на этом сайте.// ==UserScript==
// @name        test
// @namespace   html
// @description Grabbing categories
// @include     https://www.ricardo.ch/verkaufen/verkaufsformular/schritt1?src=btn_header_verkaufen&SSL=ON
// @version     1
// @grant       none
// ==/UserScript==

$(function () {
	var links = $('#navCatLvl1 a');
	links.each(function () {
		var $link = $(this);

		$link.trigger('click');
		//нашли загруженный контент (Mutation Observer) и поехали в нём по циклу
	});
});
api.ricardo.ch вам в помощь, SystemService, а из него getCategories. Он доступен без получения ключа.
Если не секрет, а для какой Вам у цели?