--- title: article - GraphQL Admin description: Returns a `Article` resource by ID. api_version: 2025-10 api_name: admin type: query api_type: graphql source_url: html: 'https://shopify.dev/docs/api/admin-graphql/latest/queries/article' md: 'https://shopify.dev/docs/api/admin-graphql/latest/queries/article.md' --- # article query Returns a `Article` resource by ID. ## Arguments * id [ID!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/ID) required The ID of the `Article` to return. *** ## Possible returns * Article [Article](https://shopify.dev/docs/api/admin-graphql/latest/objects/Article) An article that contains content, author information, and metadata. Articles belong to a [`Blog`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Blog) and can include HTML-formatted body text, summary text, and an associated image. Merchants publish articles to share content, drive traffic, and engage customers. Articles can be organized with tags and published immediately or scheduled for future publication using the [`publishedAt`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Article#field-Article.fields.publishedAt) timestamp. The API manages comments on articles when the blog's comment policy enables them. *** ## Examples * ### Receive a single Article #### Query ```graphql query ArticleShow($id: ID!) { article(id: $id) { id author { name } createdAt handle } } ``` #### Variables ```json { "id": "gid://shopify/Article/959752435" } ``` #### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "query ArticleShow($id: ID!) { article(id: $id) { id author { name } createdAt handle } }", "variables": { "id": "gid://shopify/Article/959752435" } }' ``` #### React Router ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql query ArticleShow($id: ID!) { article(id: $id) { id author { name } createdAt handle } }`, { variables: { "id": "gid://shopify/Article/959752435" }, }, ); const json = await response.json(); return json.data; } ``` #### Ruby ```ruby session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY query ArticleShow($id: ID!) { article(id: $id) { id author { name } createdAt handle } } QUERY variables = { "id": "gid://shopify/Article/959752435" } response = client.query(query: query, variables: variables) ``` #### Node.js ```javascript const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: { "query": `query ArticleShow($id: ID!) { article(id: $id) { id author { name } createdAt handle } }`, "variables": { "id": "gid://shopify/Article/959752435" }, }, }); ``` #### Response ```json { "article": { "id": "gid://shopify/Article/959752435", "author": { "name": "dennis" }, "createdAt": "2012-01-01T00:00:00Z", "handle": "you-should-buy-this" } } ``` ## Receive a single Article [Open in GraphiQL](http://localhost:3457/graphiql?query=query%20ArticleShow\(%24id%3A%20ID!\)%20%7B%0A%20%20article\(id%3A%20%24id\)%20%7B%0A%20%20%20%20id%0A%20%20%20%20author%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%7D%0A%20%20%20%20createdAt%0A%20%20%20%20handle%0A%20%20%7D%0A%7D\&variables=%7B%0A%20%20%22id%22%3A%20%22gid%3A%2F%2Fshopify%2FArticle%2F959752435%22%0A%7D) ##### GQL ```graphql query ArticleShow($id: ID!) { article(id: $id) { id author { name } createdAt handle } } ``` ##### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "query ArticleShow($id: ID!) { article(id: $id) { id author { name } createdAt handle } }", "variables": { "id": "gid://shopify/Article/959752435" } }' ``` ##### React Router ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql query ArticleShow($id: ID!) { article(id: $id) { id author { name } createdAt handle } }`, { variables: { "id": "gid://shopify/Article/959752435" }, }, ); const json = await response.json(); return json.data; } ``` ##### Node.js ```javascript const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: { "query": `query ArticleShow($id: ID!) { article(id: $id) { id author { name } createdAt handle } }`, "variables": { "id": "gid://shopify/Article/959752435" }, }, }); ``` ##### Ruby ```ruby session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY query ArticleShow($id: ID!) { article(id: $id) { id author { name } createdAt handle } } QUERY variables = { "id": "gid://shopify/Article/959752435" } response = client.query(query: query, variables: variables) ``` ## Input variables JSON ```json { "id": "gid://shopify/Article/959752435" } ``` ## Response JSON ```json { "article": { "id": "gid://shopify/Article/959752435", "author": { "name": "dennis" }, "createdAt": "2012-01-01T00:00:00Z", "handle": "you-should-buy-this" } } ```