Get latest article audit
curl --request GET \
--url https://api.snowseo.com/v3/cms/audit/articles/{slug} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.snowseo.com/v3/cms/audit/articles/{slug}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.snowseo.com/v3/cms/audit/articles/{slug}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.snowseo.com/v3/cms/audit/articles/{slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.snowseo.com/v3/cms/audit/articles/{slug}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.snowseo.com/v3/cms/audit/articles/{slug}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.snowseo.com/v3/cms/audit/articles/{slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"teamId": "<string>",
"contentHash": "<string>",
"seoScore": 123,
"contentScore": 123,
"aiSearchScore": 123,
"coverageScore": 123,
"linkingScore": 123,
"overallScore": 123,
"seoPayload": {},
"contentPayload": {},
"aiSearchPayload": {},
"coveragePayload": {},
"linkingPayload": {},
"cached": true,
"createdAt": "2023-11-07T05:31:56Z"
}Website Analysis
Article Audit
Get the latest cached SEO audit for one of your articles.
GET
/
v3
/
cms
/
audit
/
articles
/
{slug}
Get latest article audit
curl --request GET \
--url https://api.snowseo.com/v3/cms/audit/articles/{slug} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.snowseo.com/v3/cms/audit/articles/{slug}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.snowseo.com/v3/cms/audit/articles/{slug}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.snowseo.com/v3/cms/audit/articles/{slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.snowseo.com/v3/cms/audit/articles/{slug}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.snowseo.com/v3/cms/audit/articles/{slug}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.snowseo.com/v3/cms/audit/articles/{slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"teamId": "<string>",
"contentHash": "<string>",
"seoScore": 123,
"contentScore": 123,
"aiSearchScore": 123,
"coverageScore": 123,
"linkingScore": 123,
"overallScore": 123,
"seoPayload": {},
"contentPayload": {},
"aiSearchPayload": {},
"coveragePayload": {},
"linkingPayload": {},
"cached": true,
"createdAt": "2023-11-07T05:31:56Z"
}Fetch the most recent audit for an article - the same scores shown in the dashboard’s article audit:
See also: Audit History.
seoScore, contentScore, aiSearchScore, coverageScore (keyword coverage, plus whether a heading answers each prompt; prompt items carry answeredBy with that heading), linkingScore, and overallScore, where each component score (all except overallScore) has a matching ...Payload object and overallScore has none, plus contentHash and createdAt.
This returns the latest cached audit. Audits run in the background, so if an article hasn’t been audited yet the call returns
404. Use the Articles list to find article slugs.Authorizations
bearerAuthapiKey
Your SnowSEO API key (sk_...).
Path Parameters
Query Parameters
Response
200 - application/json
Default Response
Was this page helpful?

