GLINT RENDERWEB RENDERING & EVIDENCE PLATFORM

Any page,
rendered in seconds.

One REST API that sees, remembers and proves — pixel-perfect screenshots and PDFs, page-change monitoring, and tamper-evident evidence with trusted timestamps. Built for developers and the AI agents acting on their behalf.

Get a free keyRead the docs100 RENDERS / MONTH · NO CREDIT CARD

THREE LAYERS

See. Remember. Prove.

01SEE

Render and read any page

Pixel-perfect captures, structured data and AI answers from any URL — machine-readable, stitch-free, at any resolution up to 4K.

/v1/screenshot · /v1/pdf · /v1/og · /v1/extract · /v1/ai/*

02REMEMBER

Watch pages over time

Scheduled re-renders, pixel-level diffs, field-level data extraction and signed change alerts. The page's history, kept for you.

/v1/watch · /v1/diff · /v1/perf · /v1/record

03PROVE

Prove what happened

SHA-256 evidence archives, RFC 3161 trusted timestamps, signed action receipts and AI-answer tracking. Tamper-evident by design.

/v1/evidence · /v1/act · /v1/geo

The engine, piece by piece

Every option is one JSON field. Every claim maps to an endpoint you can call today — the product is the proof.

EXTRACT · MARKDOWN

Give your LLM the page, not the pixels

One call returns clean Markdown, headings, links, images and word counts from any URL — structured data ready for RAG pipelines and AI agents.

FULL-PAGE

The whole scroll, kept

Viewport, full-page, or a single element — at any width you name. Long pages come back whole, stitch-free.

2× RETINA

Every pixel, twice

Device scale factor two on request. Crisp on studio displays and phone screens alike.

DARK MODE

Their night, your shot

Emulate the dark color scheme on any capture. Same URL, both worlds.

ELEMENT-LEVEL

Just the node

Pass a CSS selector and get that element alone — cards, charts, receipts — cropped to the pixel.

PDF ENGINE

Print-ready, always

A4 to Legal, real margins, print backgrounds on. Invoices, reports and tickets straight from HTML.

AGENT LAYER

Pages agents can act on

A semantic tree of every interactive element, action chains with signed receipts, and logo extraction — built for autonomous browsers.

THE TOOLBOX

And everything around it

Whole-site crawls to Markdown, page video recording, AI vision analysis, QR codes, code beauty shots, device presets, session injection, BYO proxy.

QUICKSTART

One call. Real bytes.

POST /v1/screenshot
curl -X POST https://api.ottersnap.com/v1/screenshot \
  -H "Authorization: Bearer otter_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://github.com", "fullPage": true}' \
  --output shot.png

TRY IT LIVE

Kick the tires. No key needed.

Run any endpoint right here, download the result, and take the exact cURL with you — swap in your key and it's production.

https://
response

Pick an endpoint, drop in a URL, hit RUN — no key needed.

your request
curl -X POST https://api.ottersnap.com/v1/screenshot \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"format":"png","width":1280,"height":800,"url":"https://github.com"}'

Free to try — 12 runs per hour from the demo key. Get your own key for 100 renders / month.

RECIPES

Ship something today

CRON · MONITORING

Nightly competitor snapshots

A dated PNG of every rival page, on your desk by 6 AM.

for (const url of targets) {
  const res = await fetch(API + "/v1/screenshot", {
    method: "POST",
    headers: { Authorization: "Bearer " + KEY,
               "Content-Type": "application/json" },
    body: JSON.stringify({ url, fullPage: true,
                           cookieBlock: true }),
  });
  fs.writeFileSync("shots/" + today + "-" + host(url)
    + ".png", Buffer.from(await res.arrayBuffer()));
}

BILLING · PDF

Invoices without a print button

Every invoice ID becomes a printer-ready A4 in one call.

const res = await fetch(API + "/v1/pdf", {
  method: "POST",
  headers: { Authorization: "Bearer " + KEY,
             "Content-Type": "application/json" },
  body: JSON.stringify({
    url: app + "/invoices/" + inv.id,
    paper: "A4",
  }),
});
attach(inv.email, await res.arrayBuffer());

AI · RAG PIPELINES

Feed pages to your model

Clean Markdown from any URL, ready to embed and query.

const res = await fetch(API + "/v1/extract", {
  method: "POST",
  headers: { Authorization: "Bearer " + KEY,
             "Content-Type": "application/json" },
  body: JSON.stringify({ url, format: "markdown" }),
});
corpus.push({ url, text: await res.text() });

AGENT · EVIDENCE

Act, then prove it

An action receipt with SHA-256 and a trusted timestamp.

const res = await fetch(API + "/v1/act", {
  method: "POST",
  headers: { Authorization: "Bearer " + KEY,
             "Content-Type": "application/json" },
  body: JSON.stringify({ url, evidence: true,
    actions: [{ fill: { selector: "#email",
                       value: user.email }},
              { click: "#submit" }] }),
});
// res.receipt = { image_sha256, manifest_sha256, tsa }

PRICING

Start free. Scale when it works.

Free

For side projects and weekend hacks. Free forever.

$0FOREVER
  • 100 renders every month
  • All formats — PNG, JPEG, PDF, OG
  • 2 watch monitors · 60-min checks
  • 1 GEO project · 5 prompts
  • 3 API keys
  • Watermarked images
Create free key

Starter

MOST POPULAR

For products in production.

$190/ YEAR

2 MONTHS FREE · CREDITS ON OK RENDERS ONLY

  • 5,000 renders every month
  • No watermark · 2× retina
  • 10 watch monitors · 15-min checks
  • Watch data extraction
  • Evidence Vault + RFC 3161
  • 3 GEO projects · 25 prompts
  • 10 API keys

Growth

For growing apps and heavy workloads.

$490/ YEAR

2 MONTHS FREE · CREDITS ON OK RENDERS ONLY

  • 25,000 renders every month
  • Priority render queue
  • 50 watch monitors · 15-min checks
  • 10 GEO projects · 100 prompts
  • 30 API keys
  • Priority support

1 RENDER = 1 CREDIT · DIFF 2 · ACT 2 (EVIDENCE RECEIPT +1) · EVIDENCE CAPTURE 3 · WATCH CHECK 1 · CACHE HITS & FAILED RENDERS FREE · CARD / PAYPAL / APPLE PAY / GOOGLE PAY VIA PADDLE

FAQ

Straight answers

What is Glint Render?

Glint Render is a web rendering and evidence API built by Moyu, a one-person independent studio. One REST API turns any URL into pixel-perfect screenshots, print-ready PDFs, Open Graph social cards and structured Markdown — and adds page-change monitoring, pixel diffs and tamper-evident evidence archives with RFC 3161 trusted timestamps. The free plan includes 100 renders per month, no credit card required.

What counts as a render?

One successful screenshot, PDF or OG image response consumes one credit. Cached responses (5-minute cache) and failed renders are free and never count against your monthly quota.

How fast is it, and do you cache?

Most pages render in a few seconds with full JavaScript execution and fonts settled. Repeat renders of the same URL hit a 5-minute cache — those are faster and free. Pass fresh: true to skip the cache.

What formats and sizes are supported?

PNG and JPEG screenshots up to 3840×2160 (viewport, full-page or element-level, 2× retina, dark mode), PDFs in A4, Letter and Legal with real margins and print backgrounds, and 1200×630 Open Graph cards. Every option is a single JSON field.

Can AI agents use it?

Yes. Glint Render ships an official MCP server (npm: ottersnap-mcp) that plugs into Claude, Cursor, Codex and other MCP clients, plus an n8n community node. The agent layer adds GET /v1/tree (semantic page tree), POST /v1/act (action chains with signed receipts) and POST /v1/logo.

What about privacy and billing?

Glint Render collects the minimum: your email, request counts and the URLs you render. Rendered content is never sold; API keys are stored hashed. Payments run through Paddle (card, PayPal, Apple Pay, Google Pay) and every paid plan has a 14-day full-refund policy.

Put the web on rails.

Free forever tier, no credit card. Upgrade when your pipeline outgrows it — every claim on this page is an endpoint away.