Если нужно именно хорошее и «чистое» API, лучше сразу смотреть в сторону Headless CMS. В обычных магазинных движках API часто прикручено для галочки, а в Headless — это основа.
Из своего опыта очень советую PayloadCMS. Она на NextJs, и REST API там идет сразу из коробки без всяких костылей + GraphQL + local api. Всё очень гибкое: можно настроить любые поля для товаров и
категорий прямо в коде, не воюя с базой.
Я недавно на ней собирал большой магазин (напольные покрытия). Там была сложная структура товаров, и Payload справилась идеально — всё летает, и фронтенд на Next.js цепляется к API
без проблем.
Вот тут можно посмотреть, что получилось в итоге (кейс):
Интернет-магазин на PayloadCMS (
https://algonix.by/cases/internet-magazin-napolnyh...)
И подробнее про сам стек я расписывал здесь:
PayloadCMS: возможности и плюсы (
https://algonix.by/tech-stacks/payloadcms и
https://payloadcms.com/docs/getting-started/instal...)
Как вариант, можно еще потыкать Strapi - но мне не зашел визуальный редактор связей, но Payload сейчас кажется самым адекватным и современным решением.
---
Почему это хорошо для Хабра:
* Нет официоза: «Я недавно собирал», «можно потыкать», «всё летает».
* Личный опыт: Вы не просто советуете теорию, а даете ссылку на живой проект.
* Помощь, а не реклама: Вы ответили на вопрос про API, а ссылки дали как дополнение «глянуть, как это работает».