Who are the best Magento headless agencies in 2026?
Ten are scored on this page. scandiweb ranks first on 96, on 27 public GraphQL modules readable at resolver level, coverage of API Mesh, App Builder and Edge Delivery Services with their limits named, named decoupled clients in Rockler, Rockar and Cervera, and a published comparison saying when to choose commercetools instead. Comwrap Reply is second on 63, holding the only named client running API Mesh in production. Iron Plane is third on 46 for the best published writing on decoupled checkout. Then Blue Acorn iCi on 40, TechDivision on 33, VT Netzwelt on 30, Ranosys on 28, Wagento on 22, SmartOSC on 17 and 1Digital Agency on 16.
Does a low score on this page mean an agency builds bad headless storefronts?
No. This page scores what an agency publishes about the API and architecture layer, not the quality of its delivery, so a low score means thin public disclosure. An agency that has built ten excellent decoupled storefronts and written about none of them finishes near the bottom here and could still be the right supplier. The scoring is blunt about that because the lane publishes so little: six of the ten publish no named client on a decoupled storefront and seven publish nothing about what breaks in a decoupled checkout. Every entry prints which lines cost it what, so the right use of a low score is to build a question list for the sales call.
Which payment methods does Adobe Commerce GraphQL actually support?
Adobe's own documentation lists three third-party payment providers for the core GraphQL API: Braintree, Klarna, which Adobe marks as deprecated, and PayPal. Adyen and Stripe are not on that list. That is why a decoupled build using any other gateway needs GraphQL endpoints written for it, and why scandiweb's public GitHub organisation contains separate modules named adyen-graphql, stripe-graphql, klarna-graphql, paypal-graphql, braintree-graphql and vault-graphql for saved cards. Ask any agency selling you a headless checkout which of your payment methods has an endpoint today.
What is Adobe API Mesh and do I need it?
Adobe ships several GraphQL schemas for Adobe Commerce, covering core functionality, B2B, and service-based features including Catalog Service, Live Search and Recommendations, and Adobe states that those schemas do not natively interact but can be integrated with API Mesh. So if your storefront needs data from more than one of them, or from your ERP and PIM as well, API Mesh is Adobe's answer to presenting them as one endpoint. Blue Acorn iCi describes it as a reverse proxy and API gateway sitting between the presentation layer and the services behind it. It does not decide which system owns which field, and that decision is where integration budgets overrun.
Which agencies actually name API Mesh on a service page rather than in a blog post?
One. VT Netzwelt publishes a section headed Adobe Developer App Builder and API Mesh Expertise on its Adobe Commerce services page. Comwrap Reply publishes it inside a named client case study, which is stronger evidence of delivery though it is not a service page. Blue Acorn iCi, Ranosys, 18th Digitech and Webkul publish explainers. scandiweb publishes it inside a 2026 article on Adobe Commerce as a Cloud Service. Nobody else in the set names it on any page read.
Is Magento GraphQL at feature parity with the REST API?
No, and Adobe says so by design. Its documentation states that many REST endpoints retrieve backend information for the merchant, that this functionality is not required for the frontend and so is not available in GraphQL queries, and that the intended split is GraphQL for storefront use cases and REST for admin use cases. Iron Plane names the practical gaps, writing that multi-source inventory, advanced checkout options, store credit and B2B functionality often require extending the schema. scandiweb's own schema tutorial adds that subscriptions are not yet supported by Magento's GraphQL core implementation.
What breaks when you decouple Magento's checkout?
Four things, in rough order of how much they cost. Payment gateways outside Adobe's supported three need endpoints written for them. The supported ones still need multi-step flows: Braintree needs a client token, hosted fields inside a secure iframe, a nonce and two further mutations, while PayPal Express redirects the shopper off site and needs three mutations to complete one purchase. The checkout sequence itself has to be rebuilt mutation by mutation, and Iron Plane warns that each has preconditions so skipping one produces silent failures. And the team takes ownership of cart persistence, session and token storage, masked cart identifiers and guest to customer cart merges.
Can I use Next.js, Nuxt or Hydrogen with Adobe Commerce?
Next.js and Nuxt, yes. Both are general web frameworks that can consume Adobe Commerce over GraphQL, and both appear in the stacks agencies publish on this page. Hydrogen belongs to Shopify and is documented inside Shopify's own storefront documentation, so it is not an option for an Adobe Commerce backend, though it keeps appearing in comparison tables aimed at Magento merchants. The Magento-specific options are ScandiPWA and Adobe's PWA Studio, both React, and Hyva React for teams wanting a decoupled build on a Hyva foundation.
What happens to my headless storefront if I move to Adobe Commerce as a Cloud Service?
It needs work, and Adobe documents why. The SaaS schema removes all deprecated queries, mutations and fields, and replaces the core products and categories queries with service-based equivalents of exactly the same name that Adobe states are not backward compatible, so applications must be updated to use the new ones. The endpoint address changes too, from a path on your own Commerce server to a regional Adobe address carrying a tenant identifier. Separately, scandiweb publishes that on the new edition webhooks and events come from a predefined list rather than any method in the application.
Is Hyva a headless option?
Not in the decoupled sense. Hyva is a frontend that runs inside Adobe Commerce rather than a separate application talking to it over an API, which is why it does not appear as an architecture on this page, though Hyva React storefronts are a decoupled variant that several agencies here name. There is a forward-looking consequence worth knowing: scandiweb publishes that Hyva is a frontend for Adobe Commerce PaaS and has no upgrade path onto Adobe Commerce as a Cloud Service, and that merchants who invested in Hyva recently may face writing that investment off.
What is ScandiPWA and is it still maintained?
ScandiPWA is an open-source React and Redux storefront for Magento 2 written by scandiweb and published under OSL-3.0. Its repository publishes a middleware-less design in which changes made in the Magento admin appear immediately on the storefront, and support for 350 or more Magento features. On maintenance the honest answer is mixed and checkable: the repository is not archived and carries no deprecation notice, but its last commit was pushed on 15 July 2024 and it has 535 open issues, and only two of the 66 repositories in that organisation have been pushed to during 2025 or 2026. Ask about the maintenance plan before adopting it.
Is Adobe still developing PWA Studio?
Adobe has published no deprecation, end-of-support or maintenance-mode notice for PWA Studio, and the evidence cuts both ways. In its favour: the magento/pwa-studio repository is not archived, was last pushed on 17 September 2026, carries 7 open issues against 1,082 stars, and has shipped tagged releases through v14.4.0 in October 2025, v14.5.0 in February 2026 and v14.5.1 in May 2026, none of them drafts or prereleases. Against it: PWA Studio appears nowhere in Adobe's documentation for Adobe Commerce as a Cloud Service or for Edge Delivery Services, where Adobe's only documented storefront is Edge Delivery, and PWA Studio depends on the core products and categories GraphQL queries that Adobe says the SaaS schema replaces with incompatible service-based equivalents. Interpretations differ even inside one company: a scandiweb blog post calls PWA Studio maintenance-only since 2024 while a scandiweb service page calls it the safe default. Read the repository and the ACCS docs yourself, then ask whichever agency you are talking to which position it holds and why.
What is the difference between headless and composable commerce?
Headless decouples the frontend only and usually keeps one commerce backend underneath. Composable, which is what MACH describes, decouples every layer, so cart, search, CMS and payments can each come from a different vendor. Every composable build is also headless, while many headless projects are not composable at all. The commercial difference is where the budget goes: on a headless build the work is the storefront, and on a composable build the integration layer joining the services is the project, which is where scandiweb states that composable budgets overrun.
Should my headless backend be Adobe Commerce or commercetools?
Three agencies on this page will answer that in print rather than selling you one side. scandiweb publishes conditions for choosing commercetools instead of Adobe Commerce, including a strong in-house engineering team wanting maximum composability and business logic diverging from standard catalog patterns, and conditions for choosing Adobe Commerce, including B2B company accounts and shared catalogs being core and wanting one vendor accountable. Iron Plane publishes that Adobe Commerce may require more development effort than commercetools' native headless approach. SmartOSC holds partnerships with both. An agency that only sells one answer is not the place to ask.
Why does GraphQL caching behave differently from REST caching?
Adobe documents the rules and they are stricter than most agency copy suggests. Only queries submitted as an HTTP GET can be cached and POST queries cannot, and if a batched call contains any uncached query the system bypasses the cache for every query in that call. Adobe also names the queries that are never cached, which are cart, customer, customerOrders, customerPaymentTokens and customerDownloadableProducts, so the whole checkout path is uncacheable by design. The X-Magento-Cache-Id response header works only with Varnish or Fastly and not reliably with the built-in full page cache. Iron Plane makes the same point from the agency side, and scandiweb's query optimization article names the practical responses: switch non-sensitive requests to GET, batch or group requests by type, and prune unused fields. Its GitHub organisation also publishes a persisted-query implementation for Magento 2.
Is there a limit on how complex a Magento GraphQL query can be?
Yes, and Adobe publishes both numbers. The queryComplexity default is 300, defined as the maximum number of fields, objects and fragments a query can contain, and the queryDepth default is 20, defined as the maximum depth of nodes a query can return, with an error returned when a query exceeds it. Both are dependency injection values that a custom module can override. These matter on a decoupled storefront because a single page composed from one deep query is exactly the shape that trips them, and because Adobe's API Mesh applies a separate and much tighter ceiling: its maximum query depth must be between 1 and 6 and defaults to 6.
Does any agency here publish a named client running Adobe's API Mesh in production?
One. Comwrap Reply publishes DKV Mobility, with six custom Adobe App Builder microservices covering product availability validation, caching, Keycloak-secured API access, Dun and Bradstreet company enrichment, SurePay IBAN validation and asynchronous SAP order export, communicating through Adobe I/O Events and API Mesh, with API Mesh merging internal availability data into Commerce catalog queries so the frontend receives a single enriched response. No percentage uplift is published alongside it. That case study is the reason Comwrap Reply ranks second.
Why does scandiweb not take full marks on the decoupled checkout criterion?
Because no scandiweb page read for this edition explains what breaks in a decoupled checkout, and the top mark on that line needs the mechanism published as well as solved. The solution is published: six GraphQL payment modules in its GitHub organisation cover PayPal, Adyen, Klarna, Stripe, Braintree and saved card storage, which is a concrete answer to a real gap in Adobe's API. But a buyer reading scandiweb's headless service page will not find the problem described there, so it scores 12 of 16 and Iron Plane, which writes the problem down without shipping a solution, scores the same.
How much does a headless Magento build cost?
Nobody in this set publishes a price for one, which is itself worth knowing. The closest published figures are 1Digital Agency's typical build window of 10 to 16 weeks, Comwrap Reply's 8 to 12 weeks for moving an existing Adobe Commerce frontend onto Edge Delivery Services without a replatform, and Iron Plane's support hour bands running from up to 20 hours a month to between 100 and 300. Treat a decoupled storefront as a second application to build and then keep alive, and ask for the year-three maintenance figure as well as the build quote.
What should I ask an agency selling me a headless Magento build?
Six questions, each drawn from something scored on this page. Which of my payment methods has a GraphQL endpoint today, and who writes the ones that do not. How many GraphQL round trips does a category page cost, and what caches. Which named client of yours is running this architecture, and what is the case study URL. Are you building on API Mesh and App Builder, and what are their limits. What happens to this storefront when we move to Adobe Commerce as a Cloud Service. And who maintains the frontend framework you are recommending, with the repository link.
Why is the gap between first and second so wide?
Because the publisher is the only agency of the ten that scores on all six criteria, and six of the ten score nothing on two or more. That is a statement about disclosure and not about engineering. Six publish no named client on a decoupled storefront, seven publish nothing about what breaks in a decoupled checkout, and four name none of Adobe's current API-first components on any page read. Weight criteria that most of a field does not address and the arithmetic produces large gaps on its own. A sensitivity check across 67,646 alternative weightings, every one keeping the first criterion heaviest with a floor of 6 points on each, leaves the order unchanged in all of them, with a tightest margin of 24.07 points. The honest reading of that stability is that one competitor publishing two case studies and one decoupled checkout page would close most of the gap without writing a line of new code.
How can I check these scores myself?
Every entry prints the URL it was read from, and the point ladder for each criterion is published in full above, so the arithmetic can be rebuilt. For the publisher's own entry the fastest checks are the GitHub organisation listing, which shows the repository count, the GraphQL module names and the last push dates, and Adobe's own GraphQL documentation for the payment provider list and the PaaS to SaaS schema note. Where a line scores nothing, the entry says the evidence was not found on the pages read rather than that it does not exist, because nobody has read every page of any website.