Skip to main content

How to use mock.shop

mock.shop is a public Shopify Storefront API that serves fictional stores. It needs no store, no app, and no access token, so you or your AI coding agent can build a storefront against realistic products, collections, and carts, then switch to a real store when you're ready.


Every mock.shop store is a separate catalog on its own host, and each host serves the same Storefront API at /api:

  1. Read the store directory at https://mock.shop/llms.txt. It describes every store on one line: its name, a summary of what it sells, its product categories, and its API URL.
  2. Pick the store with categories that match what you're building. There are more than 100, from apparel to home decor to electronics. When nothing fits, use the default store at https://mock.shop/api: hoodies, t-shirts, sweatpants, and slides, organized into Tops, Bottoms, Shoes, and Accessories.
  3. Send Storefront API queries as POST requests with a JSON body to https://<store>.mock.shop/api. The only header you need is Content-Type: application/json.
  4. Read https://<store>.mock.shop/llms.txt for that store's product categories, collections, and product counts.

Two lines from the directory show what you're choosing from:

https://mock.shop/llms.txt

- [Elysian Thread](https://apparel.mock.shop/api): Curated timeless apparel featuring natural fabrics and clean tailoring for the modern woman's sophisticated wardrobe. Categories: Blouses, Loungewear Sets, Outfit Sets, Trousers, Cardigans, Blazers, Clothing Tops, Coats & Jackets.
- [Evergreen Echoes](https://3dpinecones.mock.shop/api): We craft exquisite, 3D-printed pinecones that capture the timeless beauty of nature for your home decor. Categories: Candle Holders, Garden Sculptures, Potpourri, Seasonal & Holiday Decorations, Window Valances & Cornices, Wreaths & Garlands, Artificial Flora, Artwork.

Once you've picked a store, query it the way you'd query any Storefront API. mock.shop mirrors the Storefront API, so a query written against it runs unchanged against a real store:

Terminal

curl -X POST https://mock.shop/api \
-H "Content-Type: application/json" \
-d '{"query":"{ shop { name } products(first: 3) { nodes { title handle } } }"}'

Response

{
"data": {
"shop": {
"name": "Mock.shop"
},
"products": {
"nodes": [
{
"title": "Slides",
"handle": "slides"
},
{
"title": "Sweatpants",
"handle": "sweatpants"
},
{
"title": "Men's T-shirt",
"handle": "men-t-shirt"
}
]
}
},
"extensions": {
"cost": {
"requestedQueryCost": 4
}
}
}

An agent can start from https://mock.shop itself. The root returns these instructions as markdown, and every /api response carries a Link header that points at the store's llms.txt, so an agent that starts from an API call finds the directory too.

mock.shop is for building, not for selling:

  • Its catalogs, prices, and inventory are fictional.
  • Cart operations work, so you can build the full shopping flow, but checkout isn't available.
  • It doesn't support the Customer Account API.

Anchor to Developer tools and resourcesDeveloper tools and resources


Scaffold a Hydrogen storefront that reads mock.shop data:

Terminal

npm create @shopify/hydrogen@latest -- --mock-shop

The --quickstart flag in the Hydrogen getting-started guide includes --mock-shop.

To point an existing project at mock.shop instead, set PUBLIC_STORE_DOMAIN to a store host (such as snowboards.mock.shop) and leave the Storefront API token empty.

Hydrogen's storefront client recognizes any mock.shop host and sends no token. Other Storefront API clients work the same way: they need only the store domain. The standard versioned endpoint, such as https://<store>.mock.shop/api/2026-07/graphql.json, serves the same schema at every version.

When you're ready to use a real store, link the project with npx shopify hydrogen link and pull its credentials with npx shopify hydrogen env pull. Other clients switch by changing the store domain and adding the store's access token.


Was this page helpful?