Skip to content
V2 (Legacy) API ReferenceGet started

Rich Link Previews

Send URLs that render as inline previews with a title, description, and image.

A link part renders a URL as a rich inline card — title, description, and preview image — instead of a bare blue-link string. It’s the same affordance you see when you paste a URL into Messages manually.

Rich link previews are available on iMessage and RCS. On SMS, link parts fall back to a plain text URL.

Terminal window
curl -X POST https://api.linqapp.com/api/partner/v3/chats/{chat_id}/messages \
-H "Authorization: Bearer $LINQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": {
"parts": [
{ "type": "link", "value": "https://linqapp.com" }
]
}
}'
await client.chats.messages.send(chatId, {
message: {
parts: [{ type: 'link', value: 'https://linqapp.com' }],
},
});
client.chats.messages.send(
chat_id,
message={"parts": [{"type": "link", "value": "https://linqapp.com"}]},
)
RuleValue
Must be the only part in the messageA link part cannot be mixed with text or media parts
URL max length2,048 characters
URL protocolHTTPS required for preview generation
Fallback on SMSBare text URL

Violating the “only part” rule returns error 1004 (Invalid message content).

The preview (title, description, hero image) is fetched from the target page’s standard metadata:

  • Open Graph tags (og:title, og:description, og:image)
  • Twitter Card tags as a fallback
  • Standard HTML <title> and first suitable <img> if neither is present

For the best-looking preview on your own domain, publish proper Open Graph tags on every page you send. Pages behind auth, intranet URLs, and pages that block the Linq preview fetcher will render as plain-link fallbacks.

GoalUse
Rich card with title and imageLink part (this guide)
Short message that happens to contain a URLText part — iMessage auto-previews the URL inline
Multiple URLs in one messageMultiple messages, one link part each (link parts can’t be mixed)