Two replacements for Firebase Dynamic Links, at roughly the same price, aimed at roughly the same developer. Here is what each one actually ships — including the six or seven places Dynalinks is ahead of us.
Pick LinkSense if you want the thing that makes a link open your app — the hosted apple-app-site-association and assetlinks.json — without a paywall, an SDK or a hundred-link ceiling, and you want a landing page and a QR code thrown in.
Pick Dynalinks if more than one person needs dashboard access, if deferred deep linking has to be a finished feature rather than a Beta one, or if $5 a month decides it.
Everything in the Dynalinks column below comes from their public pricing page, docs and API reference as fetched on 25 August 2026. Everything in the LinkSense column is checked against our own source. Pricing and limits move on both sides — verify before you commit.
Where a cell says “no” for LinkSense, it means we checked the code and it is not there — not that it is coming.
| Dynalinks | LinkSense | |
|---|---|---|
| Universal Links & App Links, hosted for you | Yes | Yes — on every plan including free. No SDK, no feature flag |
| Links on the free plan | 100 (was 5,000 until April 2026) | 1,000 in total, across 1 project |
| Clicks on the free plan | No published quota | Unlimited |
| Device routing — iOS, Android, desktop | Yes | Yes |
| Hosted landing page | No | Yes — one per project, free. Serves the links that have no desktop URL of their own |
| Per-link social preview tags | Yes | Yes — Open Graph and Twitter Card, per link |
| QR codes | Pro | Free — dashboard and REST API |
| REST API | All plans (shortening and QR endpoints are Pro) | All plans, free included |
| REST API rate limit | 600 requests/minute | 60 requests/minute |
| URL shortening | Basic plan | Pro |
| Custom domains | Pro | Pro |
| Deferred deep linking | Shipped. Published iOS match window of 10 minutes, single use | Pro, and labelled Beta |
| Team seats and roles | Pro — unlimited seats, Owner / Manager / Viewer | None. A project belongs to one account |
| Analytics window | 24 hours on Basic, up to 2 years on Pro | Last 7 days on free; 30- and 90-day ranges on Pro |
| Self-hosting | Enterprise tier, custom pricing | No |
| Published SDK packages | iOS, Android, Flutter, React Native | iOS (SPM) and Android (Maven Central). Flutter and React Native not published yet |
| Paid plan | $14.99/mo, or $13.49/mo billed yearly. 30-day trial | $19.99/mo flat. Charged upfront, 7-day money-back guarantee |
One inconsistency worth knowing about before you plan around it: the Dynalinks pricing page lists deferred deep linking and team members among the Basic (free) features, while their documentation marks both as Pro-only. We could not resolve which is current from their public pages, so confirm it with them if either decides your choice.
A comparison page that concedes nothing is an advertisement. These are the axes on which they beat us today.
Dynalinks Pro includes unlimited collaborators with Owner, Manager and Viewer roles. LinkSense has no team concept at all — no seats, no roles, no invites. A project belongs to the account that created it. If two people need dashboard access today, Dynalinks is the better fit and we are not going to pretend otherwise.
Their Pro is $14.99 a month, or $13.49 billed yearly, against our flat $19.99. They also give you 30 days to try it; we charge upfront and give you 7 days to ask for the money back. On price alone, they win.
Theirs is a shipped feature with a public compliance page describing exactly how the iOS match works. Ours is Pro-only and carries a Beta label, because it is. If deferred deep linking — carrying a destination through an install — is the specific reason you are shopping, that difference matters more than anything else on this page.
Dynalinks Pro advertises up to two years of analytics. The LinkSense dashboard offers 7-, 30- and 90-day ranges, with the free plan clamped to 7 days. Ninety days is our ceiling in the UI, and there is no analytics API on either side to work around it.
Dynalinks publishes four: iOS, Android, Flutter and React Native. As of 25 August 2026 we publish two — iOS via Swift Package Manager and Android on Maven Central — with Flutter and React Native not yet released. The SDK is only needed for deferred deep linking, so this does not affect links that open an installed app; if you are on Flutter or React Native and want deferred, it affects you a lot.
Their documented ceiling is 600 requests a minute; ours is 60 per API key. That is ten times the headroom for a bulk import, a nightly sync or a content pipeline that mints links.
They sell self-hosting and white-labelling through an Enterprise tier. We have no equivalent — no self-host artifact, no Enterprise tier, no custom contracts.
All of it is shipped today, on the free plan unless stated.
Dynalinks cut its free plan from 5,000 links to 100 in April 2026. Ours is 1,000 links with unlimited clicks. To be exact about ours: 1,000 is a lifetime total across one project, not a monthly allowance — deleting a link frees the quota back up.
We generate and serve your apple-app-site-association and assetlinks.json files, on every plan, with no SDK to install and no flag to enable. That is the whole mechanism behind a link opening your app instead of a browser tab, and we do not charge for it.
Every project gets one hosted landing page, free, assembled from your App Store and Play listing. It catches the visitors your link has nowhere else to send — a desktop click on a link with no desktop URL. Dynalinks does not host landing pages.
Both are on the free plan, in the dashboard and over HTTP. Dynalinks gates QR generation to Pro, and gates the shortening and QR endpoints of its API the same way.
Clicks broken down by device, browser, OS, country and referrer, plus a time series and a top-links view. The free plan sees the last 7 days of it, which is longer than the 24 hours Dynalinks Basic keeps.
Both of us sit below the Branch and AppsFlyer tier. If one of these is a hard requirement, the honest answer is that you want a different category of tool.
Written for the direction that ends here, but every step is symmetrical — read it as the cost of leaving us too.
This is the real cost of the move, and it is the same in either direction. Your app trusts a specific domain: the associated-domains entitlement on iOS and the intent filter on Android both name it. Change the host and you ship an app update. Everything else on this list is a script.
Neither product has bulk or batch endpoints, so migration is a loop: read from their GET /links, write to our POST /projects/{projectId}/links. We have no CSV export either — the API is the export. Pace it against our 60 requests a minute, which is the tightest constraint in the process.
Custom domains are a Pro feature on both sides, so a branded host survives the move — but it is a DNS cutover, and the old links stop resolving the moment the domain points somewhere new. Plan that switch rather than discovering it.
Neither product exposes analytics over its API, so there is no supported way to carry historical clicks from one to the other. If a reporting series matters to you, screenshot it or keep the old account alive on its free plan until the window you care about has rolled past.
The REST API is on every plan, free included — read the API docs before you decide whether the script is worth writing.
Create one link, point a test build at it, and watch it open your app instead of a browser tab. The hosted Universal Links and App Links configuration is on the free plan, so you can check the claim yourself before you migrate a single link.
Create a free account1,000 links · Unlimited clicks · REST API · No credit card
Or compare the plans on the pricing page.