> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Get Blog Post

GET https://api.bigcommerce.com/stores/{store_hash}/v2/blog/posts/{id}

Returns a single *Blog Post*.

Reference: https://docs.bigcommerce.com/developer/api-reference/rest/admin/content/store-content/blog-posts/get-blog-post

## Authentication

- `X-Auth-Token` header (required) — ### OAuth scopes | UI Name | Permission | Parameter | |:--------|:-----------|:----------| | Content | modify | `store_v2_content` | | Content | read-only | `store_v2_content_read_only` | ### Authentication header | Header | Argument | Description | |:-------|:---------|:------------| | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).

## Request

### Path parameters

- `id` (integer, required) — ID of the blog post.
- `store_hash` (string, required) — Permanent ID of the BigCommerce store.

### Headers

- `Accept` (string, required, default: application/json) — The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.

## Response

### 200

OK

- `author` (string, optional, nullable) — Name of the blog post’s author.
- `body` (string, optional) — Text body of the blog post.
- `id` (integer, optional) — ID of this blog post. READ-ONLY.
- `is_published` (boolean, optional, default: false) — Whether the blog post is published. If you want the post to be or remain published following the request, you must set the field explicitly to true, even if the blog post was already published prior to the request.
- `meta_description` (string, optional, nullable) — Description text for this blog post’s `<meta/>` element.
- `meta_keywords` (string, optional, nullable) — Keywords for this blog post’s `<meta/>` element.
- `preview_url` (string, optional) — URL to preview the blog post. READ-ONLY.
- `published_date` (publishedDate, optional)
- `published_date_iso8601` (string, optional) — Published date in `ISO 8601` format.
- `summary` (string, optional) — Summary of the blog post. READ-ONLY.
- `tags` (list of string, optional) — Tags to characterize the blog post.
- `thumbnail_path` (string, optional, nullable) — Local path to a thumbnail uploaded to `/product_images/` using [WebDAV](https://support.bigcommerce.com/s/article/File-Access-WebDAV).
- `title` (string, optional) — Title of this blog post.
- `url` (string, optional) — URL for the public blog post.

## Types

### publishedDate

- `timezone_type` (integer, optional)
- `date` (datetime, optional)
- `timezone` (string, optional)

## Examples

**Response**

```json
{
  "author": "BigCommerce",
  "body": "<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>",
  "id": 3,
  "is_published": true,
  "meta_description": "Welcome Post",
  "meta_keywords": "BigCommerce, welcome, ecommerce",
  "preview_url": "/blog/welcome-bigcommerce/",
  "published_date": {
    "timezone_type": 1,
    "date": "2018-05-18T08:26:42.000Z",
    "timezone": "+00:00"
  },
  "published_date_iso8601": "2018-05-18T13:26:42.000Z",
  "summary": "<p>We power ecommerce websites for successful retailers all over the world</p>",
  "tags": [
    "BigCommerce",
    "welcome",
    "ecommerce"
  ],
  "thumbnail_path": "",
  "title": "Welcome to BigCommerce",
  "url": "/blog/welcome-bigcommerce/"
}
```

**SDK Code**

```python Response
import requests

url = "https://api.bigcommerce.com/stores/store_hash/v2/blog/posts/1"

headers = {
    "Accept": "application/json",
    "X-Auth-Token": "<apiKey>"
}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript Response
const url = 'https://api.bigcommerce.com/stores/store_hash/v2/blog/posts/1';
const options = {
  method: 'GET',
  headers: {Accept: 'application/json', 'X-Auth-Token': '<apiKey>'}
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Response
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.bigcommerce.com/stores/store_hash/v2/blog/posts/1"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Accept", "application/json")
	req.Header.Add("X-Auth-Token", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Response
require 'uri'
require 'net/http'

url = URI("https://api.bigcommerce.com/stores/store_hash/v2/blog/posts/1")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["X-Auth-Token"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java Response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.bigcommerce.com/stores/store_hash/v2/blog/posts/1")
  .header("Accept", "application/json")
  .header("X-Auth-Token", "<apiKey>")
  .asString();
```

```php Response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.bigcommerce.com/stores/store_hash/v2/blog/posts/1', [
  'headers' => [
    'Accept' => 'application/json',
    'X-Auth-Token' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Response
using RestSharp;

var client = new RestClient("https://api.bigcommerce.com/stores/store_hash/v2/blog/posts/1");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "application/json");
request.AddHeader("X-Auth-Token", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift Response
import Foundation

let headers = [
  "Accept": "application/json",
  "X-Auth-Token": "<apiKey>"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.bigcommerce.com/stores/store_hash/v2/blog/posts/1")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```