1. Prerequisites#
To follow this guide, you will need to:
2. Install and initialize the Dub Python SDK#
Install#
To install the Dub Python SDK, run the following command:
Initialize#
Initialize the Dub Python SDK by creating a new instance of the Dub class.
3. Create link#
Let's create a short link using the Dub Python SDK.
Full list of available attributes for the Link model
The destination URL of the short link.
The domain of the short link. If not provided, the primary domain for the
workspace will be used (or dub.sh if the workspace has no domains).
The short link slug. If not provided, a random 7-character slug will be generated.
The length of the short link slug. Defaults to 7 if not provided. When used
with prefix, the total length of the key will be prefix.length + keyLength.
The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
The ID of the program the short link is associated with.
The ID of the partner the short link is associated with.
The unique ID of an existing folder to assign the short link to.
The prefix of the short link slug for randomly-generated keys (e.g. if prefix
is /c/, generated keys will be in the /c/:key format). Will be ignored if
key is provided.
Whether to track conversions for the short link. Defaults to false if not
provided.
Default: false
The identifier of the short link that is unique across your workspace. If set, it can be used to identify your short link for client-side click tracking.
Whether the short link is archived. Defaults to false if not provided.
Default: false
Deprecated: Use dashboard instead. Whether the short link's stats are
publicly accessible. Defaults to false if not provided.
Default: false
The unique IDs of the tags assigned to the short link.
The unique name of the tags assigned to the short link (case insensitive).
The comments for the short link.
The date and time when the short link will expire at.
The URL to redirect to when the short link has expired.
The password required to access the destination URL of the short link.
Whether the short link uses Custom Link Previews feature. Defaults to false
if not provided.
Default: false
The custom link preview title (og:title). Will be used for Custom Link
Previews if proxy is true. Learn more: https://d.to/og
The custom link preview description (og:description). Will be used for Custom
Link Previews if proxy is true. Learn more: https://d.to/og
The custom link preview image (og:image). Will be used for Custom Link
Previews if proxy is true. Learn more: https://d.to/og
The custom link preview video (og:video). Will be used for Custom Link
Previews if proxy is true. Learn more: https://d.to/og
Whether the short link uses link cloaking. Defaults to false if not
provided.
Default: false
The iOS destination URL for the short link for iOS device targeting.
The Android destination URL for the short link for Android device targeting.
Geographic targeting for the short link. Allows you to redirect users based on their location.
Allow search engines to index your short link. Defaults to false if not
provided. Learn more: https://d.to/noindex
Default: false
The UTM source of the short link. If set, this will populate or override the UTM source in the destination URL.
The UTM medium of the short link. If set, this will populate or override the UTM medium in the destination URL.
The UTM campaign of the short link. If set, this will populate or override the UTM campaign in the destination URL.
The UTM term of the short link. If set, this will populate or override the UTM term in the destination URL.
The UTM content of the short link. If set, this will populate or override the UTM content in the destination URL.
The referral tag of the short link. If set, this will populate or override the
ref query parameter in the destination URL.
An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
An array of A/B test URLs and the percentage of traffic to send to each URL. Requires 2-4 variants with percentages between 10-90.
The date and time when the tests started.
The date and time when the tests were or will be completed.
Deprecated: Use tagIds instead. The unique ID of the tag assigned to the
short link.
Optionally, you can also pass an externalId field which is a unique identifier for the link in your own database to associate it with the link in Dub's system.
This will let you easily update the link or retrieve analytics for it later on using the externalId instead of the Dub linkId.
4. Upsert link#
Dub Python SDK provides a method to upsert a link – where an existing link is updated if it exists, or a new link is created if it doesn't. so you don't have to worry about checking if the link already exists.
This way, you won't have to worry about checking if the link already exists when you're creating it.
5. Update link#
Let's update an existing link using the Dub Python SDK.
You can do that in two ways:
- Using the link's
linkIdin Dub's system. - Using the link's
externalIdin your own database (prefixed withext_).
6. Retrieve analytics for link#
Dub allows you to retrieve analytics for a link using the Dub Python SDK.
Similarly, you can retrieve analytics for a link using the externalId field.