Links for Software & SaaS
Links created by your systems, measured through to signup, and controllable from an API.
For software teams a link is rarely something a person makes by hand. It is generated by a job, embedded in an email template, produced by a docs build or attached to a trial invitation. What matters is a clean API, predictable behaviour, and a path from click to signup that does not depend on guessing.
Links as an API resource
The REST API creates, updates, retrieves and reports on links, with token authentication and published rate limits. Every feature available in the dashboard is available through it, so a programmatically created link is not a second-class link with reduced targeting or reporting.
Bulk endpoints handle the common case of creating thousands of links at once — one per customer, per invitation or per generated asset.
- Full feature parity between API and dashboard
- Token authentication with published rate limits
- Bulk creation and bulk update endpoints
- Stable link identifiers for joining to your own data
Click events in your own systems
Webhooks deliver click events to your endpoint as they occur, signed so you can verify origin and retried on failure so a deploy on your side does not lose data. That is usually preferable to polling, and it puts the event data into your warehouse rather than leaving it in a dashboard.
Where a pull model fits better, the reporting endpoints expose the same aggregates the dashboard uses.
- Signed webhooks with retry on failure
- Per-click payloads including geography, device and campaign
- Reporting endpoints for scheduled pulls
- CSV export of raw events for backfill
Attribution to signup and beyond
The click identifier is the join key. It is carried through the redirect to your destination, your application reports back when the visitor signs up, starts a trial or converts to paid, and the outcome is attributed to the original click with its campaign context.
That gives marketing and product the same view: which link, in which placement, with which tagging, produced which outcome — including from a QR code on a conference stand.
- Click identifier passed to the destination
- Server-side conversion reporting with a value
- Attribution by link, campaign, folder and domain
- Works identically for scans and clicks
Product surfaces and app handoff
Deep links open your mobile app rather than the browser on iOS and Android, with a web fallback when the app is not installed. That covers invitation emails, referral links and any handoff from a marketing page into the product.
Device and geography rules let one documented URL behave correctly across platforms and regions without your application needing to handle the branching itself.
- iOS and Android deep links with web fallback
- Separate desktop, iOS and Android destinations
- Country and region routing for regional instances
- A/B testing across up to ten destinations
Docs, releases and support links
Documentation URLs move constantly. Short links in error messages, CLI output, logs and support macros give you a stable surface with a changeable destination, so an error thrown by a released binary can still point at current documentation years later.
Folders and defaults keep these organised, and editable slugs mean a link can be renamed without losing its history.
- Stable links in shipped binaries and error messages
- Repointing after a docs migration, in bulk
- Editable slugs that keep analytics
- Custom 404 recovery at the domain level
Access, environments and hygiene
Teams separate environments, brands or product lines, each with its own domains. Roles and per-link permissions keep production links out of reach of casual edits, and SAML single sign-on ties access to your identity provider.
Import from CSV or from an existing Bitly account when consolidating, and export everything at any time so the data is not trapped.
- Teams per product line or environment
- SAML 2.0 SSO and granular roles
- Per-link permissions on production links
- CSV, XLSX and Bitly import, full export
Questions
Is the API rate limited?
Yes, with a published limit rather than an unstated one. Bulk endpoints exist so high-volume creation does not need to be done request by request.
How do we get click data into our warehouse?
Webhooks for streaming, reporting endpoints for scheduled pulls, and CSV export for backfill. All three carry the same event fields.
Can we attribute a signup to a specific link?
Yes, through the click identifier reported back from your application, with campaign context attached.
Do deep links work if the app is not installed?
Yes, they fall back to the web destination you configure.
Can we use short links inside shipped software?
That is one of the better uses for them. The URL stays stable in the binary while the documentation behind it moves freely.
Can we separate staging from production links?
Yes, with separate teams or domains, and per-link permissions on anything that must not change.
Create, route and measure links from your own code.
Start Free — no credit card
The free plan includes 1,000 links, 6 custom domains and 50,000 tracked clicks a month, free forever. Choose a free subdomain from six shared domains. Paid plans start at $4 a month when you outgrow it, and you keep everything you have built.

