· Home

myframely /api/v1 demo

Exercises all three response shapes (JSON / HTML fragment / web component) against a single URL. Server-loads via the authenticated path; web-component live-fetch uses /demo/proxy as a stand-in for a consumer's backend proxy.

1. JSON shape=json

{
  "url": "https://9gag.com/gag/aD2e89K",
  "canonical": "http://9gag.com/gag/aD2e89K",
  "title": "SSD Math 101.",
  "description": "2,892 points • 221 comments",
  "siteName": "9GAG",
  "siteLogoUrl": "https://storage.mostly.film/myframely/logo/9gag.com/4d2a8550e7bb785ae7a22e6a06eef3281dae66dc.png",
  "favicon": "https://9gag.com/favicon.ico",
  "images": {
    "thumbnail": "https://storage.mostly.film/myframely/previews/85777818-1062-4215-a6ac-8909ead3a48c/fc580f46f104.jpg",
    "hero": "https://storage.mostly.film/myframely/previews/85777818-1062-4215-a6ac-8909ead3a48c/7a6bd9f8bb77.jpg",
    "origin": "https://images-cdn.9gag.com/photo/aD2e89K_ogimage.jpg"
  },
  "provider": null,
  "fetchedAt": "2026-10-13T15:33:58.771Z"
}

2. HTML fragment shape=html

variant=thumbnail (default)
variant=hero

SSD Math 101.

2,892 points • 221 comments

9GAG
raw thumbnail HTML
<div class="mPreview_card" data-variant="thumbnail"><a class="mPreview_link" href="http://9gag.com/gag/aD2e89K" target="_blank" rel="noopener nofollow"><img class="mPreview_thumb" src="https://storage.mostly.film/myframely/previews/85777818-1062-4215-a6ac-8909ead3a48c/fc580f46f104.jpg" alt="" loading="lazy"><div class="mPreview_body"><h3 class="mPreview_title">SSD Math 101.</h3><p class="mPreview_description">2,892 points • 221 comments</p><div class="mPreview_meta"><img class="mPreview_logo" src="https://storage.mostly.film/myframely/logo/9gag.com/4d2a8550e7bb785ae7a22e6a06eef3281dae66dc.png" alt="" loading="lazy"><span class="mPreview_site">9GAG</span></div></div></a></div>

3. Web component (pre-fetched) <myframely-card preview=...>

default
theme="dark"
variant="hero"
themed via --mPreview-* (small/tight)

4. Web component (live-fetch) <myframely-card url=... endpoint=/demo/proxy>

This component fetches the preview from /demo/proxy on mount, no pre-serialized attribute. Simulates the pattern a consumer would use if they proxy the preview call through their own backend.