FREE · no Google Ads

Paste long URL.
Get short link free. With analytics.

On lnkgo.app or your custom domain — with geo, clicks, and referrers. curl, npm CLI, or your agent.

Analytics included
Demo preview ✓ Ready · tag: social

https://lnkgo.app/demo01

142 clicks · US 38% · DE 21% · mobile 64% · t.co

Track which posts and regions drive traffic.

Get API key (free) →
Show CLI workflow

Sample analytics for demo only. Open playground →

Works with
Learn more →
Lnkgo × Grok Bot

Bots report traffic, not post counts.

Short links for Grok Bot workflows.

  • Walk through free email verification and store LNKGO_API_KEY securely.
  • Create tracked short links with POST /v1/links and return a paste-ready short_url.
  • After a post goes live, report clicks, recent trend, and top referrers — traffic KPIs, not just publish confirmations.
  • Swap raw URLs in X post drafts before you publish.
  • Send a daily or weekly digest for active campaign links: clicks, best day, top referrer.
  • Optional tags and a verified custom domain instead of lnkgo.app.
Get API key →

5 minute quickstart

Install the CLI, verify your email, and create the first tracked link on the default lnkgo.app domain. You do not pass a domain unless you are using your own verified custom domain.

1

Install and request email code

npm install -g lnkgo
export LNKGO_EMAIL="<your-email>"

lnkgo init --email "$LNKGO_EMAIL"
2

Verify code and store key

export LNKGO_VERIFICATION_CODE="<email-code>"
export LNKGO_API_KEY="$(
  lnkgo init --email "$LNKGO_EMAIL" --code "$LNKGO_VERIFICATION_CODE" \
    | jq -r '.api_key'
)"
3

Create the first link and keep both handles

CREATE_RESULT="$(lnkgo create \
  --url https://example.com/launch \
  --tag product-hunt)"

SHORT_URL="$(printf '%s' "$CREATE_RESULT" | jq -r '.short_url')"
LINK_ID="$(printf '%s' "$CREATE_RESULT" | jq -r '.id')"

printf 'Public short URL: %s\n' "$SHORT_URL"
4

Fetch QR and analytics

# QR and analytics use the internal link id, not the public slug.
lnkgo qr "$LINK_ID" --output lnkgo-qr.png

lnkgo analytics "$LINK_ID" \
  --from '2026-06-01' \
  --to '2026-06-11'

lnkgo analytics "$LINK_ID" \
  --from '2026-06-01' \
  --to '2026-06-11' \
  --csv > report.csv

Demos

Watch the same product surface from three entry points: REST API, npm CLI, and an installed agent skill.

Use cases

Pick a workflow, copy an agent prompt, or install the Lnkgo skill and tell your IDE agent what to do. Optional API key stays in your browser for cURL snippets only.

API playground

Preview CLI and cURL for create link, analytics, and QR. Copy-only in v2.0 — no live API calls from the browser yet.

CLI preview
cURL preview

Your API key (optional)

Stored only in this browser (localStorage). Never sent to lnkgo.app servers.

CLI
Agent prompt

Copy into Codex, Claude Code, or Cursor. Does not include your API key.

Prompt

What you can do

Default links on lnkgo.app
Custom domains after DNS proof
PNG QR codes for print and offline flows
Agent skills for Codex, Claude, Cursor, and other IDEs
Safe retries through idempotent creates
Analytics response example

This is the shape returned by `lnkgo analytics` and `GET /v1/links/{link_id}/analytics`. Use `short_url` publicly; use `link_id` for Control API commands.

{
  "link_id": "lnk_your_created_link_id",
  "short_url": "https://lnkgo.app/your-slug",
  "slug": "your-slug",
  "clicks_total": 184,
  "clicks_non_bot": 159,
  "clicks_bot": 25,
  "top_referrers": [
    { "referrer": "producthunt.com", "visits": 82 },
    { "referrer": "news.ycombinator.com", "visits": 31 }
  ],
  "top_countries": [
    { "country": "US", "visits": 96 },
    { "country": "DE", "visits": 18 }
  ],
  "timeseries": [
    { "date": "2026-06-09", "visits": 44 },
    { "date": "2026-06-10", "visits": 72 },
    { "date": "2026-06-11", "visits": 68 }
  ],
  "truncated": false
}

Install the agent skill

npx --yes skills add citedy/lnkgo --skill lnkgo -a codex -g -y
npx --yes skills add citedy/lnkgo --skill lnkgo -a claude-code -g -y
npx --yes skills add citedy/lnkgo --skill lnkgo -a cursor -g -y

# Fallback bundled with the npm CLI:
npx --yes lnkgo skill install --target codex
npx --yes lnkgo skill install --target claude
npx --yes lnkgo skill install --target cursor
npx --yes lnkgo skill install --target project

Custom domain

Use lnkgo.app immediately, then add your own domain when you want branded links for emails, campaigns, support flows, or agent-created outbound URLs.

curl -sS -X POST "https://api.lnkgo.app/v1/domains" \
  -H "Authorization: Bearer $LNKGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"links.example.com"}'

# Add the returned DNS records:
# CNAME links.example.com -> edge.lnkgo.app
# TXT _lnkgo.links.example.com -> lnkgo-verify=...

lnkgo domain status links.example.com

lnkgo create \
  --url https://example.com/pricing \
  --domain links.example.com \
  --tag pricing

Compare

Email verification starts small. DNS proof unlocks the real launch offer: 10 custom domains and 10,000 API-created links, without starting from a marketer dashboard. Click to expand
Capability Lnkgo Short.io Dub Bitly Rebrandly
Free custom domains 10 unlocked by DNS proof 5 on Free 3 on Free Paid Growth plan 1 on Free
Launch free usage 10K API-created links/mo after DNS proof 1K API/bulk links Free link quota not listed; 60 API/min 5 links/mo 10 links/mo; 100 API/min
Launch free analytics 14-day click analytics after DNS proof Detailed stats for first 50K clicks/mo 1K tracked clicks/mo No data history on Free Detailed data on 100 clicks/mo
Workflow CLI, REST API, and agent skill first Dashboard plus API Dashboard plus SDK/API Dashboard-led campaigns Dashboard plus API
Agent safety Idempotent creates and domain status commands API available; dashboard remains primary SDK/API available; app remains primary API exists; campaign UX remains primary API available; branded-link dashboard remains primary
Best for Developers and agents needing generous free automation Teams that want a mature dashboard Partner/referral teams using SDKs and APIs Large teams already on Bitly Teams buying a branded-link suite

Pricing

Starter - Free

Email-verified starter limits are intentionally small before DNS proof: 100 links/month, 10 creates/hour, 1,000 API calls/month, and 1-day analytics. Prove DNS ownership to unlock the launch offer below.

Launch domain verified - Free launch offer

DNS ownership proof unlocks 10 custom domains, 10,000 links/month, 1,000 links/domain/month, 50,000 API calls/month, and 14-day analytics.