API Documentation
GET
/v2/stats/:shortCodeRetrieves click analytics and metadata for a specific shortened URL with API key authentication, including the original destination, total click count, timestamps, and any configured expiration or click limits.
Requires API key: This endpoint requires authentication via the
Authorization header with a Bearer token. See the Authentication page for details.Behavior equivalence: This endpoint preserves the legacy stats behavior, but requires authentication and provides higher per-key rate limits (1000 req/60s vs 10 req/60s).
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | Required | Your API key as a Bearer token in the Authorization header. Returns a 401 error if missing, invalid, or revoked. |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| shortCode | string | Required | The unique short code generated when the URL was shortened (e.g. "abc12345"). Returns a 404 error if no URL exists with this code. |
Request Examples
bash
curl -H "Authorization: Bearer your_api_key_here" \
https://api.plung.co/v2/stats/abc12345Success Response
Status: 200 OK
json
{
"shortCode": "abc12345",
"url": "https://example.com/my-very-long-url",
"clickCount": 142,
"createdAt": "2026-02-28T02:30:00.000Z",
"lastAccessed": "2026-02-28T14:22:10.000Z",
"expiresAt": "2026-03-07T02:30:00.000Z",
"maxClicks": 500
}The
lastAccessed, expiresAt, and maxClicks fields return null when the link has never been clicked, has no expiration, or has no click limit configured, respectively.Error Responses
| Status | Cause | Message |
|---|---|---|
401 | Missing API key | "API key required. Pass your key as: Authorization: Bearer <your-key>" |
401 | Invalid or inactive API key | "Invalid or inactive API key." |
404 | No URL found with this short code | "Short URL not found" |
429 | Rate limit exceeded | "Rate limit exceeded. Try again in the next minute." |