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
Response
Hide properties
Hide properties
One entry per category, each holding every check in that category.
Show item shape
Show item shape
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?