Put your app on QR Worlds
Build games, interactive experiences, or productivity tools? List them here and creators can drop your app straight onto the page behind their QR code — in front of every scan.
New distribution
Every creator on RepLinkQR can add your app to their World — apparel drops, events, restaurants, classrooms, and more.
You keep your product
Your app stays hosted by you at your own URL. We embed it (or launch it) — no migration, no lock-in.
Premium slots
Mark your app premium and it becomes a paid-plan perk — a built-in upsell that can share revenue.
Reviewed & safe
Every submission is human-reviewed before it goes live, so the catalog stays high-quality.
Submit your app
What your app needs
A QR World app is just a web app we embed on the page. Meet these four requirements and it runs beautifully in front of every scan.
Hosted at an HTTPS URL
Any stack — plain JS, React, Phaser, Unity/Godot WebGL. It just has to load at a public https:// URL.
Allow embedding
Don't send X-Frame-Options: DENY/SAMEORIGIN. Ideally set Content-Security-Policy: frame-ancestors https://replinkqr.com. (Sites that block framing open in "launch" mode instead.)
Mobile-first & responsive
Almost every scan is a phone. Fit any width, be touch-friendly, load fast, and work for anonymous visitors — no forced login.
Self-contained
Start instantly, keep state client-side or on your own backend. No pop-ups that break inside a frame.
The Embed SDK optional, recommended
One script tag gives you auto-resize (no inner scrollbars), the World's theme/context, and engagement reporting.
<script src="https://replinkqr.com/assets/js/repqr-embed.js"></script>
<script>
RepLinkQR.ready(); // "I'm loaded" + start auto-resize
RepLinkQR.onContext(function (ctx) {
// ctx = { page, premium, theme, accent }
// e.g. match your colors to ctx.accent
});
RepLinkQR.track('play'); // report engagement
RepLinkQR.track('score', 1200); // any event + value
</script>
Opened in its own tab instead of embedded? Every call is a safe no-op — ship the same build everywhere.
Under the hood
The SDK is a thin wrapper over postMessage. If you'd rather talk to the host directly, post these to window.parent:
| Message | Effect |
|---|---|
| repqr:ready | Marks the app loaded |
| repqr:resize {height} | Grows the frame to fit |
| repqr:track {event,value} | Records engagement |
| repqr:open {url} | Opens a link in a new tab |
Every payload carries __repqr:1. The World replies with repqr:context. Ready? Submit your app above — premium apps become a paid-plan upsell.
Create & re-point QR codes from your own app
Partners and integrations can mint dynamic QR codes and change their destinations programmatically — no reprint, no dashboard. Every call is scoped to your own account.
Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /api/v1/ping | Verify your key & see your plan |
| POST | /api/v1/qr | Create a dynamic QR (name, destination_url, style) |
| GET | /api/v1/qr/{slug} | Fetch a QR + its lifetime scan count |
| PATCH | /api/v1/qr/{slug} | Re-point its destination — printed codes keep working |
Authenticate with an x-api-key header.
Create an account, then mint keys in Settings → API access.
Quick start
# Create a dynamic QR code
curl -X POST https://replinkqr.com/api/v1/qr \
-H "x-api-key: rlq_live_..." \
-H "Content-Type: application/json" \
-d '{"name":"Summer drop","destination_url":"https://your.site/drop",
"style":{"fg":"#6b38d4","bg":"#ffffff"}}'
# Later: re-point it without reprinting
curl -X PATCH https://replinkqr.com/api/v1/qr/summer-drop \
-H "x-api-key: rlq_live_..." \
-H "Content-Type: application/json" \
-d '{"destination_url":"https://your.site/fall-drop"}'
Responses are JSON and include the short_url your QR encodes. Destination URLs pass the same safety screening as the dashboard.