REST API · Free · No auth required

LinkLook API

A single endpoint to fetch OpenGraph metadata from any URL. Built for integration tests, CI pipelines, and link preview features.

Fast

Sub-500ms with edge caching

CORS-ready

Open headers, any origin

Cached

1h cache, stale-while-revalidate

Any URL

Works with any public URL

Endpoint

GET/api/og

Parameters

NameTypeDescription
urlrequired
stringThe URL to fetch OG metadata for. Must be a valid, publicly accessible URL.

Request

bash
curl "https://linklook.co/api/og?url=https://github.com"

Response

200 Success

json
{
  "success": true,
  "fetchedAt": "2026-04-05T12:00:00.000Z",
  "data": {
    "title": "GitHub: Let's build from here",
    "description": "GitHub is where over 100M...",
    "image": "https://github.githubassets.com/...",
    "url": "https://github.com",
    "siteName": "GitHub",
    "type": "website",
    "favicon": "https://www.google.com/s2/favicons?..."
  }
}

422 Error

json
{
  "success": false,
  "error": "Could not fetch OG data for this URL"
}

Response Schema

FieldTypeDescription
data.titlestringThe og:title or <title> of the page
data.descriptionstringThe og:description or meta description
data.imagestringThe og:image URL
data.urlstringThe canonical URL of the page
data.siteNamestringThe og:site_name or publisher name
data.typestringThe og:type (e.g. website, article)
data.faviconstringGoogle favicon service URL for the domain
fetchedAtstringISO 8601 timestamp of when data was fetched
Sitemap Audit API

Sitemap Scan

Submit a sitemap URL and get OG scores for every page in one call. Handles sitemap indexes, skips non-HTML resources, and runs fetches with concurrency control.

Endpoint

POST/api/sitemapContent-Type: application/json

Body Parameters

NameTypeDescription
urlstringrequired — Sitemap XML URL or bare domain (auto-appends /sitemap.xml)
maxUrlsnumberoptional — Max pages to scan. Default 20, max 500

Request

bash
curl -X POST "https://linklook.co/api/sitemap" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://yoursite.com/sitemap.xml","maxUrls":50}'

JavaScript

js
const res = await fetch('https://linklook.co/api/sitemap', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ url: 'https://yoursite.com', maxUrls: 50 }),
});
const { success, overallScore, results } = await res.json();

// Re-scan to get fresh data (call the same endpoint again)
// results is sorted by score ascending — lowest first
results.forEach(r => {
  console.log(r.url, r.score, r.issues);
});

Response

json
{
  "success": true,
  "sitemapUrl": "https://yoursite.com/sitemap.xml",
  "scannedAt": "2026-04-11T00:00:00.000Z",
  "urlCount": 50,
  "successCount": 48,
  "overallScore": 74,
  "totalIssues": 23,
  "urlsWithImage": 45,
  "urlsWithTitle": 48,
  "results": [
    {
      "url": "https://yoursite.com/blog/post",
      "score": 45,
      "title": "My Blog Post",
      "description": null,
      "image": "https://yoursite.com/og.png",
      "favicon": "https://www.google.com/s2/favicons?domain=yoursite.com",
      "issues": ["og:description is missing"],
      "passes": ["og:title present", "og:image present"],
      "error": null
    }
  ]
}

Result Item Schema

FieldTypeDescription
urlstringThe page URL
scorenumberOG quality score 0–100
titlestring|nullog:title value
descriptionstring|nullog:description value
imagestring|nullog:image URL
faviconstring|nullFavicon URL
issuesstring[]List of missing or broken tags
passesstring[]List of tags that pass
errorstring|nullFetch error message, or null on success

Try it live

Use the interactive tool to preview OG tags across every platform.

Open LinkLook