Docs

Everything you need to know.

A complete reference for bah.is — from first link to API integration.

Getting started

Up and running in minutes.

Create an account

Sign in with Google, Apple, or GitHub. No credit card required. 100 free links.

Shorten your first link

Paste any URL, click "Shorten". Your bah.is/xxxxx link is ready instantly.

View analytics

Click any link in your dashboard to see clicks, countries, devices, and referrers in real time.

Download a QR code

Every link gets an SVG QR code. Download from the link detail page — ready for print or digital.

Feature guides

Link Shortening

Creating a link

Paste any URL into the input field on the homepage or your dashboard. Click "Shorten" — your short link is created instantly.

Custom slugs

Want bah.is/my-brand instead of a random code? Type your preferred slug when creating a link. Slugs can use letters, numbers, hyphens, and underscores (2–50 characters).

Editing a link

Open any link in your dashboard, click "Edit", and change the destination URL or title. The short link stays the same — no need to reshare.

Deleting a link

Click the trash icon on any link in your dashboard. Deleted links return a 404 page. This action cannot be undone.

QR Codes

Auto-generated

Every short link you create automatically gets a QR code. No extra steps needed.

Downloading

Go to any link's detail page in your dashboard and click "Download QR". The file is an SVG — it scales to any size without losing quality.

Best practices

Use short slugs for cleaner QR codes. Always test on a real phone before printing. Add a call to action next to the code.

Tracking scans

Every QR code scan counts as a click on your short link. You get the same analytics for scans as for regular clicks.

Analytics

Overview dashboard

Your dashboard shows total clicks, unique visitors, top-performing links, and a click trend chart at a glance.

Per-link analytics

Click any link to see its detailed stats — clicks over time, country breakdown, device split, top referrers, and browser data.

Real-time feed

Pro users see a live feed of clicks as they happen — useful during campaigns, product launches, or social media pushes.

Exporting data

Pro users can export analytics as CSV or JSON from the dashboard. Use this for reporting, custom analysis, or feeding data into other tools.

Privacy

We hash IP addresses with a daily rotating salt and never store raw IPs. No cookies are set during redirects.

Custom Domains

What it is

Use your own domain (like go.yourco.com) instead of bah.is for your short links. Available on Pro plan.

Setup

1. Go to Settings → Domains. 2. Add your domain. 3. Add the CNAME record to your DNS. 4. Wait for verification (usually under an hour).

After setup

New links default to your custom domain. Existing bah.is links stay as they are. You can switch between domains per link.

Frequently asked questions

Common questions about bah.is, plans, privacy, and more.

View FAQ →

Integrations

Use bah.is with the tools you already use.

Slack

Build a Slack bot that automatically shortens every URL posted in a channel. Paste a URL, get a short link reply in the thread.

JavaScript
const res = await fetch(
  'https://api.bah.is/v1/links',
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ url }),
  }
);
const { data } = await res.json();
// data.shortUrl → bah.is/xxxxx

Full tutorial: Building a Slack bot with the bah.is API

Zapier & Make

Connect bah.is to 5,000+ apps. Auto-shorten links from your CRM, email tool, or spreadsheet whenever a new entry is added.

Setup:

  1. Create a "Webhooks by Zapier" action
  2. Set method to POST, URL to api.bah.is/v1/links
  3. Add your API key as a Bearer token header
  4. Map the URL field from your trigger

WordPress & CMS

Auto-shorten every new blog post URL when it's published. Use our API in a publish hook to generate short links for social sharing.

Python
import requests

resp = requests.post(
  'https://api.bah.is/v1/links',
  headers={
    'Authorization': f'Bearer {KEY}',
    'Content-Type': 'application/json',
  },
  json={
    'url': post_url,
    'slug': post_slug,
  }
)
short = resp.json()['data']['shortUrl']

API Documentation

Full interactive reference with 22 endpoints — test requests live, see responses, copy code snippets.

Open API Docs — api.bah.is/docs

Can't find what you're looking for?

Contact us →