myShopify Domain Finder

free · no signup · nothing stored

Shopify collaborator toolkit

Find any store's .myshopify.com domain in one paste.

Shopify Partners now requires the permanent store domain before it will send a collaborator request. Drop in the live URL and get it back, ready to copy.

Works with a bare domain, a full product URL, or a checkout link. Try allbirds.com.

How the lookup works

  1. You paste the storefront URL

    Anything public works. The finder strips protocols, paths and tracking params down to the hostname, then tries the www and non-www variants together.

  2. It reads the store's public metadata

    Every Shopify storefront serves a small public file at /meta.json that contains the shop's permanent handle. Several requests fire in parallel and the fastest answer wins, so the result usually lands in under a second.

  3. If metadata is blocked, it reads the page source

    Headless and heavily customised storefronts sometimes hide that file. The finder then scans the rendered HTML for the Shopify.shop variable, the same string you would hunt for manually with Ctrl+F.

  4. You get the domain plus a sanity check

    Alongside the handle you see the shop name, country and currency pulled from the same response. That is your confirmation you are looking at the right storefront and not an international clone of it.

The change nobody announced

Shopify moved the goalposts on collaborator access

If you build on Shopify for clients, you have felt this. The collaborator request flow used to accept whatever domain the client gave you. Now it wants an identifier almost nobody has to hand, and the request form will not budge until you produce it.

How it used to work

The public domain was enough

You typed the domain the client gave you, added the collaborator code, ticked the permissions you needed and hit send. The client approved it from their inbox. Total time: under a minute, no back and forth.

clientstore.com → request sent

How it works now

The permanent domain is required

The form wants handle.myshopify.com, assigned at signup. It never changes, customers never see it, and most merchants forgot it the day they connected a custom domain.

clientstore.com → ??? → request sent

3 bad options
Dig through view-source on a live storefront, email the client and wait, or guess the handle and hope.
~1 day lost
Typical turnaround when you have to ask a client for a screenshot of their domain settings.
1 paste
What it takes here. The answer comes from the store's own public metadata, so you never have to ask.

Sending the collaborator request, start to finish

Once you have the permanent domain, the rest is mechanical. This is the exact path through the Partner Dashboard, plus the three things that trip people up.

  1. Partner Dashboard
  2. Stores
  3. Add store
  4. Request access
  5. paste handle.myshopify.com
  6. collaborator code
  7. choose permissions
  8. Send

The 4-digit code is optional, until it isn't

Merchants can switch on a collaborator request code in Settings → Users. If they have, your request is rejected without it, and the error does not tell you that clearly. Ask for the code in the same message where you ask for anything else, so you are not chasing twice.

Request less access, get approved faster

Asking for full admin on a theme tweak makes cautious clients stall. Tick only what the job needs: Themes for front-end work, Apps for installs, Products for catalog jobs, Orders only when you genuinely need order data.

Collaborator, not staff

Collaborator accounts do not consume one of the store's paid staff seats and can be revoked by the merchant at any time. That is the pitch to give a nervous client: it costs them nothing and they stay in control.

Other public endpoints worth knowing

The same reason this tool works, Shopify serving small public files that its own themes rely on, gives you a handful of other fast checks. All of these are public by design, no login or API key, and all of them are read-only.

Append to any storeWhat it returnsUse it for
/meta.json Permanent domain, shop name, city, country, currency, product and collection counts Confirming identity before you send a request
/products.json Catalog with variants, prices and images, paginated Scoping a migration or a bulk edit job
/collections.json Published collections with handles and descriptions Planning navigation and category work
/cart.js Current cart state as JSON Debugging cart and checkout behaviour
/?_fd=0 The storefront without domain forwarding Loading a store by its myshopify domain directly

Quoting a job gets much easier when you can check product count and catalog structure before the first call. None of this requires access you have not been given.

Manual methods, if you ever need them

Read it from the page source

Open the storefront, press Ctrl+U (Cmd+U on Mac), then Ctrl+F and search for myshopify. You are looking for Shopify.shop = "handle.myshopify.com". Reliable, but slow, and it fails on stores that defer their scripts.

Open the store's meta.json directly

Append /meta.json to any Shopify domain, for example https://clientstore.com/meta.json. The myshopify_domain field is what you want. It also returns shop name, country and currency, which is a fast sanity check that you are looking at the right store.

Ask the client (the slow route)

In their admin: Settings → Domains. The .myshopify.com domain is listed alongside the custom domains as the permanent one. It is also visible in their browser address bar as admin.shopify.com/store/handle, which is usually the fastest thing to ask for.

Check an order confirmation email

Transactional emails from the store frequently carry the .myshopify.com domain in link targets or in the raw headers. Useful when the storefront itself is password protected before launch.

Questions people actually ask

What is a .myshopify.com domain?

It is the permanent internal address Shopify assigns when a store is created, in the form handle.myshopify.com. Customers never see it once a custom domain is connected, but Shopify uses it as the store's true identifier for apps, admin access and collaborator requests.

Why does Shopify Partners ask for it instead of the custom domain?

Custom domains can be added, removed, redirected or shared across international storefronts, so they are an unstable identifier. The .myshopify.com handle maps to exactly one store, forever. Requiring it removes any chance of a collaborator request landing on the wrong shop.

Can the .myshopify.com domain be changed?

Shopify allows it to be changed exactly once, and most merchants never do. Treat it as permanent, but if a request bounces on a store you accessed months ago, re-run the lookup before assuming the code is wrong.

What is a collaborator request code?

A 4-digit code the merchant can enable to control who may request access. When it is on, your request fails without it. The merchant finds it in Settings → Users, under collaborator access. If a request bounces and you are sure the domain is right, this is usually why.

What is the difference between a collaborator and a staff account?

A collaborator account is designed for agencies and freelancers: it does not use up one of the store's paid staff seats, it is granted per-permission, and the merchant can revoke it instantly. A staff account occupies a seat and is meant for the merchant's own team. For client work, always ask for collaborator access.

The finder could not get a result. What now?

Three usual causes: the store is password protected before launch, it is a headless build that does not expose the standard endpoints, or the site is not on Shopify at all. Open yourclient.com/meta.json in a fresh tab as a direct check, and if that returns a 404, fall back to the page-source method above.

Does this work on password-protected or pre-launch stores?

Sometimes. The password page still serves store metadata on many themes. If it does not, the storefront is fully locked and only the merchant can hand you the domain.

Is this legal, and is anything stored?

Yes, and no. Every endpoint used here is published by Shopify for public consumption, the same data any theme or app reads. Nothing grants access to a store: you still need the merchant to approve your request. There is no account and no logging, and your recent lookups are saved in your own browser only.

Free tool · no rate limits · no signup

Built for Shopify agencies and freelancers