Home/ Use cases/ Developers
One POST, one short link.
slsh.me offers a JSON API for generating branded short links programmatically. Token auth, custom domain via CNAME, idempotent slugs, OG control — no SDK required.
$ curl -X POST https://slsh.me/api/links \
-H "Authorization: Bearer sk_live_..." \
-d '{"url": "https://app.yourco.com/invite/x7f2k"}'
HTTP/1.1 201 Created
{
"short_url": "https://slsh.me/inv-x7f",
"slug": "inv-x7f",
"clicks": 0,
"created_at": "2026-04-16T09:14:22Z"
}
Why developers use slsh.me
An API that stays out of the way.
Your app generates invite links, share URLs, receipt pages. They’re all ugly and long. slsh.me turns them into branded short links via a single REST endpoint — no SDK to vendor, no opinionated client to wrap, just JSON in and JSON out.
Token auth, nothing fancy
Personal access tokens in the dashboard. Pass Authorization: Bearer … and you’re done. No OAuth dance for server-side use.
Custom slugs & idempotency
Pass your own slug for meaningful codes (inv-x7f). Re-POSTing the same payload with the same slug returns the same link, not a duplicate.
Branded via CNAME
Point links.yourco.com at slsh.me. Every link the API mints can come out on your domain, not ours.
OG control from the payload
Set og_image, og_title, og_description in the create call. Useful when the destination has no OG tags of its own.
From zero to your first link
Three requests, in order.
Mint a token
Sign up, open Settings → API, generate a personal access token. Store it server-side.
POST a long URL
POST /api/links with {"url": "..."} and Bearer auth. Get back the short URL and slug.
Ship it — or fetch its clicks
Use the short URL anywhere. GET /api/links/:slug/clicks returns the same click stream as the dashboard.
Everything you need
The developer’s stack.
live Full API reference at api.slsh.me/doc. Browse endpoints, try them with your token, copy the curl.
Questions
The honest answers.
How does the slsh.me API work?
Can I use my own domain for API-generated short links?
links.yourco.com/abc instead of slsh.me/abc — same API, same response shape.Can I set the slug myself, or is it always random?
Are there rate limits or quotas?
X-RateLimit-Remaining and X-RateLimit-Reset headers come back on every response so you can back off cleanly. Hard quotas are documented per plan on the pricing page.Does slsh.me give my links Open Graph previews via the API?
og_image, og_title, og_description in the create payload and slsh.me serves them on the short URL’s preview crawl. Skip them and slsh.me falls back to whatever the destination URL already declares. Useful when the destination has no OG tags at all.