PreviewChecks

PreviewChecks API

Run the same social preview checks from scripts, release workflows or internal QA tools.

Endpoint

Send a GET request with a URL-encoded page URL. Bare domains are normalized to HTTPS.

curl "https://previewchecks.com/api/v1/check?url=https%3A%2F%2Fpreviewchecks.com"

Use API when

  • Run a launch checklist before publishing a page.
  • Validate preview metadata from CI or release scripts.
  • Check whether crawler-like requests can reach production URLs.

Banner readability

Readability is an opt-in check for the large social banner. Normal URL checks do not run OCR. Add the query parameters below to the regular check, or use the dedicated image endpoint when you already have an image URL.

Opt in with a page check

curl "https://previewchecks.com/api/v1/check?url=https%3A%2F%2Fexample.com&readability=1&platform=facebook&viewport=320&inset_left=17&inset_right=17&dpr=2"

Analyze an image directly

curl "https://previewchecks.com/api/v1/readability?url=https%3A%2F%2Fexample.com%2Fbanner.jpg&platform=facebook&viewport=320&inset_left=17&inset_right=17&dpr=2"

Analyze a Pinterest portrait

curl "https://previewchecks.com/api/v1/readability?url=https%3A%2F%2Fexample.com%2Frich-pin-image.png&platform=pinterest&viewport=320&inset_left=17&inset_right=17&aspect_ratio=0.666667&fit=cover&dpr=2"

Supported profiles are X large cards, Facebook, LinkedIn, Pinterest and chat previews. The default simulation is a 320 CSS-pixel screen at DPR2 (640 physical pixels), with 17 CSS-pixel app insets on each side, leaving a 286 CSS-pixel post image (572 physical pixels). Use viewport values from 320 to 480 and independent inset_left and inset_right values. The simulated image width must stay at least 160 CSS px. fit accepts cover or contain; aspect_ratio accepts 0.1 through 10; and dpr accepts 1 through 4, with DPR2 as the documented target. DPR changes rasterization only; size verdicts remain in CSS pixels. The image must be English text in PNG, JPEG or WebP format, up to 5 MB and 4 million pixels.

The API returns separate larger-text, small-detail and uncertain-text groups, with text-size, local-contrast, crop and platform-overlay verdicts shown independently; they do not change the normal technical score. The current product policy uses 4 CSS px as a critical level, 5.5 CSS px as the minimum visible glyph height and 8 CSS px as the guide, plus 4.5:1 minimum and 7:1 recommended local contrast. These are product policy thresholds for visible glyphs, not font-size claims. DPR improves raster detail but does not make a small CSS glyph easier to read. Results cover detected English text; faint or stylized text can be missed. Uncertain OCR, crop, overlay or background measurements require manual review. A full check with readability=1 keeps every normal response field and adds a separate readability envelope for the selected platform image; X requires summary_large_image because the mini icon card is excluded.

The website can run the same analysis locally in the browser after an explicit Analyze action. The API performs the opt-in analysis on the server. Both use the existing fair-use limits: 20 uncached checks per minute for the same client IP and target host, and 60 uncached checks per minute for that IP across all hosts.

Response

The response includes the normalized URL, final URL, overall and server-only summaries, preview card, platform checks, crawler results, metadata, image diagnostics, TLS result and ordered fixes.

schemaVersion

Version of the JSON response contract. The current version is 2.

summary.status

Highest-level result: pass, notice, warning or error.

summary.score

0-100 live-origin readiness score normalized against the checks applicable to each platform. It does not inspect platform-owned caches or an already published card.

server

Server-only score, status and issues for HTTP, redirects, crawlers, WAF, TLS and image delivery.

issues

Ordered fixes with severity, detail and suggested action.

platforms

Per-platform live-origin score, passed/total coverage and issues for Open Graph, X, Facebook, LinkedIn, Pinterest and chat previews.

readability

Optional ready/unavailable envelope from readability=1 with the selected image URL, report and separate larger-text, small-detail, size, contrast, crop and overlay results.

Limits

The public API is free for fair-use validation. It allows 20 uncached checks per minute for the same client IP and target host, and 60 uncached checks per minute for that IP across all hosts. Cached responses do not use that allowance.