The headless URL shortening infrastructure built for AI agents and developer workflows. Equip your LLMs with a simple, high-speed link generation skill in minutes.
We skipped the bloated dashboard so we could focus on what matters: instant latency, reliability, and seamless integration for AI and developers.
Globally distributed edge infrastructure ensures your links resolve instantly, no matter where your users are located.
No pricing tiers, no credit cards, no hidden fees. Start shortening URLs immediately at zero cost while we are in our early launch phase.
A single, elegant REST endpoint designed perfectly for LLM function calling. Pass us complex URLs and we'll hand back clean short links for your agents to share.
No bloated SDKs to maintain. Our pure REST endpoints fit seamlessly into any codebase, enabling you to build dynamic sharing links or easily equip your AI agents with a URL shortening skill.
const response = await fetch('https://api.zrl.app/api/v1/short-urls', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${process.env.ZRL_KEY}` }, body: JSON.stringify({ original_url: 'https://your-app.com/very/long/path...' }) }); const data = await response.json(); console.log(data.short_url); // => "https://zrl.app/fYolGcAs"
import os import requests headers = { "Content-Type": "application/json", "Authorization": f"Bearer {os.environ.get('ZRL_KEY')}" } payload = { "original_url": "https://your-app.com/very/long/path..." } response = requests.post( "https://api.zrl.app/api/v1/short-urls", json=payload, headers=headers ) print(response.json()["short_url"]) # => "https://zrl.app/fYolGcAs"
package main import ( "bytes" "fmt" "net/http" "os" ) func main() { url := "https://api.zrl.app/api/v1/short-urls" payload := []byte(`{"original_url":"https://your-app.com/..."}`) req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload)) req.Header.Set("Content-Type", "application/json") req.Header.Set("Authorization", "Bearer "+os.Getenv("ZRL_KEY")) client := &http.Client{} resp, _ := client.Do(req) defer resp.Body.Close() fmt.Println("Status:", resp.Status) }
--- name: short-url description: Create short links from long URLs. Use when a URL is too long for chat, sharing signed URLs, or whenever a reusable short link is preferable. --- # Short URL Skill Use this skill to shorten long URLs before sharing them in chat or reports. ## Workflow 1. Send the long URL to the short-url service. 2. Capture the returned short URL. 3. Share the short URL instead of the raw long URL. ## Command ```bash curl -X POST '[https://api.zrl.app/api/v1/short-urls](https://api.zrl.app/api/v1/short-urls)' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -d '{ "original_url": "[https://your-app.com/some/very/long/path](https://your-app.com/some/very/long/path)" }' ``` ## Output Expectations - Return the short URL cleanly. - Never echo the Bearer token in chat replies.
We are currently offering Zrl.app entirely for free. Generate unlimited short URLs without worrying about usage tiers or paywalls during this initial phase.
View Documentation