TinyVag API
Reduce unwieldy URLs to compact, shareable links — and measure how they perform. Whether you're self-conscious about your link length or just want to track your performance metrics, TinyVag has you covered. No judgment. Just results.
What You Can Build
- Custom URL shorteners — help your users feel better about their link length
- Rich social sharing cards with branded OG images — visual enhancement for any link
- Embeddable content previews — slide your content into any page
- Performance analytics dashboards — hard numbers on how your links measure up
Live Demo
See what you can build with the TinyVag API.
Quickstart
Shorten a link in one request. Takes your full-length URL and makes it compact.
Shorten a URL
# Make it tiny curl -X POST https://api.vagibond.com/share \ -H "Content-Type: application/json" \ -d '{ "app": "tiny", "type": "redirect", "url": "https://example.com/very/long/url?with=params&that=goes&on=and&on=forever" }'
Response
{
"id": "abc123",
"url": "https://vagibond.com/s/abc123"
}
That's it. Your link is now 6 characters. Is 6 enough? Trust us — it's plenty.
Authentication
Include your API key in the X-TinyVag-Key header with every request.
curl -H "X-TinyVag-Key: your-api-key" \
https://api.vagibond.com/share
Rate Limits
| Tier | Rate Limit | Notes |
|---|---|---|
Free | 100/min | Enough for most people |
Pro | 1,000/min | For heavy users |
Enterprise | Unlimited | Go as hard as you want |
Create Link
Create a new TinyVag link. Takes your full-length URL and makes it compact.
/api/share
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
app | string | Yes | Source application identifier |
type | string | Yes | Content type: redirect, grunt, article, song, job, campaign, profile, paystub, verse |
url | string | For redirect | Target URL to shorten |
title | string | No | Content title (articles, songs) |
excerpt | string | No | Preview text |
Example: URL Redirect
const response = await fetch('https://api.vagibond.com/share', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ app: 'tiny', type: 'redirect', url: 'https://example.com/embarrassingly-long-url-that-you-dont-want-anyone-to-see' }) }); const { id, url } = await response.json(); console.log(`Your tiny link: ${url}`); // → Your tiny link: https://vagibond.com/s/abc123
Rich Card Types
Create links with enhanced visual presentation. Rich cards render custom previews instead of redirecting — making your tiny link look impressive.
| Type | Source App | Description |
|---|---|---|
redirect | Any | 302 redirect to target URL |
grunt | Gutter | Social post card |
ad | Gutter | Sponsored post card |
article | Mid | Article summary card |
song | BeatKids | Music card with player |
job | Backdoor | Job listing card |
campaign | EnableMe | Crowdfunding campaign card |
profile | Vagify | Verification profile card |
paystub | Intranet | Pay stub card (deterministic) |
verse | Church of the U.N.T. | Scripture card |
Example: Grunt Card
{
"app": "gutter",
"type": "grunt",
"profile": {
"name": "DumpsterDave",
"handle": "dave",
"avatar": "https://cdn.vagibond.com/..."
},
"text": "Just found a whole pizza in the recycling. Today is a good day.",
"sentiment": "positive"
}
Get Link
Retrieve metadata for an existing link. See full details about your link's dimensions and performance.
/api/share/{id}
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | 6-character link ID |
curl https://api.vagibond.com/share/abc123
Get Preview Image
Get the OG preview image for a link. Returns a PNG. Because looks matter.
/api/og?id={id}
<!-- Embed a preview image --> <img src="https://api.vagibond.com/og?id=abc123" alt="Link preview" />
Get Stats Coming Soon
Get performance analytics for a link. Know exactly how you're doing.
/api/share/{id}/stats
Planned response fields:
| Field | Type | Description |
|---|---|---|
clicks | number | Total click count |
uniqueClicks | number | Unique visitors |
lastClickedAt | number | Unix timestamp of last click |
referrers | object | Click sources by referrer |
JavaScript SDK
The fastest way to integrate TinyVag. One script tag, one function call.
<!-- Load the SDK --> <script src="https://vagibond.com/lib/vagibond-share.js"></script> <script> // Shorten a link in one quick call VagibondShare.open({ app: 'tiny', type: 'redirect', url: 'https://example.com/embarrassingly-long-url' }); </script>
The SDK opens a themed share modal, creates the link via the API, and provides copy/share options — all in one call. Fits anywhere, every time.
Other Languages
| Language | Package | Status |
|---|---|---|
| JavaScript | vagibond-share.js | Fully functional |
| Python | pip install tiny | Coming soon |
| Ruby | gem install tiny | Working on it |
| Go | go get tiny | Aspirational |
| cURL | Just use cURL | Always performs |
Pricing
Plans for every size.
| Free | Pro | Enterprise | |
|---|---|---|---|
| Links/month | 100 | 10,000 | Unlimited |
| Rich Cards | Redirect only | All types | All types |
| OG Images | Standard | Enhanced | Premium |
| Analytics | Did anyone click? | Full dashboard | Custom reports |
| TTL | 90 days | 90 days | Custom |
| Support | Community (Gutter) | Email (3-5 days) | Dedicated (Dusty) |
| Rate Limit | 100/min | 1,000/min | Unlimited |