Create Short Dynamic Links Programmatically

You can create short Dynamic Links with the Firebase Dynamic Links REST API. This API accepts either a long Dynamic Link or an object containing Dynamic Link parameters, and returns a URL like the following example:

https://abc123.app.goo.gl/WXYZ

Before you begin

Get your API key. You will need an API key to authenticate your requests to the API. To find your API key:

  1. Open the Settings page of the Firebase console. If you are prompted to choose a project, select your Firebase project from the menu.
  2. Take note of the value of the Web API Key field.

You can use the Firebase Dynamic Links API to shorten a long Dynamic Link. To do so, make an HTTP POST request to the shortLinks endpoint, specifying the long Dynamic Link in the longDynamicLink parameter. For example:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
   "longDynamicLink": "https://abc123.app.goo.gl/?link=https://example.com/&apn;=com.example.android&ibi;=com.example.ios"
}

See Create a Dynamic Link programmatically to learn how to create long Dynamic Links.

You can also create a short Dynamic Link by specifying the Dynamic Link parameters directly. To do so, make an HTTP POST request to the shortLinks endpoint, specifying the Dynamic Link parameters in the dynamicLinkInfo parameter. For example:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
  "dynamicLinkInfo": {
    "dynamicLinkDomain": "abc123.app.goo.gl",
    "link": "https://example.com/",
    "androidInfo": {
      {
        "androidPackageName": "com.example.android"
      }
    },
    "iosInfo": {
      {
        "iosBundleId": "com.example.ios"
      }
    }
  }
}

For a complete specification of the dynamicLinkInfo object, see the API reference.

Set the length of a short Dynamic Link

You can also set the suffix parameter to specify how the path component of the short Dynamic Link is generated.

By default, or if you set the parameter to "UNGUESSABLE", the path component will be a 17-character string, such as in the following example:

https://abc123.app.goo.gl/UVWXYZuvwxyz12345

Such strings are created by base62-encoding randomly generated 96-bit numbers. Use this setting to prevent your Dynamic Links URLs from being guessed and crawled, which can potentially expose sensitive information to unintended recipients.

If you set the parameter to "SHORT", the path component will be a string that is only as long as needed to be unique, with a minimum length of 4 characters.

https://abc123.app.goo.gl/WXYZ

Use this method if sensitive information would not be exposed if a short Dynamic Link URL were guessed.

The following example shows how you can set the suffix parameter:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
   "longDynamicLink": "https://abc123.app.goo.gl/?link=http://example.com/&apn;=com.example.android&ibi;=com.example.ios",
   "suffix": { "option": "UNGUESSABLE" }
}

Send feedback about...

Need help? Visit our support page.