OG / Twitter / JSON-LD Meta Tag Validator avatar

OG / Twitter / JSON-LD Meta Tag Validator

Pricing

Pay per usage

Go to Apify Store
OG / Twitter / JSON-LD Meta Tag Validator

OG / Twitter / JSON-LD Meta Tag Validator

Validate Open Graph, Twitter Card, and JSON-LD meta tags on a public page; emit per-field pass/warn/fail with structured fix-hints, ready for n8n/Make/Sheets alerts.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Nikita S

Nikita S

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Validate the most common social-preview and structured-data meta tags on a public page and emit one row per checked field with pass / warn / fail plus a structured fixHint string for every issue. Built for SEO engineers, growth marketers, and content teams that want to push validation results into n8n / Make / Sheets / Slack / Supabase.

What it checks

For every URL it fetches (HEAD-equivalent GET, capped at maxBytes):

  • Open Graph (og:*): title, description, image, url, type, site_name, locale.
  • Twitter Card (twitter:*): card, title, description, image, site, creator.
  • JSON-LD: presence of at least one parseable @type block. Per-block @type collected.
  • Plain HTML basics: <title>, meta name="description", canonical link.

For each missing / empty / invalid field it emits status: 'fail' | 'warn' and a short fixHint string ready to drop into a Slack message or a Sheets cell.

Who it is for

  • SEO engineers who want a per-field pass/fail report on a list of pages, with fix-hints.
  • Growth marketers running pre-launch QA on landing pages.
  • Content teams that need to confirm a page's OpenGraph + Twitter card before pushing it to social.
  • Web agencies offering pre-launch audits as a service.

Quick start

{
"urls": ["https://example.com"],
"strict": false
}

Each successful URL produces:

  • one summary row with the URL, final URL after redirects, HTTP status, and counts of pass / warn / fail.
  • one field row per checked field, with status and (if not pass) fixHint.

Example field row:

{
"_kind": "field",
"url": "https://example.com",
"field": "og:image",
"status": "fail",
"fixHint": "Add <meta property=\"og:image\" content=\"https://...\">. Recommended size 1200x630."
}

Input

FieldTypeDefaultNotes
urlsstring[] (required)Public HTTP(S) URLs to validate.
strictboolfalseIf true, recommended-but-not-required fields also fail when missing.
timeoutSecint15Per-URL fetch timeout in seconds.
maxBytesint2000000Truncate page body at this many bytes.
followRedirectsbooltrueFollow HTTP redirects.

Output

Dataset row kinds:

  • field — per checked field. Carries url, field, status (pass / warn / fail), fixHint.
  • summary — per URL. Carries url, finalUrl, status, pass, warn, fail, checkedFields, meta.
  • error — failed fetch.

SUMMARY KV record: { ok, total, succeeded, failed, strict, perUrl: [{ url, ok, pass, warn, fail }, ...] }.

Pricing

This Actor is Pay Per Event on the Apify Store:

  • apify-actor-start — flat per run.
  • url_validated — charged once per URL successfully processed.

For local tests, Actor.charge is a no-op (no usage billed, no payout).

Limits

  • Designed for public HTML pages. Login-walled content, paywalls, and JS-rendered SPAs are out of scope.
  • The Actor does not execute JavaScript — only server-rendered HTML is parsed.
  • maxBytes truncates the body before parsing; very large pages may be missing trailing meta tags.

FAQ

Q: Is strict: true recommended for most pages? A: Use strict: false for a friendlier baseline. Switch to strict: true for production launch gates when you want every recommended field enforced.

Q: My page has no JSON-LD — is that a fail? A: It's a warn in non-strict mode (recommended to add), fail in strict mode. The Actor does not enforce a particular JSON-LD type — it just checks for presence and parseability.

Q: How does this differ from html-meta-extractor? A: html-meta-extractor is a broad pull of all meta / OG / Twitter / JSON-LD. og-meta-validator focuses on validating a single OpenGraph + Twitter + JSON-LD spec (required fields, type allow-list, JSON-LD presence) and is best used as a per-URL QA check.

Q: Can I run it on a private/intranet site? A: Only if the Actor host can reach it without auth and over plain HTTP(S).

Support

Open an issue on the Actor's Apify Store page (Report an issue link on the right rail) or contact the developer through the Store profile.

License

MIT — see Apify Store page for the canonical text.