Everything you need to know about OGProof, OG tags, and social previews.
Paste a URL, see previews, fix issues — the 5-minute guide.
Exact image dimensions, character limits, and rendering rules for each platform.
Integrate OG validation into GitHub Actions, GitLab CI, and more.
Complete reference for all OG tags, Twitter Card tags, and meta tags.
OGProof fetches any public URL server-side and extracts all Open Graph, Twitter Card, and standard meta tags. It renders them in six platform-accurate visual components and validates each tag against each platform's documented requirements.
The webhook endpoint validates a URL and returns a structured JSON response. Integrate it into any CI/CD system that can make HTTP requests.
POST https://ogproof.io/api/webhook/validate
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{"url": "https://example.com/page"}{
"url": "https://example.com/page",
"status": "pass|warn|fail",
"checked_at": "2026-02-18T14:00:00Z",
"platforms": {
"twitter": { "status": "pass", "issues": [] },
"linkedin": { "status": "warn", "issues": ["og:image missing"] },
"facebook": { "status": "pass", "issues": [] },
"discord": { "status": "pass", "issues": [] },
"slack": { "status": "pass", "issues": [] },
"imessage": { "status": "warn", "issues": ["title too long: 156 chars"] }
},
"tags": {
"og:title": "Your Page Title",
"og:description": "...",
"og:image": "https://..."
}
}# .github/workflows/og-check.yml
name: Validate OG tags
on: [push, pull_request]
jobs:
og-check:
runs-on: ubuntu-latest
steps:
- name: Validate OG tags on staging
run: |
curl -X POST https://ogproof.io/api/webhook/validate \
-H "Authorization: Bearer ${{ secrets.OGPROOF_API_KEY }}" \
-H "Content-Type: application/json" \
-d '{"url": "${{ vars.STAGING_URL }}/blog/new-post"}' \
--fail # Exit non-zero if HTTP 4xx/5xx--fail curl flag makes the command exit with a non-zero code on 4xx/5xx, failing the workflow step.Minimum required tags for good social previews across all platforms:
<!-- Required for all platforms -->
<meta property="og:title" content="Your Page Title" />
<meta property="og:description" content="A 1-2 sentence description." />
<meta property="og:image" content="https://example.com/image.jpg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:url" content="https://example.com/page" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Your Site Name" />
<!-- Twitter-specific (falls back to og: tags) -->
<meta name="twitter:card" content="summary_large_image" />
<!-- Discord accent color -->
<meta name="theme-color" content="#7c3aed" />