API & integrations
A versioned REST API on every plan. Mint per-visitor codes in bulk, sync from your CRM without duplicates, and stream clicks back in real time. With bulk QR generation for print at scale.
One call, many codes
Post a list to a link and get a unique short code and QR for every visitor — each individually tracked, all pointing at the same destination. Names and emails stay private; only your externalId is used to map back.
Full referencePOST /api/v1/links/{id}/recipients Authorization: Bearer vk_live_… { "recipients": [ { "name": "Alice", "externalId": "crm_1" }, { "name": "Marcus", "externalId": "crm_2" } ] }
Integration patterns
Create thousands of uniquely-tracked codes in one call — from a CRM export, a database query, or an event pipeline.
Re-run the same list safely. Recipients are keyed by your externalId, so syncs never create duplicates.
Pass a non-PII externalId; every click carries it back (as ?rid=) so you can join engagement to the right person in your own system.
Get a signed POST the instant a person clicks — pipe it into your CRM, data warehouse, or Slack. Verify with HMAC-SHA256.
Issue keys per integration with the scopes they need. Rotate or revoke without touching the rest.
Personal data stays in your private records — never in a link. You choose retention and can export or purge any time.
Real time
Register a webhook and receive a signed event per click — visitor, link, and geo — so your CRM or warehouse reflects engagement in real time. Verify the signature with your secret.
X-Visitto-Signature: sha256=… { "event": "recipient.clicked", "externalId": "crm_1", "shortCode": "aC8TqJmE", "country": "GB", "device": "mobile" }
Get an API key on the free plan and mint your first tracked codes today.