> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/shopify/store-sitemap>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/shopify/store-sitemap.mdx>

---

# Shopify Sitemap API

The sitemap index and its typed child sitemaps, as structured JSON.

Call `GET /v1/shopify/store/sitemap?store=…` without `type` to read the index. `data.sitemaps` lists each child with `url`, `type`, `page` and the `from` and `to` bounds it publishes. Pass `type=product`, `collection`, `page`, `blog`, `article`, `metaobject_page` or `agentic_discovery` to read one child.

A child answer puts its rows in `data.entries`, each with `url`, `handle`, `type`, `lastModified` and `image` metadata where the sitemap gives it. `truncated` is true when the page stopped at the response bound. The index is read first so the child URL keeps the exact bounds the store published.

## Request

- **Endpoint:** `GET /v1/shopify/store/sitemap`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by store
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/shopify/store/sitemap/get)
- **Platform page:** [/platforms/shopify](https://www.socialfetch.dev/platforms/shopify)

## FAQ

### How do I walk a whole sitemap?

Read the index first, then request each child with its type. The typed child answer is bounded and reports truncated when it stops at the response bound.

### Are image details always present?

No. image is populated only where the sitemap publishes image metadata for that URL.

### What does the page query do?

It selects a child sitemap page when the store splits a type across pages. You can also continue with page.nextCursor.

### How do I name the store?

The store is the domain, for example allbirds.com, www.allbirds.com or weareallbirds.myshopify.com. A full URL is reduced to its host.

### How is it billed?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth. Each paginated page is a separate billed request.

### What does lookupStatus mean?

found means the lookup succeeded. not_found means the store or entity does not exist or is not a Shopify store. private means the storefront is password-protected. restricted means it is paused or frozen. HTTP 200 only means the request finished, so branch on lookupStatus.
