Track URLs

Easy, dynamic, detailed

About Shortlinks

Create any number of trackable, dynamic urls at the press of a button or via simple API to redirect users to any site or create any number of tracking pixels at will. Redirect urls will also fingerprint the user.

By default, these expire after 6 months, but this is subject to change with server availability and usage.


Hi!  I'm Leon, the creator of this small webapp. I'm a computer science student at the UW interested in full-stack development. Please check out my website and my github

Create ShortLink

Link

Shorten a link easily by simply pasting the full link's url, creating a password, or key, and optionally setting the id.

Write down your ID and Key, you can use these later to change the link's location or get information about those who used it. If you post to the endpoint again with the same key and id, it will change the link's target URL.

While the URL parameter is optional, it is recommended to be used. All shortlinks have access to all files, including /id/pixel.jpg to embed and create tracking pixels with

Response:

/create

POST or PATCH

Input:
    {
       "key": "string", (minimum length: 3)
       "id": "string", (optional)
       "url": "string" (optional)
    }
Response (200):
    {
       "status": "OK",
       "message": "Shortlink Created",
       "id": "string"
    }
Response (400): "No json in request body"
Response (400): "No key in request json"
Response (400): "Key must have 3 or more letters"

Response (403):
    "Shortlink already exists and key is incorrect"


Track ShortLink

Link

Track a ShortLink using its public ID. This will get you basic information, such as the date it was created and its expiration date, both in UTC timestamps. 

By supplying the correct key, you will also get all information from everyone who used the link, including timestamps and IP addresses.

Response:

/info/[id]

GET

Parameters (optional): ?key=string
Response (200):
    {
       "id": "string",
       "created": float (UTC timestamp),
       "expires": float (UTC timestamp),
       "log": array (optional)
    }
Response (400): "No ID Given"
Response (404): "ShortLink not created"