Aimeos for Laravel: an e-commerce package you extend rather than configure
Integrated online shop based on Laravel and the Aimeos e-commerce framework for ultra-fast online shops, scalable marketplaces, complex B2B applications and #gigacommerce
At a glance
- What is it?
- Aimeos is a Laravel e-commerce framework with a JSON REST API, a GraphQL admin API and a modular PHP core. It suits teams that need B2B pricing, marketplaces or headless storefronts, and it is a poor fit for someone who wants a shop running from a control panel in an afternoon.
- Who is it for?
- Adopt Aimeos if you are a Laravel team with PHP capacity and a requirement that off-the-shelf carts handle badly: block pricing, multi-vendor catalogues, subscriptions, a headless API. Do not adopt it if nobody on the team writes PHP, or if the shop is a simple catalogue you want to run from a dashboard.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.
Star history
- aimeos/aimeos5,476 ★ · +17
| Repository | 2026-09-28 | 2026-11-13 |
|---|---|---|
| aimeos/aimeos | 5.5k | 5.5k |
17 Stars in the last 46 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
The problem Aimeos solves, and who ends up using it
Most hosted storefronts stop at a point where the business logic stops being ordinary. A wholesaler needs a different price per customer group and per quantity band. A marketplace needs vendors who own their own catalogue without owning the database. A subscription product needs a recurring payment path that the cart understands. Aimeos is aimed at those cases: the README lists multi-vendor, multi-channel and multi-warehouse operation, block and tier pricing, customer and group based prices, subscriptions with recurring payments, and a basket rule system. Those are the features that force a build rather than a subscription. The audience is a Laravel team that already runs PHP in production and would rather add a package than run a separate commerce application next to its own. The README positions the project as API-first, with a JSON REST API following jsonapi.org and a GraphQL API for administration, which is what makes a headless setup possible without writing an API layer yourself. If your requirement is a brochure site with a checkout button, this is more machinery than the job needs.
How the pieces fit: Laravel application, Aimeos package, admin API
The repository is the Aimeos standalone shop application, built on Laravel. The top-level layout is ordinary Laravel: app/, bootstrap/, config/, database/, routes/, resources/, public/, storage/, tests/, plus artisan and composer.json. There is also a packages/ directory at the root. The frontend build is Vite with Tailwind, driven by package.json, whose scripts are only build and dev. The default development stack is Laravel Sail: docker-compose.yml builds a sail-8.2/app image from ./vendor/laravel/sail/runtimes/8.2, and brings up mysql/mysql-server:8.0 and a minio/minio:latest service alongside it. The README describes the structure as completely modular and configurable, which in practice means the extension points are class replacements and configuration rather than plugin hooks.
Configuring Aimeos through .env and the shop switches
The repository ships a .env.example that is the starting point for configuration, and its shop section is small enough to read in full. Five SHOP_ switches appear: SHOP_MULTILOCALE, SHOP_MULTISHOP, SHOP_REGISTRATION, SHOP_PERMISSION and SHOP_MCP_AUTH, which is set to sanctum. The first three default to false, so a fresh install is a single shop in a single language with registration closed. SHOP_PERMISSION defaults to admin. The file also sets the database connection to mysql on 127.0.0.1:3306 with database laravel and user root, and defines the mail transport as smtp on smtp.mailtrap.io:2525, which you will replace before anything sends a real order confirmation. The AWS_* keys are present but empty, so object storage is only wired up when you fill them in. The README states the platform is extremely configurable and extensible, and this file is where that starts: the switches decide whether the Aimeos core runs one shop or many, and the rest of the customisation happens in PHP rather than in the environment file.
SHOP_MULTILOCALE=false
SHOP_MULTISHOP=false
SHOP_REGISTRATION=false
SHOP_PERMISSION=adminWhere Aimeos gets expensive: the admin backend and the upgrade path
The honest limitation is not performance, it is surface area. Aimeos is a framework with an administration application attached, and the README's feature list is long: bundles, vouchers, virtual and configurable products, 100+ payment gateways, RTL support, flexible basket rules, configurable product data sets. Every one of those is a configuration surface an editor or a developer has to learn. Teams coming from a hosted cart often underestimate this. The second cost is upgrades. A version bump can affect the customisations you made. The README links an upgrade guide for moving between major versions, and the repository has no GitHub releases, so pinning the Aimeos version in composer.json and reading the changelog before upgrading is the responsible default. A third constraint is the stack itself: docker-compose.yml builds from vendor/laravel/sail/runtimes/8.2, so the default development environment assumes PHP 8.2 and MySQL 8.0. If your production platform is something else, you are adapting the environment, not just the code.
Aimeos compared with Bagisto and with hosted carts
Bagisto is the obvious comparison, and the two projects make different bets. Bagisto is a Laravel e-commerce platform with its own admin panel and a package ecosystem aimed at merchants who want a complete shop they configure. Aimeos is closer to a framework: the README calls it a package, the repository is a Laravel application, and the extension model is overwriting and extending classes rather than installing plugins. The practical difference shows up the first time a requirement does not fit. In Aimeos you write PHP against the Aimeos core and register the replacement in configuration. In a platform-style cart you either find an extension or you fight the abstraction. The trade is reversed at the start: a platform-style cart gives a working storefront sooner, and Aimeos asks you to understand its data model before you can change anything. The same logic separates Aimeos from hosted carts. A hosted cart gives you a dashboard and a monthly bill; Aimeos gives you the code, an MIT licence and the operational work that comes with it.
Licence, maintenance and what an upgrade actually costs
Aimeos is MIT licensed, which permits commercial use, modification and redistribution provided the copyright notice and permission notice are retained. That is a permissive licence, and it removes the licensing question from a build-versus-buy decision; it does not remove the operational one. The repository is not archived, and the last push was on 2026-10-23, which is recent enough that the project is being worked on, but the repository has no published GitHub releases, so pinning a version and reading the changelog before upgrading is the responsible default. Upgrade cost scales with how far you went into the extension points. A shop that only configures products, prices and payment gateways will move between minor versions with little friction. A shop that replaced core classes, wrote custom basket rules or modified admin templates is doing a small migration each time, and the cost lands on whoever wrote those overrides. Budget for that person being available at upgrade time. The MIT licence also means you can fork, but forking a framework of this size is a maintenance commitment most teams should not take on.
Editorial conclusion
Adopt Aimeos if you are a Laravel team with PHP capacity and a requirement that off-the-shelf carts handle badly: block pricing, multi-vendor catalogues, subscriptions, a headless API. Do not adopt it if nobody on the team writes PHP, or if the shop is a simple catalogue you want to run from a dashboard. Verify three things before committing: that your PHP and Laravel versions match what the project requires, that your database engine is one the Aimeos migrations support, and that the admin UI covers the workflows your staff actually perform, because the backend is where Aimeos makes you work.
Frequently asked questions
What are the top 3 e-commerce platforms?
Aimeos is one option among several, and the README positions it as an API-first Laravel package rather than a hosted service. Choosing between them comes down to whether you need multi-vendor, multi-channel and block pricing features, which the README lists as part of the package.
What is the best open source e-commerce platform?
There is no single answer, and Aimeos does not claim to be it. The project is MIT licensed, ships a JSON REST API and a GraphQL admin API, and targets B2B, marketplace and headless use cases rather than simple catalogue shops.
What are the aims of e-commerce?
Aimeos addresses the operational side of that question: the README lists multi-vendor, multi-channel and multi-warehouse operation, subscriptions with recurring payments, and a flexible basket rule system as the problems the package is built to handle.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/aimeos-aimeos)Star history chart for your README
[](https://hysenlabs.com/projects/aimeos-aimeos)Was this useful?