API
Last updated on 10 September 2025.
This is an overview of the Application Programming Interfaces (APIs) available on Nimble Links. In this document, we cover:
Base URL
The base URL to send all API requests is:
https://www.nimblelinks.com/api/v1.0
Authentication
To get started, head over to your team settings and generate an API key. A key will look something like this:
1a2b3c4d5e6f7g8h9i0j1k2l3m4n5
Every request you send to our API should include your API key as a bearer token:
Authorization: Bearer 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5
Rate Limits
 To ensure a consistent developer experience for all API users, the Nimble Links API is rate limited. Rate limits are applied on a per-team basis in unit time. If you exceed the rate limit, you will receive a 429 Too Many Requests response. 
These are the current limits that apply to all teams by default:
- 30 requests per minute
- 300 requests per hour
We may change these limits in the future to balance for demand and reliability.
For higher limits, please reach out to support@nimblelinks.com.
Link Management API
This API allows you to list, create, and delete links under your team.
List Links
Retrieve a paginated list of links.
| Parameter | Type | Description | 
|---|---|---|
| page | integer | The page number to retrieve Default: 1 | 
| limit | integer | The number of links to retrieve per page Default: 10 Maximum: 25 | 
{
  "data": [
    {
      "id": "a1b2c3e4",
      "title": null,
      "type": "short-link",
      "settings": {
        "destination": "https://example.com",
        "forward_parameters": false
      },
      "url": "https://nimble.li/a1b2c3e4",
      "created_at": "2023-11-14T13:32:55.000000Z",
      "updated_at": "2023-11-14T13:33:38.000000Z"
    },
    {
      "...": "..."
    }
  ],
  "links": {
    "first": "https://www.nimblelinks.com/api/v1.0/links?page=1",
    "last": "https://www.nimblelinks.com/api/v1.0/links?page=4",
    "prev": null,
    "next": "https://www.nimblelinks.com/api/v1.0/links?page=2"
  }
}Get Link
Retrieve a specific link.
{
  "data": {
    "id": "a1b2c3e4",
    "title": null,
    "type": "qr-code",
    "settings": {
      "destination": "https://example.com",
      "forward_parameters": false
    },
    "url": "https://nimble.li/a1b2c3e4",
    "created_at": "2023-11-14T13:31:41.000000Z",
    "updated_at": "2023-11-14T13:31:41.000000Z"
  }
}Create Link
Create a new link.
This endpoint accepts different parameters depending on the type of link you're creating.
Short Link
Shorten a long URL.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destination | string | The destination URL | 
{
  "type": "short-link",
  "destination": "https://example.com"
}Password-Protected Link
Create a link that requires a password to access.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destination | string | The destination URL | 
| password | string | The password | 
{
  "type": "password-protected-link",
  "destination": "https://example.com",
  "password": "secret"
}QR Code
Create a QR code from a URL.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destination | string | The destination URL | 
{
  "type": "qr-code",
  "destination": "https://example.com"
}Redirect Evenly
Create a link that distributes traffic evenly.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destinations | string[] | List of destination URLs | 
{
  "type": "redirect-evenly",
  "destinations": [
    "https://example.com/a",
    "https://example.com/b"
  ]
}Redirect Randomly
Create a link that distributes traffic randomly.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destinations | string[] | List of destination URLs | 
{
  "type": "redirect-randomly",
  "destinations": [
    "https://example.com/a",
    "https://example.com/b"
  ]
}Redirect by Weight
Create a link that distributes traffic using weighted randomization.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destinations | object[] | List of URLs and their corresponding weights | 
| destinations.*.url | string | The destination URL | 
| destinations.*.weight | string | The weight as an integer or a decimal number divisible by 0.5 and maximum 1 decimal point | 
{
  "type": "redirect-weight",
  "destinations": [
    {
      "url": "https://example.com/a",
      "weight": 1
    },
    {
      "url": "https://example.com/b",
      "weight": 3
    }
  ]
}Redirect by Device
Create a link that redirects users to different destinations based on their device type.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destinations | object[] | List of device types and their corresponding destination URLs | 
| destinations.*.category | enum | desktop, tablet, mobile, or fallback | 
| destinations.*.url | string | The destination URL | 
{
  "type": "redirect-device",
  "destinations": [
    {
      "category": "mobile",
      "url": "https://m.example.com"
    },
    {
      "category": "fallback",
      "url": "https://example.com"
    }
  ]
}Redirect by Operating System
Create a link that redirects users to different destinations based on their operating system.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destinations | object[] | List of operating systems and their corresponding destination URLs | 
| destinations.*.category | enum | ios, android, or fallback | 
| destinations.*.url | string | The destination URL | 
{
  "type": "redirect-operating-system",
  "destinations": [
    {
      "category": "ios",
      "url": "https://example.com/ios"
    },
    {
      "category": "fallback",
      "url": "https://example.com"
    }
  ]
}Redirect by Browser
Create a link that redirects users to different destinations based on their web browser.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destinations | object[] | List of browsers and their corresponding destination URLs | 
| destinations.*.category | enum | chrome, firefox, safari, edge, opera, or fallback | 
| destinations.*.url | string | The destination URL | 
{
  "type": "redirect-browser",
  "destinations": [
    {
      "category": "chrome",
      "url": "https://example.com/chrome"
    },
    {
      "category": "fallback",
      "url": "https://example.com"
    }
  ]
}Redirect by Country
Create a link that redirects users to different destinations based on their country.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destinations | object[] | List of countries and their corresponding destination URLs | 
| destinations.*.country | string(2) | ISO 3166-1 alpha-2 country code | 
| destinations.*.url | string | The destination URL | 
{
  "type": "redirect-country",
  "destinations": [
    {
      "country": "US",
      "url": "https://example.com/us"
    },
    {
      "country": "CA",
      "url": "https://example.com/ca"
    },
    {
      "country": "fallback",
      "url": "https://example.com"
    }
  ]
}Redirect by Language
Create a link that redirects users to different destinations based on their preferred language.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destinations | object[] | List of languages and their corresponding destination URLs | 
| destinations.*.language | string(2) | ISO 639-1 country code | 
| destinations.*.url | string | The destination URL | 
{
  "type": "redirect-language",
  "destinations": [
    {
      "country": "en",
      "url": "https://example.com/en"
    },
    {
      "country": "fr",
      "url": "https://example.com/fr"
    },
    {
      "country": "fallback",
      "url": "https://example.com"
    }
  ]
}Redirect by Click Count
Create a link that redirects users to different destinations based on the number of clicks on your link.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destinations | object[] | List of limits and their corresponding destination URLs | 
| destinations.*.limit | integer | Number of clicks allowed per destination -1 represents fallback. | 
| destinations.*.url | string | The destination URL | 
{
  "type": "redirect-click-count",
  "destinations": [
    {
      "limit": 10,
      "url": "https://example.com/super-early-bird"
    },
    {
      "limit": 90,
      "url": "https://example.com/early-bird"
    },
    {
      "limit": -1,
      "url": "https://example.com/fallback"
    }
  ]
}Redirect by Date & Time
Create a link that redirects users to different destinations based on when they click on the link.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destinations | object[] | List of datetimes and and their corresponding destination URLs | 
| destinations.*.datetime | datetime | Datetime in YYYY-MM-DDThh:mm format | 
| destinations.*.url | string | The destination URL | 
{
  "type": "redirect-date-time",
  "destinations": [
    {
      "datetime": "2023-01-15T15:12",
      "url": "https://example.com/early-bird"
    },
    {
      "datetime": -1,
      "url": "https://example.com/standard-price"
    }
  ]
}Redirect by Time
Create a link that redirects users to different destinations based on time of day.
| Parameter | Type | Description | 
|---|---|---|
| type | enum | The type of link to create | 
| title | string | An optional title for the link | 
| forward_parameters | boolean | Whether URL parameters should be forwarded to the destination Default: false | 
| destinations | object[] | List of times and and their corresponding destination URLs | 
| destinations.*.time | time | Datetime in hh:mm format | 
| destinations.*.url | string | The destination URL | 
{
  "type": "redirect-time",
  "destinations": [
    {
      "datetime": "15:00",
      "url": "https://example.com/lunch-menu"
    },
    {
      "datetime": -1,
      "url": "https://example.com/dinner-menu"
    }
  ]
}Redirect Formula
Creating links that redirect by formula is currently not supported via the API.
Delete Link
Delete a link permanently.
Get QR Code
Retrieve the QR Code files for a specific link.
{
  "data": {
    "svg": "https://www.nimblelinks.com/links/a1b2c3e4/qr/download?format=svg",
    "png": "https://www.nimblelinks.com/links/a1b2c3e4/qr/download?format=png"
  }
}Link Analytics API
The Analytics API provides endpoints for monitoring how a team's links are performing.
Link Clicks Total
Get the total number of times a link has been clicked.
{
  "value": 4812
}Link Clicks Trend
Get the daily, weekly, or monthly number of clicks on a link
| Parameter | Type | Description | 
|---|---|---|
| interval | enum | daily, weekly, or monthly | 
| start | date | In YYYY-MM-DD format | 
| end | date | In YYYY-MM-DD format | 
{
  "2023-01-01": 3,
  "2023-01-02": 0,
  "2023-01-03": 1
}