App Proxy not working

Topic summary

A developer is experiencing a 404 error when trying to use an app proxy in their Shopify custom app built with Remix.

Setup details:

  • Subpath prefix: /apps
  • Subpath: /badge
  • Proxy URL points to /badge-data route
  • Theme extension fetches data via /apps/badge
  • Other app proxies work fine for this developer

Proposed solution:
Shopify allows only one proxy per app per store. If multiple apps use the same proxy path (/apps/badge), Shopify may automatically rename it (e.g., /apps/badge-1). To verify the actual proxy path, check: Settings > Apps and Sales channel > [Your app] > View Details in the Shopify admin.

Current status:
Mixed results - one user confirmed this solution worked, while another reports the issue persists despite trying the suggested fix.

Summarized with AI on October 25. AI used: claude-sonnet-4-5-20250929.

I have created a Shopify custom app using remix so in theme extension I am fetching the data from my app routes that I have defined like this /badge-data .
I have setup the app proxy in partners page also like this:

Subpath prefix : /apps

Subpath : /badge

Proxy URL : /badge-data

In the theme extension I am fetching data like this

async function getBadgeData() {
  try {
    const response = await fetch("/apps/badge", {
      method: "get",
    });
    console.log(response);

    if (!response.ok) {
      throw new Error("Network response was not ok");
    }
    const data = await response.json();
    console.log("data=", data);
    return data;
  } catch (error) {
    console.log("error", error);
  }
}

getBadgeData();

getting 404 error even though the route is exists . I have created proxy for other apps and they are working fine don’t know why this is not working

There can be only one proxy per app in a store, so if you are using the same proxy that is “/apps/badge” for all the apps then it may unintentionally convert it to “/apps/badge-1”. Be careful of that, and to verify it go Settings > Apps and Sales channel > Your app three dots > View Details from your admin page and check the actual proxy. Hopefully this solves your problem

3 Likes

Any fixes? I’m having the same issue and the answer from @shaunak is not working for me

That worked for me. Thanks!