Need hundreds of links for a campaign? You have two options.

CSV upload

From the dashboard, use Bulk upload and provide a CSV of destination URLs (and optional custom back-halves and tags). Each row becomes a short link, counted against your monthly allowance.

API

Loop over the create endpoint from your own code:

for url in urls:
    requests.post(
      "https://links.esmsafrica.io/v1/links",
      headers={"Authorization": "Bearer esms_l_your_key"},
      json={"destination_url": url})

Group related links under a campaign so their analytics roll up together. See the API reference for all fields.