Get started
Quickstart
A key, a first call, and your numbers in a terminal in under five minutes.
#1. Make a key
Sign in and open Dashboard, then API. Give the key a name that says what it is for, so you know which one to revoke later. The key is shown once. Copy it somewhere safe; we keep only a hash and cannot show it again.
Keys come with Pro and Agency. Every other plan reads its numbers in the dashboard.
#2. Make the first call
Every request carries the key as a bearer token.
curl https://peekin.bio/api/v1/stats \
-H "Authorization: Bearer pk_live_YOUR_KEY"You get JSON back: one entry per page, this window against the previous one.
{
"window": "7d",
"generated": "2026-09-03T18:00:00.000Z",
"pages": [{
"page": "yourname.link",
"slug": "yourname",
"name": "Your Name",
"now": { "landed": 312, "tapped": 61, "crossed": 2, "social": 140 },
"previous": { "landed": 280, "tapped": 49, "crossed": 1, "social": 131 },
"countries": [{ "country": "US", "people": 120 }, { "country": "GB", "people": 88 }],
"links": [{ "label": "Members area", "kind": "paid", "taps": 61, "people": 58 }]
}]
}
#3. Read it
- landed is people who arrived on the page.
- tapped is people who tapped the paid link. Divide by landed and you have your rate, the number that matters.
- crossed is people who passed the 18+ check, if your page has one.
- social is people who tapped a social link instead of the paid one.
All four count people, not taps. One person tapping twice is one. days
can be 7, 28 or 90.
#In other languages
const r = await fetch('https://peekin.bio/api/v1/stats?days=28', {
headers: { Authorization: 'Bearer pk_live_YOUR_KEY' }
});
const { pages } = await r.json();
for (const p of pages) {
console.log(p.name, (100 * p.now.tapped / Math.max(1, p.now.landed)).toFixed(1) + '%');
}import requests
r = requests.get('https://peekin.bio/api/v1/stats', params={'days': 28},
headers={'Authorization': 'Bearer pk_live_YOUR_KEY'})
r.raise_for_status()
for p in r.json()['pages']:
rate = 100 * p['now']['tapped'] / max(1, p['now']['landed'])
print(p['name'], f"{rate:.1f}%")