# url2.us > Developer-focused URL shortener with click analytics, QR codes, custom domains, and a full REST API. url2.us is a URL shortening service built for developers and teams. Every feature is available through both the web dashboard and the API. Links never expire (unless you set an expiry), and analytics are included on all plans — including free. ## Features - **Short Links**: Create branded short URLs with custom slugs. All links use 302 redirects for accurate click tracking. - **Click Analytics**: Real-time click tracking with geographic, device, browser, and referrer breakdowns. Privacy-first — no PII stored. - **QR Codes**: Every link gets a QR code. Customize colors, download PNG/SVG, or generate via API. - **Custom Domains**: Use your own domain for short links. Automatic TLS certificates. Setup in under 2 minutes. - **REST API**: Full CRUD API with JWT and API key authentication. Create links, retrieve analytics, generate QR codes programmatically. - **Webhooks**: Get notified on link events (click thresholds, link creation) via HTTP webhooks. - **Workspaces**: Organize links by project or client. Invite team members with role-based access. - **Data Export**: Export analytics and link data in CSV format. ## Pricing All plans include unlimited links, full analytics, and API access. Annual billing saves 20%. - **Free**: $0/mo — 5,000 events/mo, 20 req/min API, 1 seat, basic QR codes - **Starter**: $9/mo — 50,000 events/mo, 85 req/min API, 1 seat, custom domains, custom QR codes, webhooks, data export - **Pro**: $24/mo — 250,000 events/mo, 1,000 req/min API, 3 seats, custom domains, custom QR codes, webhooks, data export - **Business**: $59/mo — 1,000,000 events/mo, 2,500 req/min API, 10 seats, 3 workspaces - **Agency**: $149/mo — 5,000,000 events/mo, 10,000 req/min API, 25 seats, 10 workspaces Event pack add-ons available on paid plans: 1M events for $25/mo or 2.5M events for $50/mo. ## API Quick Start Base URL: https://url2.us Register: POST /api/auth/register Body: { "email": "...", "password": "..." } Fields: email (string, required), password (string, required) Create a short link: POST /api/links Authorization: Bearer Body: { "destinationUrl": "https://example.com" } Fields: destinationUrl (string, required), slug (string, optional), title (string, optional), tags (string[], optional), domainId (number, optional -- custom domain ID from GET /api/domains), expiresAt (string, optional -- ISO 8601) Get click analytics: GET /api/links/{id}/analytics?period=30d Authorization: Bearer Custom domain links: 1. POST /api/domains { "domain": "links.example.com" } 2. Configure DNS CNAME to the cnameTarget in the response 3. GET /api/domains/{id}/verify to confirm DNS 4. POST /api/links { "destinationUrl": "...", "domainId": 1 } Full API docs: https://url2.us/docs ## Plain-Text Endpoints These endpoints return plain text (Markdown), suitable for AI agents and CLI tools: - /api.md — Full API documentation (Markdown) - /pricing.md — Pricing details (Markdown) - /llms-full.txt — Extended site information (plain text) ## Links - Website: https://url2.us - API Documentation: https://url2.us/docs - API Explorer: https://url2.us/docs/try - Pricing: https://url2.us/pricing - FAQ: https://url2.us/faq - Status: https://url2.us/status - Contact: https://url2.us/contact