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 · Typical response time ~180ms
Query parameters
The page to scan.
https:// is assumed if the scheme is omitted.Response
Hide properties
Hide properties
Overall score, 0–100.
Letter grade derived from
finalScore (e.g. "A", "B", "F").One entry per category, each holding every check in that category.
Show item shape
Show item shape
"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