Shorten & Customize Links
Types of short links
There are four types of short links that can be created in Bitly. The more customized the link, the more parameters you'll need to pass through in the call.
Both the domain and the back-half of a short link can be customized to some extent, depending on your subscription plan.
Custom link (sometimes "custom branded link")
https://yourdomain.co/newsupdate
A custom domain and a customized back-half
Branded link
https://yourdomain.co/5x4tprm
A custom domain, but no customized back-half
Short link with a custom back-half
https://bit.ly/newsupdate
Bitly's generic domain, with a customized back-half
Bitly short link
https://bit.ly/2dt1pnm_
Bitly's generic domain, no customized back-half
Creating Bitly short links
The most basic call to shorten a link is using the POST method to the /v4/shorten endpoint. There is only one customization available through this call, and that's using your custom domain. If a custom domain is not specified, the resulting short link will default to bit.ly.
POST /v4/shorten
{
"group_guid": "Ba1bc23dE4F",
"domain": "bit.ly",
"long_url": "https://dev.bitly.com"
}
A successful response will return the shortened link in the link object.
{
"references": {
"property1": "string",
"property2": "string"
},
"archived": true,
"tags": [
"string"
],
"created_at": "string",
"title": "string",
"deeplinks": [
{
"bitlink": "string",
"install_url": "string",
"created": "string",
"app_uri_path": "string",
"modified": "string",
"install_type": "string",
"app_guid": "string",
"guid": "string",
"os": "string",
"brand_guid": "string"
}
],
"created_by": "string",
"long_url": "string",
"client_id": "string",
"custom_bitlinks": [
"string"
],
"link": "string",
"id": "string"
}
Creating custom links
Customizing links can stretch beyond simply using a custom domain. These more complex customizations use the POST method to the /bitlinks endpoint.
To customize a short link, you'll need to provide more fields in the request body. Additionally, you can extend the power of the link through other parameters. To customize the back-half of a link, you'll perform an additional PATCH call.
PATCH /v4/custom_bitlinks/{custom_bitlink}
domain
Customizing the domain requires that you have a custom domain attached to your Bitly account.
The default value is bit.ly.
title
A short description that appears in the Bitly UI.
group_guid
Identifies a group of users in your account. Every user will belong to at least one group within an organization. Most actions on our API will be on behalf of a group. Always verify your default group in Bitly and specify a group in the call.
long_url The URL that will be shortened.
Include the necessary parameters to create the type of link.
POST /v4/bitlinks
{
"domain": "bit.ly",
"title": "Bitly API Documentation",
"group_guid": "Ba1bc23dE4F",
"long_url": "https://dev.bitly.com"
}
A successful response will return the shortened link in the link object.
{
"references": [
"object"
],
"link": "string",
"id": "string",
"long_url": "string",
"title": "string",
"archived": "boolean",
"created_at": "string",
"created_by": "string",
"client_id": "string",
"custom_bitlinks": [
"string"
],
"tags": [
"string"
],
"deeplinks": {
"guid": "string",
"bitlink": "string",
"app_uri_path": "string",
"install_url": "string",
"app_guid": "string",
"os": "string",
"install_type": "string",
"created": "string",
"modified": "string",
"brand_guid": "string"
}
}
Retrieve Bitlink
Metadata for an existing short link can be retrieved using a GET call.
GET /v4/bitlinks/{bitlink}
bitlink
The bitlink to retrieve information for.
Eg: bit.ly/Gzmskv
Include the necessary parameters to create the type of link.
GET /v4/bitlinks/bit.ly/Gzmskv
A successful response will return the metadata associated with the short link.
{
"references": [
"object"
],
"link": "string",
"id": "string",
"long_url": "string",
"title": "string",
"archived": "boolean",
"created_at": "string",
"created_by": "string",
"client_id": "string",
"custom_bitlinks": [
"string"
],
"tags": [
"string"
],
"deeplinks": {
"guid": "string",
"bitlink": "string",
"app_uri_path": "string",
"install_url": "string",
"app_guid": "string",
"os": "string",
"install_type": "string",
"created": "string",
"modified": "string",
"brand_guid": "string"
}
}
The field custom_bitlinks
returns the history of edited backhalfs associated with the short link.
Example response:
{
"created_at": "2022-05-17T02:45:02+0000",
"id": "bitly.org/GzmKSE",
"link": "https://bitly.org/GzmKSE",
"custom_bitlinks": [
"https://bitly.org/GzmKSs",
"https://bitly.org/customized1",
"https://bitly.org/customized2",
"https://bitly.org/customized3"
],
"long_url": "http://anotherlink1111.com/",
"archived": false,
"created_by": "xxx",
"client_id": "xxx",
"tags": [],
"deeplinks": [],
"has_override": true,
"references": {
"group": "https://api-ssl.bitly.org/v4/groups/xxx",
"overrides": "https://api-ssl.bitly.org/v4/bitlinks/bitly.org/GzmKSE/overrides"
}
}
Delete Bitlink
An unedited short link can be deleted using a DELETE call. An unedited short link refers to bitlinks that have not had its back-half customized or have not had its destination long URL changed.
DELETE /v4/bitlinks/{bitlink}
bitlink
The bitlink to be deleted.
Eg: bit.ly/Gzmskv
Include the necessary parameters to delete the hash link.
DELETE /v4/bitlinks/bit.ly/Gzmskv
A successful response will return the link that was deleted.
{
"links_deleted": [
{
"id": "string"
}
]
}
For the full list of endpoints and available parameters, view our API reference.