Docs
Stats API: taps and uniques per install link
Last updated
The stats API gives you the numbers from your dashboard as JSON: taps and daily uniques per app, install link, day, channel, medium, campaign or content, or split by OS, OS version, device, in-app browser, country, referrer or outcome. It is read-only, answers only about your own apps, and needs an API token from Settings.
Read your Jumper stats with the API
- Add your app. Paste a store link at jumper.to/new. That creates the app and its first install link; the app keeps the store ids and the website for every link.
- Add install links. On the app’s page, add one install link per channel, or press “Add the social set” for YouTube, TikTok, Instagram and Facebook. Each gets its own random address; the channel, medium and campaign stay in Jumper, never in the URL.
- Create an API token. In Settings → API tokens, give the token a label and copy it. It is shown once and stored only as a hash. An account can have 5.
- Read stats. Call GET https://app.jumper.to/api/stats with the header Authorization: Bearer <token>, a date range and the groups you want. The answer is JSON rows of taps and uniques.
- Rotate the token. Create a new token, switch your script to it, then revoke the old one in Settings. Requests with a revoked token get 401 at once.
Request
GET https://app.jumper.to/api/stats with the header Authorization: Bearer <token>. Every parameter is optional.
| Parameter | Meaning |
|---|---|
app | An app id (app_…), its App Store id or its Android package. Optional. |
link | One install link, by its slug. Optional. |
channel | Only links of this channel (yt, tt, ig, fb, x, li, sc, tg, wa, web, qr, email, ads, other). Also medium and campaign. Optional. |
from, to | UTC days as YYYY-MM-DD, both included. Default: the last 30 days. At most 13 months back. |
group | Comma-separated: app, link, day, channel, medium, campaign, content, and at most one of os, os_version, device, browser, country, referrer, outcome. None: one total row. |
curl -s 'https://app.jumper.to/api/stats?app=6757088042&from=2026-10-01&to=2026-10-31&group=link,channel' \
-H 'Authorization: Bearer jmp_…' Answer
rows holds one object per combination of the groups that has data, with the group values, taps and uniques. Uniques are counted per link and per day,
so over several days or links they are added up. Rows split by os, os_version, device, browser, country, referrer or outcome carry taps only ("uniques": null): those are separate counts. browser is none outside any app’s
built-in browser; outcome is where the tap went (app_store, play, fallback, app_page, badge_ios, badge_android…) plus rescue_auto, the in-app-browser page’s automatic store attempt.
{
"rows": [
{ "link": "k3Xp9aQ", "channel": "yt", "taps": 42, "uniques": 37 },
{ "link": "T7mq2Lc", "channel": "tt", "taps": 18, "uniques": 16 }
],
"from": "2026-10-01",
"to": "2026-10-31",
"generated_at": "2026-10-31T09:12:44.120Z"
} Listing apps and links
GET /api/apps: your apps with their id, name, store ids, website and number of links.GET /api/links?app=<app id, App Store id or Android package>: install links with id, slug, URL, channel, medium, campaign, content, note and status. Withoutapp, every link.
Limits and errors
- 60 requests a minute per token; over that,
429withRetry-After.X-RateLimit-Remainingsays how many are left in the minute. 401: no token, a wrong one or a revoked one.400: a bad date, range or group (themessagesays which).404: no app or link of yours matches.- Answers are never cached (
Cache-Control: no-store) and never set cookies. - Numbers are as fresh as the dashboard’s, usually a few seconds behind. Free links keep 30 days of daily numbers, paid and launch links 2 years.
Questions
What is the difference between taps and uniques?
Taps are clicks by people, bots apart. Uniques are counted per link and per day from a hash that changes every day, so a visitor who taps twice in a day counts once, and again the next day.
Why are uniques empty when I group by country or OS?
Uniques are kept per link and day only. Country, OS, browser, referrer and outcome are separate counts of taps, so they carry taps and no uniques.
How many requests can I make?
60 a minute per token. Over that the API answers 429 with a Retry-After header. Responses are never cached and never set cookies.