SEO Meta Tags Auditor
Pricing
Pay per usage
SEO Meta Tags Auditor
Audit a public page's SEO and social metadata in one API call. Checks title, meta description, canonical, robots, Open Graph, Twitter Card, hreflang, viewport, and JSON-LD.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Sanskar Jaiswal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Fetches one public web page and returns a structured audit of SEO and social preview metadata. It checks the title tag, meta description, canonical link, robots meta directives, viewport, Open Graph, Twitter Card, hreflang alternates, and JSON-LD structured data presence.
Use cases
- Technical SEO QA before launches and migrations.
- Agency checks for client landing pages and product pages.
- Content operations validation before publishing campaigns.
- Programmatic monitoring for missing social preview tags.
- Developer tooling that needs a simple SEO metadata API result.
Input
| Field | Type | Required | Description |
|---|---|---|---|
startUrl | string | Yes | Public HTTP or HTTPS page URL to audit. URLs with credentials and private network targets are rejected. |
timeoutSeconds | integer | No | Request timeout from 3 to 30 seconds. Default: 10. |
maxHtmlBytes | integer | No | Maximum response bytes to parse. Default: 1048576. Maximum: 2097152. |
Output
The actor pushes one dataset item per run.
| Field | Type | Description |
|---|---|---|
inputUrl | string | Original URL supplied by the user. |
finalUrl | string | Final URL after safe redirects. |
ok | boolean | Whether the fetch and audit completed. |
status | integer or null | HTTP status returned by the page. |
contentType | string | Response content type when available. |
checkedAt | string | ISO timestamp for the audit. |
score | integer | SEO metadata readiness score from 0 to 100. |
grade | string | Letter grade: A, B, C, D, or F. |
metadata | object or null | Parsed metadata fields. |
checks | array | Per-check status, weight, points, and recommendation. |
recommendations | array | Actionable recommendations for failed or warning checks. |
error | string | Error message when ok is false. |
metadata contains:
| Field | Type | Description |
|---|---|---|
url | string | URL used for parsing. |
title | string | Page title text. |
metaDescription | string | Meta description content. |
robots | string | Robots meta content. |
viewport | string | Viewport meta content. |
canonical | string | First canonical URL found. |
canonicalCount | integer | Number of canonical links found. |
openGraph | object | title, description, type, image, and url. |
twitterCard | object | card, title, description, and image. |
hreflang | array | Alternate hreflang links with hreflang and href. |
jsonLdCount | integer | Number of JSON-LD script tags found. |
Example input
{"startUrl": "https://example.com/","timeoutSeconds": 10,"maxHtmlBytes": 1048576}
Example output
{"inputUrl": "https://example.com/","finalUrl": "https://example.com/","ok": true,"status": 200,"contentType": "text/html; charset=utf-8","checkedAt": "2026-07-07T00:00:00.000Z","score": 72,"grade": "C","metadata": {"url": "https://example.com/","title": "Example Domain","metaDescription": "","robots": "","viewport": "width=device-width, initial-scale=1","canonical": "https://example.com/","canonicalCount": 1,"openGraph": {"title": "","description": "","type": "","image": "","url": ""},"twitterCard": {"card": "","title": "","description": "","image": ""},"hreflang": [],"jsonLdCount": 0},"checks": [{"name": "Title length","status": "warn","weight": 15,"points": 7,"recommendation": "Keep the title between 20 and 65 characters for search snippets."}],"recommendations": ["Keep the title between 20 and 65 characters for search snippets."]}
Security
The actor only fetches public HTTP and HTTPS URLs. It rejects unsupported schemes, URL credentials, private IP literals, and hostnames that resolve to private network addresses. Redirect targets are revalidated before fetching. Response size is capped to reduce resource abuse.
Pricing
Suggested pay-per-event pricing:
| Event | Suggested price |
|---|---|
| Actor start | $0.005 |
| Page audited | $0.01 |
This keeps one-page checks inexpensive while allowing agencies and monitoring workflows to pay according to usage.
Store listing notes
Target users: SEO agencies, technical SEO consultants, site migration QA teams, content operations teams, and developer-tool builders.
Store keywords: SEO meta tags API, meta description checker, Open Graph checker, Twitter Card checker, canonical tag checker, hreflang checker, JSON-LD audit, SEO QA automation.
Competitor weakness: many SEO tools expose this as a web UI or a broad crawler feature. This actor is a small API-first product that returns one normalized JSON record suitable for workflows, scheduled checks, and client reporting.
Kill or keep metric: keep if it receives organic Store impressions, runs, revenue, or inbound interest within 60 to 90 days. Improve the listing or pricing if impressions arrive without runs. Archive if it gets no discovery and no usage.
FAQ
Does this crawl an entire website?
No. It audits one page per run. This keeps the actor fast, predictable, and easy to price per result.
Does it require login credentials?
No. It is designed for public pages only and rejects URLs containing credentials.
Does a warning always mean the page is wrong?
No. Some warnings are contextual. For example, hreflang is only required for multilingual sites, and JSON-LD is only relevant when structured data applies to the page.
Can this be scheduled?
Yes. Use Apify schedules to monitor important pages and export dataset results to your reporting or alerting workflow.