---
title: Article - Storefront API
description: >-
  A post that belongs to a

  [`Blog`](/docs/api/storefront/2026-10/objects/Blog). Each

  article includes content with optional HTML formatting, an excerpt for
  previews,
  [`ArticleAuthor`](/docs/api/storefront/2026-10/objects/ArticleAuthor)

  information, and an associated

  [`Image`](/docs/api/storefront/2026-10/objects/Image).


  Articles can be organized with tags and include

  [`SEO`](/docs/api/storefront/2026-10/objects/SEO) metadata. You can manage

  [comments](/docs/api/storefront/2026-10/objects/Comment) when

  the blog's comment policy enables them.
api_version: 2026-10
source_url:
  html: 'https://shopify.dev/docs/api/storefront/latest/objects/Article'
  md: 'https://shopify.dev/docs/api/storefront/latest/objects/Article.md'
api_name: storefront
api_type: graphql
type: object
---

# Article

object

Requires `unauthenticated_read_content` access scope.

A post that belongs to a [`Blog`](https://shopify.dev/docs/api/storefront/2026-10/objects/Blog). Each article includes content with optional HTML formatting, an excerpt for previews, [`ArticleAuthor`](https://shopify.dev/docs/api/storefront/2026-10/objects/ArticleAuthor) information, and an associated [`Image`](https://shopify.dev/docs/api/storefront/2026-10/objects/Image).

Articles can be organized with tags and include [`SEO`](https://shopify.dev/docs/api/storefront/2026-10/objects/SEO) metadata. You can manage [comments](https://shopify.dev/docs/api/storefront/2026-10/objects/Comment) when the blog's comment policy enables them.

## Fields

* author​V2

  [Article​Author](https://shopify.dev/docs/api/storefront/latest/objects/ArticleAuthor)

  The article's author.

* blog

  [Blog!](https://shopify.dev/docs/api/storefront/latest/objects/Blog)

  non-null

  The blog that the article belongs to.

* comments

  [Comment​Connection!](https://shopify.dev/docs/api/storefront/latest/connections/CommentConnection)

  non-null

  List of comments posted on the article.

  * after

    [String](https://shopify.dev/docs/api/storefront/latest/scalars/String)

    ### Arguments

    Returns the elements that come after the specified cursor.

  * before

    [String](https://shopify.dev/docs/api/storefront/latest/scalars/String)

    Returns the elements that come before the specified cursor.

  * first

    [Int](https://shopify.dev/docs/api/storefront/latest/scalars/Int)

    Returns up to the first `n` elements from the list.

  * last

    [Int](https://shopify.dev/docs/api/storefront/latest/scalars/Int)

    Returns up to the last `n` elements from the list.

  * reverse

    [Boolean](https://shopify.dev/docs/api/storefront/latest/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  ***

* content

  [String!](https://shopify.dev/docs/api/storefront/latest/scalars/String)

  non-null

  Stripped content of the article, single line with HTML tags removed.

  * truncate​At

    [Int](https://shopify.dev/docs/api/storefront/latest/scalars/Int)

    ### Arguments

    Truncates a string after the given length.

  ***

* content​Html

  [HTML!](https://shopify.dev/docs/api/storefront/latest/scalars/HTML)

  non-null

  The content of the article, complete with HTML formatting.

* excerpt

  [String](https://shopify.dev/docs/api/storefront/latest/scalars/String)

  Stripped excerpt of the article, single line with HTML tags removed.

  * truncate​At

    [Int](https://shopify.dev/docs/api/storefront/latest/scalars/Int)

    ### Arguments

    Truncates a string after the given length.

  ***

* excerpt​Html

  [HTML](https://shopify.dev/docs/api/storefront/latest/scalars/HTML)

  The excerpt of the article, complete with HTML formatting.

* handle

  [String!](https://shopify.dev/docs/api/storefront/latest/scalars/String)

  non-null

  A human-friendly unique string for the Article automatically generated from its title.

* id

  [ID!](https://shopify.dev/docs/api/storefront/latest/scalars/ID)

  non-null

  A globally-unique ID.

* image

  [Image](https://shopify.dev/docs/api/storefront/latest/objects/Image)

  The image associated with the article.

* metafield

  [Metafield](https://shopify.dev/docs/api/storefront/latest/objects/Metafield)

  Token access required

  A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information.

  * key

    [String!](https://shopify.dev/docs/api/storefront/latest/scalars/String)

    required

    ### Arguments

    The identifier for the metafield.

  * namespace

    [String](https://shopify.dev/docs/api/storefront/latest/scalars/String)

    The container the metafield belongs to. If omitted, the app-reserved namespace will be used.

  ***

* metafields

  [\[Metafield\]!](https://shopify.dev/docs/api/storefront/latest/objects/Metafield)

  non-null Token access required

  A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) that a merchant associates with a Shopify resource.

  * identifiers

    [\[Has​Metafields​Identifier!\]!](https://shopify.dev/docs/api/storefront/latest/input-objects/HasMetafieldsIdentifier)

    required

    ### Arguments

    The list of metafields to retrieve by namespace and key.

    The input must not contain more than `250` values.

  ***

* online​Store​Url

  [URL](https://shopify.dev/docs/api/storefront/latest/scalars/URL)

  The URL used for viewing the resource on the shop's Online Store. Returns `null` if the resource is currently not published to the Online Store sales channel.

* published​At

  [Date​Time!](https://shopify.dev/docs/api/storefront/latest/scalars/DateTime)

  non-null

  The date and time when the article was published.

* seo

  [SEO](https://shopify.dev/docs/api/storefront/latest/objects/SEO)

  The article’s SEO information.

* tags

  [\[String!\]!](https://shopify.dev/docs/api/storefront/latest/scalars/String)

  non-null

  A categorization that a article can be tagged with.

* title

  [String!](https://shopify.dev/docs/api/storefront/latest/scalars/String)

  non-null

  The article’s name.

* tracking​Parameters

  [String](https://shopify.dev/docs/api/storefront/latest/scalars/String)

  URL parameters to be added to a page URL to track the origin of on-site search traffic for [analytics reporting](https://help.shopify.com/manual/reports-and-analytics/shopify-reports/report-types/default-reports/behaviour-reports). Returns a result when accessed through the [search](https://shopify.dev/docs/api/storefront/2026-10/queries/search) or [predictiveSearch](https://shopify.dev/docs/api/storefront/2026-10/queries/predictiveSearch) queries, otherwise returns null.

* author

  [Article​Author!](https://shopify.dev/docs/api/storefront/latest/objects/ArticleAuthor)

  non-nullDeprecated

***

## Map

### Fields and connections with this object

* [ArticleConnection.nodes](https://shopify.dev/docs/api/storefront/latest/connections/ArticleConnection#returns-nodes)
* [ArticleEdge.node](https://shopify.dev/docs/api/storefront/latest/objects/ArticleEdge#field-ArticleEdge.fields.node)
* [Blog.articleByHandle](https://shopify.dev/docs/api/storefront/latest/objects/Blog#field-Blog.fields.articleByHandle)
* [Blog.articles](https://shopify.dev/docs/api/storefront/latest/objects/Blog#field-Blog.fields.articles)
* [PredictiveSearchResult.articles](https://shopify.dev/docs/api/storefront/latest/objects/PredictiveSearchResult#field-PredictiveSearchResult.fields.articles)

### Possible type in

* [Menu​Item​Resource](https://shopify.dev/docs/api/storefront/latest/unions/MenuItemResource)
* [Metafield​Parent​Resource](https://shopify.dev/docs/api/storefront/latest/unions/MetafieldParentResource)
* [Metafield​Reference](https://shopify.dev/docs/api/storefront/latest/unions/MetafieldReference)
* [Search​Result​Item](https://shopify.dev/docs/api/storefront/latest/unions/SearchResultItem)

***

## Queries

* [article](https://shopify.dev/docs/api/storefront/latest/queries/article)

  query

  Returns an [`Article`](https://shopify.dev/docs/api/storefront/2026-10/objects/Article) by its ID. Each article belongs to a [`Blog`](https://shopify.dev/docs/api/storefront/2026-10/objects/Blog) and includes content in both plain text and HTML formats, [`ArticleAuthor`](https://shopify.dev/docs/api/storefront/2026-10/objects/ArticleAuthor) information, [`Comment`](https://shopify.dev/docs/api/storefront/2026-10/objects/Comment) objects, tags, and [`SEO`](https://shopify.dev/docs/api/storefront/2026-10/objects/SEO) data.

  * id

    [ID!](https://shopify.dev/docs/api/storefront/latest/scalars/ID)

    required

    ### Arguments

    The ID of the `Article`.

  ***

* [articles](https://shopify.dev/docs/api/storefront/latest/queries/articles)

  query

  Returns a paginated list of [`Article`](https://shopify.dev/docs/api/storefront/2026-10/objects/Article) objects from the shop's [`Blog`](https://shopify.dev/docs/api/storefront/2026-10/objects/Blog) objects. Each article is a blog post containing content, author information, tags, and optional images.

  Use the `query` argument to filter results by author, blog title, tags, or date fields. Sort results using the `sortKey` argument and reverse them with the `reverse` argument.

  * after

    [String](https://shopify.dev/docs/api/storefront/latest/scalars/String)

    ### Arguments

    Returns the elements that come after the specified cursor.

  * before

    [String](https://shopify.dev/docs/api/storefront/latest/scalars/String)

    Returns the elements that come before the specified cursor.

  * first

    [Int](https://shopify.dev/docs/api/storefront/latest/scalars/Int)

    Returns up to the first `n` elements from the list.

  * last

    [Int](https://shopify.dev/docs/api/storefront/latest/scalars/Int)

    Returns up to the last `n` elements from the list.

  * query

    [String](https://shopify.dev/docs/api/storefront/latest/scalars/String)

    Apply one or multiple filters to the query. Refer to the detailed [search syntax](https://shopify.dev/api/usage/search-syntax) for more information about using filters.

    * author
    * blog\_title
    * created\_at
    * tag
    * tag\_not
    * updated\_at

  * reverse

    [Boolean](https://shopify.dev/docs/api/storefront/latest/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  * sort​Key

    [Article​Sort​Keys](https://shopify.dev/docs/api/storefront/latest/enums/ArticleSortKeys)

    Default:ID

    Sort the underlying list by the given key.

  ***

***

## Article Queries

### Queried by

* [article](https://shopify.dev/docs/api/storefront/latest/queries/article)
* [articles](https://shopify.dev/docs/api/storefront/latest/queries/articles)

***

## Interfaces

* * [Has​Metafields](https://shopify.dev/docs/api/storefront/latest/interfaces/HasMetafields)

    interface

  * [Node](https://shopify.dev/docs/api/storefront/latest/interfaces/Node)

    interface

  * [Online​Store​Publishable](https://shopify.dev/docs/api/storefront/latest/interfaces/OnlineStorePublishable)

    interface

  * [Trackable](https://shopify.dev/docs/api/storefront/latest/interfaces/Trackable)

    interface

***

## Article Implements

### Implements

* [Has​Metafields](https://shopify.dev/docs/api/storefront/latest/interfaces/HasMetafields)
* [Node](https://shopify.dev/docs/api/storefront/latest/interfaces/Node)
* [Online​Store​Publishable](https://shopify.dev/docs/api/storefront/latest/interfaces/OnlineStorePublishable)
* [Trackable](https://shopify.dev/docs/api/storefront/latest/interfaces/Trackable)
