Link Preview & OpenGraph Metadata API avatar

Link Preview & OpenGraph Metadata API

Pricing

from $1.00 / 1,000 previews

Go to Apify Store
Link Preview & OpenGraph Metadata API

Link Preview & OpenGraph Metadata API

Fast HTTP-only API that turns URLs into compact link-preview objects with OpenGraph, Twitter, favicon, canonical, image and optional oEmbed metadata.

Pricing

from $1.00 / 1,000 previews

Rating

0.0

(0)

Developer

Deepak Ganesh

Deepak Ganesh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Share

Link Preview & OpenGraph Metadata API

Turn any public URL into a compact, chat-ready link preview object.

  • Fetches pages with a fast HTTP-only Cheerio crawler (no browser overhead).
  • Accepts full URLs, plain domains, and { "url": "..." } API objects.
  • Extracts OpenGraph, Twitter Cards, canonical URL, best favicon, theme color, language, author, publish time, keywords, video, and optional oEmbed JSON.
  • Failed, blocked, invalid, or DNS-error URLs are returned with success=false and are not charged.

Use cases

  • Chat app and social link unfurling
  • AI agent browsing context and source cards
  • CRM, enrichment, bookmarking, and content ingestion pipelines
  • Batch validation of OpenGraph/Twitter metadata
  • Lightweight preview API before a heavier crawl

Input

FieldTypeDefaultDescription
urlsarrayrequiredURLs or plain domains. String list in the UI; API also accepts objects like { "url": "https://example.com" }.
fetchOembedbooleanfalseFetch advertised <link type="application/json+oembed"> endpoints and include parsed oembed JSON when available.
maxConcurrencyinteger20Number of pages fetched in parallel (1-100).
requestTimeoutSecsinteger30Per-page timeout before retrying (5-120 seconds).
maxRetriesinteger2Retries for transient fetch errors (0-5).
proxyConfigurationobject{ "useApifyProxy": false }Optional proxy settings.

Example input:

{
"urls": ["apify.com", { "url": "https://github.com/apify/crawlee" }, "https://example.invalid"],
"fetchOembed": true
}

Output JSON example

This example is trimmed from a real run:

{
"inputUrl": "apify.com",
"finalUrl": "https://apify.com/",
"domain": "apify.com",
"statusCode": 200,
"success": true,
"error": null,
"title": "Apify: Marketplace of ready-to-run tools for AI",
"description": "Thousands of tools to automate your business. Get real-time web data, track competitors, generate leads, and integrate your apps and AI agents.",
"siteName": "Apify",
"type": "website",
"image": "https://apify.com/og-image?title=Thousands+of+tools%0Afor+your+AI",
"imageWidth": 1200,
"imageHeight": 630,
"imageAlt": "Thousands of tools for your AI",
"favicon": "https://apify.com/apple-icon.png?apple-icon.1qabm0kj8blk6.png?dpl=648527a422",
"themeColor": "#020202",
"canonicalUrl": "https://apify.com/",
"language": "en",
"author": "@apify",
"publishedTime": null,
"video": null,
"oembedEndpoint": null,
"twitterCard": "summary_large_image",
"keywords": ["tools for AI", "AI agents", "web scraper", "web crawler", "scraping", "data extraction", "API"],
"openGraph": {
"title": "Apify: Marketplace of ready-to-run tools for AI",
"site_name": "Apify",
"type": "website",
"image": "https://apify.com/og-image?title=Thousands+of+tools%0Afor+your+AI"
},
"twitter": {
"card": "summary_large_image",
"creator": "@apify",
"title": "Apify: Marketplace of ready-to-run tools for AI"
},
"previewedAt": "2026-10-06T16:39:43.534Z"
}

Pricing

EventPriceCharged when
Preview (url-previewed)$1.00 / 1,000 previewsA URL is fetched successfully and a preview item is stored.

Invalid URLs, DNS errors, blocked pages, and HTTP status codes 400 or higher are included in the dataset with success=false but are free.

FAQ

Does it run a browser?

No. The Actor is HTTP-only and uses CheerioCrawler for speed and low cost.

Which title or image wins?

Title priority is og:title, then twitter:title, then <title>. Image priority is og:image, then twitter:image, then the first large page image.

Can it fetch oEmbed?

Yes. Set fetchOembed to true; invalid or unavailable oEmbed responses are ignored instead of failing the URL.

Are redirects followed?

Yes. finalUrl contains the loaded URL after redirects.

Are failed URLs charged?

No. Only successful preview items are pushed with the url-previewed pay-per-event charge.

Changelog

0.1

  • Initial release with OpenGraph, Twitter Card, favicon, canonical, oEmbed, and failure-safe pay-per-event billing.