Open Graph & Link Preview Extractor
Pricing
$1.00 / 1,000 results
Open Graph & Link Preview Extractor
Extract the link-preview metadata a page publishes for itself - what Slack, Twitter/X and LinkedIn read when you paste a URL. Returns title, description, Open Graph & Twitter-card tags, favicon, JSON-LD, images. Pure code, no proxy/AI. Reads PUBLIC meta only; does NOT scrape private social accounts.
Pricing
$1.00 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Moussa
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
23 days ago
Last modified
Categories
Share
Turn any public URL into the link-preview / social-share card it publishes for itself — the exact metadata Slack, Twitter/X, LinkedIn, Discord and iMessage read when you paste a link. Deterministic, cost-safe, no AI.
Honest scope: this actor reads the public Open Graph / Twitter-card / meta tags a page voluntarily publishes in its own HTML
<head>. It does NOT scrape private social accounts, followers, posts, engagement or feeds. Real social-account scraping is ToS-blocked and needs paid proxies/headless browsers — that is not cost-safe and is not what this does.
What it does
Given a public URL (or a small bounded batch), it fetches the page once and deterministically extracts:
title,description,canonical_url,site_name,lang,theme_color,faviconog— Open Graph block:{title, description, image, type, url}twitter— Twitter Card block:{card, title, description, image, creator, site}json_ld[]— schema.org JSON-LD objects the page publishesimages[]— representative image URLs (og/twitter image first, then page<img>sources), absolutized & dedupedmethod(which layer produced the data) and a code-ownedparse_confidence
No proxy, no headless browser, no LLM, no paid API. $0 idle, $0 uncovered beyond Apify compute.
Input
| Field | Type | Description |
|---|---|---|
url | string | A single public URL to build a preview for (include https://). |
urls | array | Optional bounded list of additional URLs (capped at 50/run). |
{"url": "https://github.com/apify/apify-sdk-python","urls": ["https://www.theverge.com/","https://www.youtube.com/watch?v=dQw4w9WgXcQ"]}
Output
One record per URL in the dataset:
{"url": "https://github.com/apify/apify-sdk-python","status": "completed","title": "GitHub - apify/apify-sdk-python: The Apify SDK for Python ...","description": "The Apify SDK for Python is the official library for creating Apify Actors ...","canonical_url": "https://github.com/apify/apify-sdk-python","site_name": "GitHub","og": {"title": "GitHub - apify/apify-sdk-python: The Apify SDK for Python ...","description": "The Apify SDK for Python ...","image": "https://opengraph.githubassets.com/.../apify/apify-sdk-python","type": "object","url": "https://github.com/apify/apify-sdk-python"},"twitter": {"card": "summary_large_image","title": "GitHub - apify/apify-sdk-python ...","description": "The Apify SDK for Python ...","image": "https://opengraph.githubassets.com/.../apify/apify-sdk-python","creator": null,"site": "@github"},"favicon": "https://github.com/favicon.ico","json_ld": [ { "@type": "WebSite", "...": "..." } ],"theme_color": "#1e2327","lang": "en","images": [ "https://opengraph.githubassets.com/.../apify/apify-sdk-python" ],"parse_confidence": "high","method": "opengraph","extracted_at": "2026-06-24T10:00:00+00:00","error": null}
Use cases
- Link previews — render unfurled share cards for any URL in your own app/chat/CMS.
- SEO & social audit — check that pages publish valid
og:title/og:image/twitter:cardbefore they go live. - Card validation — catch missing or oversized preview images and broken canonical/site-name tags in bulk.
How it works
- SSRF-guarded fetch — the target host is resolved and rejected if it points at a private/loopback/reserved IP; a domain blocklist refuses login-walled/ToS-hostile hosts; redirects are re-validated per hop. A single streamed GET with hard size (2 MB) and time caps fetches the page.
- Deterministic parse — pure-code extraction of
<meta>(Open Graph + Twitter + standard),<title>,<link rel=canonical/icon>,<html lang>, JSON-LD and<img>sources. First occurrence wins (matches how preview platforms read tags). Image URLs are absolutized against the final URL. - Honest confidence —
parse_confidenceis computed in code from how many Open Graph / Twitter signals were actually present (high/medium/low/none);methodreports the richest layer used.
Limitations (honest)
- Reads only what the page publishes server-side in its HTML. Pages that render Open Graph tags client-side via JavaScript (no SSR) will return little — there is no headless browser by design (cost-safety).
- No private social data. Followers, posts, engagement, DMs, private profiles, paginated feeds: out of scope and not possible without paid proxies/ToS violations.
- Login-walled / ToS-restricted hosts (e.g. linkedin.com, facebook.com, instagram.com) are intentionally blocked and return
status: "blocked". - One page per record — the actor never follows links or paginates.
parse_confidence/methodare heuristics over which tags were found, not a guarantee of correctness of the publisher's own values.