Every event, on the record.
Clicks and scans land on the record the moment they happen — in your dashboard for every link, and live into your code for links you create over the API. This is what the wire looks like.
Illustrative click feed: rows of clicks and QR scans, each showing the time, the event type, the short link, the visitor's country and device, and where it can be read — the dashboard for every link, plus the live SSE stream for links created through the API. The sample is synthetic; the columns are the fields a real click event carries.
5 connections · 4 live · anything else via the REST API or MCP — see the full catalog ↓
Everything on the wire, spelled out.
What connects, what flows which direction, and how deep the setup goes — honestly labeled: Live works today, Roadmap carries its date.
Developer
2- REST APInativeLinks, domains and stats for what you create over the API — MCP covers the whole workspace.links CRUD · domains · per-link statslinks CRUD · domains · per-link statsLive
- Click stream (SSE)nativeEvery human click on your API-created links, the moment it happens.click events ⟶ your client, live (you pull)click events ⟶ your client, live (you pull)Live
Three flows you can wire today
No connectors yet — a few lines of your own code on the click stream carry a real-world trigger, through rii.link, into the tool where your team already lives. The stream covers links and QR codes you create over the API.
- QR scan in Berlin → Slack #growth
Know the poster works the hour it goes up.
QR scan — flyer, Berlinclick event · is_qr: truerii.link/berlin-flyeryour listener → Slack#growth · "🔗 Scan — /berlin-flyer, DE"today: link + QR via the API (POST /v1/links, /v1/qr) → your SSE listener → Slack incoming webhook
- Click on /launch → Zapier → sheet
Log every launch click where the team already looks.
Click — launch postclick eventrii.link/launchyour listener → catch hookZapier — new row in a sheettoday: link via the API (POST /v1/links) → your SSE listener → Zapier catch hook
- QR scan → GA4 event
Offline scans next to your web analytics, without an app.
QR scan — packagingclick event · is_qr: truerii.link/unboxyour relay → GA4GA4 — custom eventtoday: link + QR via the API (POST /v1/links, /v1/qr) → your SSE listener → GA4 Measurement Protocol
Not listed? Stream it or script it.
Every click on your API-created links streams live from GET /v1/events/stream, and the REST API does the rest — your code decides what happens next. Outbound webhooks are on the roadmap for Q1 2027.
event: click data: { "link_id": "lnk_8h2f0qZ3Tk1mR4vXw9aBcQ", "country": "DE", "device": "mobile", "is_qr": true, … }
Each human click on your API-created links arrives as one server-sent event.
link_id, country, device, referrer, utm_*, is_qr, rule_matched, timestamp.
The same bearer key as the REST API — create one in Settings → API keys.
Don’t see your tool?
Tell us what you run and what should flow. We read every request and build in order of demand — no promised dates; when it ships, it lands in the catalog above.
Your request lands in the same queue our roadmap is built from.
Demand decides order — the more teams ask, the sooner it ships.
Meanwhile, the click stream and the REST API let your own code reach it today, for links you create over the API.
Build on what’s live.
Script links with the REST API, hand them to your agent over MCP, and stream clicks on API-created links as they happen — free to start.