curl "https://api.pocketutils.com/v1/meta-scan?url=https://example.com" \
-H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch(
"https://api.pocketutils.com/v1/meta-scan?url=https://example.com",
{ headers: { Authorization: "Bearer YOUR_API_KEY" } },
);
const { data } = await res.json();
import requests
res = requests.get(
"https://api.pocketutils.com/v1/meta-scan",
params={"url": "https://example.com"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
data = res.json()["data"]
{
"success": true,
"data": {
"url": "https://example.com",
"finalScore": 78,
"grade": "B",
"categories": [
{
"id": "basic",
"results": [
{
"id": "meta_title",
"value": "Example Domain",
"status": "pass",
"message": "Title length is within the recommended range."
},
{
"id": "meta_description",
"value": null,
"status": "fail",
"message": "Meta description is missing."
}
]
},
{
"id": "technical",
"results": [
{
"id": "link_canonical",
"value": "https://example.com/",
"status": "pass",
"message": "Canonical URL is present and self-referential."
}
]
},
{
"id": "social",
"results": [
{
"id": "og_title",
"value": null,
"status": "warning",
"message": "No og:title tag found — falls back to <title> on most platforms."
}
]
},
{
"id": "images",
"results": [
{
"id": "asset_favicon",
"value": "https://example.com/favicon.ico",
"status": "pass",
"message": "Favicon found."
}
]
}
],
"summary": { "critical": 3, "warnings": 5, "passed": 18, "total": 26 }
}
}
Site Scanning
Meta Scanner
Parse and score a page’s title, description, Open Graph, Twitter Card, and technical meta tags.
GET
/
v1
/
meta-scan
curl "https://api.pocketutils.com/v1/meta-scan?url=https://example.com" \
-H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch(
"https://api.pocketutils.com/v1/meta-scan?url=https://example.com",
{ headers: { Authorization: "Bearer YOUR_API_KEY" } },
);
const { data } = await res.json();
import requests
res = requests.get(
"https://api.pocketutils.com/v1/meta-scan",
params={"url": "https://example.com"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
data = res.json()["data"]
{
"success": true,
"data": {
"url": "https://example.com",
"finalScore": 78,
"grade": "B",
"categories": [
{
"id": "basic",
"results": [
{
"id": "meta_title",
"value": "Example Domain",
"status": "pass",
"message": "Title length is within the recommended range."
},
{
"id": "meta_description",
"value": null,
"status": "fail",
"message": "Meta description is missing."
}
]
},
{
"id": "technical",
"results": [
{
"id": "link_canonical",
"value": "https://example.com/",
"status": "pass",
"message": "Canonical URL is present and self-referential."
}
]
},
{
"id": "social",
"results": [
{
"id": "og_title",
"value": null,
"status": "warning",
"message": "No og:title tag found — falls back to <title> on most platforms."
}
]
},
{
"id": "images",
"results": [
{
"id": "asset_favicon",
"value": "https://example.com/favicon.ico",
"status": "pass",
"message": "Favicon found."
}
]
}
],
"summary": { "critical": 3, "warnings": 5, "passed": 18, "total": 26 }
}
}
Fetches a page and audits its
See the full error reference for the platform-level codes (
<head>: title and description length/presence, canonical URL, viewport and charset, robots.txt and sitemap.xml reachability, every Open Graph and Twitter Card tag, and the favicon. Each check is scored and rolled up into an overall grade.
1 credit per call
Query parameters
string
required
The page to scan.
https:// is assumed if the scheme is omitted.Response
boolean
required
object
required
Hide properties
Hide properties
string
required
integer
required
Overall score, 0–100.
string
required
Letter grade derived from
finalScore (e.g. "A", "B", "F").array
required
One entry per category, each holding every check in that category.
Show item shape
Show item shape
string
required
"basic", "technical", "social", or "images".Checks by category
| Category | Check IDs |
|---|---|
basic | meta_title, meta_description, meta_keywords, meta_author |
technical | meta_viewport, meta_charset, meta_robots, link_canonical, file_robots_txt, file_sitemap_xml |
social | og_title, og_description, og_image, og_image_alt, og_url, og_type, og_site_name, og_locale, twitter_card, twitter_title, twitter_description, twitter_image, twitter_site, twitter_creator, twitter_image_alt |
images | asset_favicon |
Errors
| Status | Cause |
|---|---|
400 | url query parameter missing |
500 | The target could not be fetched or parsed |
401, 402, 429) that apply to every endpoint.
curl "https://api.pocketutils.com/v1/meta-scan?url=https://example.com" \
-H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch(
"https://api.pocketutils.com/v1/meta-scan?url=https://example.com",
{ headers: { Authorization: "Bearer YOUR_API_KEY" } },
);
const { data } = await res.json();
import requests
res = requests.get(
"https://api.pocketutils.com/v1/meta-scan",
params={"url": "https://example.com"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
data = res.json()["data"]
{
"success": true,
"data": {
"url": "https://example.com",
"finalScore": 78,
"grade": "B",
"categories": [
{
"id": "basic",
"results": [
{
"id": "meta_title",
"value": "Example Domain",
"status": "pass",
"message": "Title length is within the recommended range."
},
{
"id": "meta_description",
"value": null,
"status": "fail",
"message": "Meta description is missing."
}
]
},
{
"id": "technical",
"results": [
{
"id": "link_canonical",
"value": "https://example.com/",
"status": "pass",
"message": "Canonical URL is present and self-referential."
}
]
},
{
"id": "social",
"results": [
{
"id": "og_title",
"value": null,
"status": "warning",
"message": "No og:title tag found — falls back to <title> on most platforms."
}
]
},
{
"id": "images",
"results": [
{
"id": "asset_favicon",
"value": "https://example.com/favicon.ico",
"status": "pass",
"message": "Favicon found."
}
]
}
],
"summary": { "critical": 3, "warnings": 5, "passed": 18, "total": 26 }
}
}
Was this page helpful?
⌘I