Publishing

Shopify

Available

Publish AI-generated articles to your Shopify store's Blog via the REST Admin API. One Custom App, one access token, articles go live in minutes. Ideal for e-commerce brands that want SEO content without hiring an agency.

Prerequisites

  • Shopify Basic plan or higher (Lite doesn't include Blogs).
  • Store owner permission (needed to create a Custom App).
  • At least one Blog in your store — usually the default “News.”

Setup guide

  1. In Shopify Admin, go to Settings → Apps and sales channels → Develop apps. If this option is missing, click “Allow custom app development” first (only the store owner can enable this).
  2. Click Create an app. Name it KwikScaleAI.
  3. Go to the Configuration tab → Admin API integration Configure.
  4. Grant the write_content scope (this covers blog articles, pages, and redirects). Save.
  5. Switch to the API credentials tab. Click Install app.
  6. Copy the Admin API access token. It starts with shpat_. It's shown only once.
  7. Find your blog ID: Online Store → Blog posts → Manage blogs → click the blog. The URL contains the numeric ID.
  8. In KwikScaleAI: Integrations → Shopify → Connect. Paste store domain, access token, and blog ID.

How it works

Each publish makes a single POSTto Shopify's Admin REST API, authenticated via the X-Shopify-Access-Tokenheader. Content is sent as HTML, tagged with comma-separated tags (Shopify's native format).

REST endpoints used
GET   https://{shop}.myshopify.com/admin/api/2024-10/shop.json
POST  https://{shop}.myshopify.com/admin/api/2024-10/blogs/{blogId}/articles.json
PUT   https://{shop}.myshopify.com/admin/api/2024-10/blogs/{blogId}/articles/{articleId}.json

X-Shopify-Access-Token: shpat_...
Content-Type: application/json
POST articles.json body
{
  "article": {
    "title": "How We Grew Our Shopify Store to $1M ARR",
    "handle": "how-we-grew-our-shopify-store",
    "body_html": "<h1>...</h1><p>...</p>",
    "summary": "The playbook behind our 10x growth in 2026...",
    "tags": "seo, growth, case-study",
    "published": true,
    "author": "Rafael"
  }
}

Configuration

shopDomainRequired

string

Your store's domain. Accepts mystore.myshopify.com, https://mystore.myshopify.com, or just mystore (auto-expanded to mystore.myshopify.com).

accessTokenRequired

string

Admin API access token from the Custom App. Starts with shpat_. Treat as a password.

blogIdRequired

string

Numeric Shopify blog ID. Find it at Online Store → Blog posts → Manage blogs in the URL.

blogHandleOptional

string

Blog URL handle (e.g. 'news'). When set, we construct the published URL as https://{domain}/blogs/{handle}/{article-handle}.

defaultAuthorOptional

string

Author name shown on every article. Defaults to the Shopify store owner if unset.

publishedOptional

boolean

true = publish immediately. false = save as draft (article is created but not visible on the storefront until you flip it in Shopify Admin).

Default: true

API scope details

The integration only needs write_content. This scope covers: blog articles, pages, and redirects. It does not grant access to products, orders, or customers — so the access token is safe even if it leaks (attacker could modify blog posts, not drain the store).

Capabilities

Update existing
Draft
Tags
Categories
Featured image
Scheduled publish
Delete

Troubleshooting

401 Unauthorized
The access token is wrong, or the Custom App was uninstalled from the store. Re-install the app in Shopify Admin → Apps → Custom apps, copy the fresh token, update in KwikScaleAI.
403 Forbidden
Access token is valid, but the Custom App doesn't have the write_content scope. Edit the app config in Shopify, enable write_content under Admin API access scopes, save, and re-install the app (scopes only apply after re-install).
404 Blog Not Found
Wrong blogId. Double-check the numeric ID in Online Store → Blog posts → Manage blogs. Don't confuse blog ID with article ID — you want the blog's ID, not an individual post.
Posts created but not visible on storefront
Two causes: (1) published: falsein config — flip to true or manually publish in Shopify Admin; (2) your theme doesn't render the blog page — some themes hide the blog by default. Test by visiting https://{shop}.myshopify.com/blogs/{blogHandle}/ directly.
422 Unprocessable Entity
Usually a handle collision (another article has the same handle) or tag format issue. Shopify accepts a single comma-separated string for tags; we format it correctly, but if you re-publish the same slug repeatedly without update, you'll get a conflict. Deleting the old article in Shopify or changing the slug resolves it.
Rate limit errors
Shopify's REST Admin API has a leaky bucket: 40 requests per 20-second window for Standard, higher for Plus. KwikScaleAI's publish frequency is far below that — if you're hitting limits, check if another app on the same token is eating quota.

FAQ

Which Shopify plan do I need?
Any plan that includes a Blog — Basic, Shopify, Advanced, and Plus all work. Shopify Lite does not include the Blog feature and is not supported.
Where do I find my blog ID?
In Shopify Admin, go to Online Store → Blog posts → Manage blogs. Click your blog. The URL will be admin.shopify.com/store/{store}/blogs/{blogId}. That numeric blogId is what you paste into KwikScaleAI. Most stores have one blog named 'News' by default.
Does the integration support multiple blogs?
One blog per connection. If you have multiple Shopify blogs (rare), connect each as a separate integration target in KwikScaleAI.
Can KwikScaleAI create products or collections?
Not in v1. The integration is scoped to Blog articles. If you need product-description generation, use the Custom Webhook integration and wire it to the Shopify Admin API yourself — that's the fastest path for any non-blog Shopify content.
Why Custom App and not a public Shopify app?
Custom Apps have simpler auth (one static token, no OAuth redirect, no App Store review). Since KwikScaleAI installs per-store rather than being distributed, Custom Apps are the right fit.

Ready to automate publishing?

Connect your site once. KwikScaleAI researches, writes, and publishes SEO content on autopilot.

Get started free