Docs
Build on Linksie.
API keys and webhooks are a Pro benefit — create them in Settings → Developers. Send your key as Authorization: Bearer <key>. Keys without Pro get HTTP 402.
API reference
/api/v1/public/statsreadArrivals, taps, 18+ passes and click-through for a range, this window against the last, plus top links and daily series.
/api/v1/public/pagesreadYour page with every link including the real destinations.
/api/v1/public/subscribersreadCollected emails, newest first, cursor-paginated (?cursor, ?limit up to 100).
/api/v1/public/scanreadAll ten scanner checks on any link page { url }. The public widget shows three.
/api/v1/public/linkslinks:createCreate a link { title, destinationUrl, … }. Appended at the end; reorder it on your page in the editor.
/api/v1/public/links/{id}links:hideToggle visibility only { isVisible }. Anything else is rejected: a scoped key can never rewrite destinations.
Webhooks
Signed POSTs with X-Linksie-Event and X-Linksie-Signature: sha256=<hmac of the raw body with your endpoint secret>. Retried 5 times with backoff; endpoint health shows in Settings.
link.clickedA human taps a link or social button (bots excluded). Payload: linkId, title, kind, destinationHost, source.
subscriber.createdSomeone joins the email box. Payload: email, source, campaign.
scan.droppedThe nightly watch finds your score down 10+ or a newly-failing check. Payload: url, prevScore, score, newFailures.
page.publishedA new version goes live. Payload: pageId, domain, versionId.
Scanner methodology
The scanner grades the static HTML a platform crawler sees — no JavaScript, the same view as their fetcher. Verify the two load-bearing claims yourself against any live Linksie page:
curl -A "facebookexternalhit/1.1" https://your-page.com/ > bot.html curl -A "Mozilla/5.0 (iPhone)" https://your-page.com/ > human.html diff bot.html human.html # identical: no cloaking grep -Eo 'https?://[^" ']+' bot.html # no outbound destinations
No raw outbound addresses in the markup: what a scraper resolves in one fetch.
No platform names in visible words pairing creator with platform.
No og:title / og:image, so pasting the link unfurls nothing worth reading.
Robots meta plus X-Robots-Tag refuse indexing.
No Meta, Google, TikTok, Snap or analytics pixels reporting visitors.
HTTPS in transit.
No redirect hops logging the visit.
Not on a shared link-in-bio host where one report stains everyone.
HTTP 2xx or 3xx. A dead page protects nothing.
Fetched twice (visitor + Meta crawler UA): destinations must match. Cloaking fails hard.
Every published page is rescanned nightly and owners are emailed on any drop of 10+ points or any newly failing check. History lives in Shield.