API First • Agent-ready short URL

Short links built for apps, automations, and agents.

Zrl.app gives you an API First short URL service with a contract that fits cleanly into backend code, workflow tools, and LLM actions. Send a long URL, get a short URL back, and move on.

Simple bearer-auth HTTP API Works in product code and agent tools Fast onboarding via portal.zrl.app
bash ~ curl
$ curl --location 'https://api.zrl.app/api/v1/short-urls' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --data '{
    "original_url": "https://your-app.com/reports/april-summary?token=xyz123abc"
  }'

# Response
{
  "short_id": "fYolGcAs",
  "original_url": "https://your-app.com/reports/april-summary?token=xyz123abc",
  "short_url": "https://zrl.app/fYolGcAs",
  "created_at": "2026-04-05T07:08:56.326888Z"
}
Why teams pick Zrl.app

API First by default. Clean enough for humans, predictable enough for agents.

Zrl.app keeps the value prop narrow on purpose: one reliable endpoint for creating short URLs without dashboard-heavy friction.

Product fit

Agent-ready short URL flow

Designed for report delivery, chat replies, signed links, and tool-calling workflows where an agent needs a safe shareable URL.

Integration

HTTP in, short link out

No SDK lock-in. Use fetch, requests, Go net/http, Java HttpClient, or any internal tool runner that can speak JSON over HTTP.

Onboarding

CTA focused for fast start

The page keeps one primary action—get the API key—while examples and docs stay visible enough for quick evaluation.

Document

Drop Zrl.app into your stack in a few minutes.

Keep the integration lightweight: issue an API key, call one endpoint, and return the resulting short URL to your UI, your backend jobs, or your agent runtime.

  • Simple HTTP API for apps, scripts, and agent tools
  • Examples for Node.js, Python, Go, Java, and Tool.md-style agent docs
  • Aligned with AI tool calling, internal automation, and report sharing workflows
Examples

Request examples

const response = await fetch('https://api.zrl.app/api/v1/short-urls', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: JSON.stringify({
    original_url: 'https://example.com/reports/april-summary'
  })
});

const data = await response.json();
console.log(data.short_url);
Start fast

Get your key and ship the integration.

Keep the path short: open portal.zrl.app, issue a key, copy a request example, and wire Zrl.app into your workflow.