> **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/blogs-bloghandle-articles>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/shopify/blogs-bloghandle-articles.mdx>

---

# Shopify Articles API

Every article in one blog, with content, author and tags.

`GET /v1/shopify/blogs/{blogHandle}/articles?store=…` returns `data.blog` with its `id`, `handle` and `title`, and `data.articles`. Each article has `id`, `gid`, `handle`, `title`, `url`, `excerpt`, `content`, `contentHtml`, `publishedAt`, `tags`, `seo`, `author`, `image`, `comments` and `commentsHasMore`.

`limit` defaults to 10 and accepts up to 250. The list includes up to five comments per article; use the single article route to page a full comment thread. A missing blog handle returns `not_found` with blog null and no articles.

## Request

- **Endpoint:** `GET /v1/shopify/blogs/{blogHandle}/articles`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by store and blog handle
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/shopify/blogs/bloghandle/articles/get)
- **Platform page:** [/platforms/shopify](https://www.socialfetch.dev/platforms/shopify)

## FAQ

### How many comments come with an article in the list?

Up to five, with commentsHasMore telling you whether more exist. Use the single article route for a full paged thread.

### Are content and contentHtml both returned?

Yes. content is plain text and contentHtml is the article markup as the store publishes it.

### What if the blog handle is wrong?

The answer is not_found with blog null and an empty articles list.

### 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.
