All systems operational

Short links,
big insights

A distributed URL shortener built for teams who need more than just redirects. Real-time analytics, API access, and infrastructure you can rely on.

Pico — URL shortener illustration
5.2K
Links shortened
99.97%
Uptime
142K
API requests (24h)
342
Active users

— Features

Everything you need to manage links at scale

Real-time analytics

Track clicks, devices, browsers, countries, and referrers in real time. Every redirect is counted and available within seconds.

12.4K
Clicks
34
Countries
8
Devices
Clicks / day+23%
Mon
Tue
Wed
Thu
Fri
Top:
🇮🇳34%
🇺🇸28%
🇬🇧15%

API-first platform

Create, update, and delete links programmatically. Generate API keys from the dashboard and integrate Pico into your workflow in minutes.

pico-api — bash
$auth login --key pk_pico_xxxx
→ Verified. Welcome, dev.
$POST/links
Create short link
$GET/links/abc123
Get link details
$GET/links/abc123/analytics
Fetch stats
$DELETE/links/abc123
Remove link
$GET/analytics/top
→ { "clicks": 12432, "top_url": "..." }

Built for speed

Cache-aside architecture with Redis, async click recording with Celery, and Snowflake IDs for distributed, ordered link generation.

P95 redirect latency<8ms
Pico
Cache hit rate94%
Pico
API response time~45ms
Pico
Throughput2.4K req/s
Pico
Redis
cache
RabbitMQ
queue
PostgreSQL
storage
Celery
workers

— API

Programmatic link management

Every dashboard feature is available through our REST API. Generate an API key from your settings and start building.

Authentication

All API requests require a Bearer token in the Authorization header. Include your API key in every request.

Authorization: Bearer pk_pico_xxxxx
curl
# Shorten a link
curl -X POST https://pico-ya5y.onrender.com/v1/links \
  -H "Authorization: Bearer pk_pico_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/long-article"}'
Response 201
{
  "id": "abc123xyz",
  "short_code": "qrV8k",
  "long_url": "https://example.com/long-article",
  "click_count": 0,
  "created_at": "2026-06-28T12:00:00Z"
}
pyhttpx
import httpx

resp = httpx.post("https://pico-ya5y.onrender.com/v1/links",
    headers={"Authorization": "Bearer pk_pico_xxxxx"},
    json={"url": "https://example.com/long-article"},
)
data = resp.json()
print(data["short_code"])
# -> "qrV8k"
jsfetch
const resp = await fetch(
  "https://pico-ya5y.onrender.com/v1/links",
  {
    method: "POST",
    headers: {
      Authorization: "Bearer pk_pico_xxxxx",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ url }),
  }
);
const { short_code } = await resp.json();

Endpoints

POST/v1/links
GET/v1/links
GET/v1/links/:id
DELETE/v1/links/:id
GET/v1/analytics/:id
GET/v1/analytics/summary

Rate limits

Link creation10 / minute
API requests100 / minute
Redirects (by IP)100 / minute

Need higher limits?Upgrade your plan

Ready to integrate?

Full API reference in our docs.

— Docs

Everything you need to integrate

From getting started to API reference, our docs have you covered.

— Pricing

Simple, transparent pricing

Start free, upgrade when you need more. No hidden fees.

Hobby

Free

Perfect for personal projects and experimenting.

  • 100 links/month
  • 1,000 redirects/month
  • Basic analytics
  • 7-day data retention
Most popular

Pro

$12/month

For developers and small teams who mean business.

  • 10,000 links/month
  • 100,000 redirects/month
  • Real-time analytics
  • 90-day data retention
  • API access (1,000 req/min)
  • Custom short codes

Enterprise

Custom

For organizations that need scale, compliance, and SLAs.

  • Unlimited links
  • Unlimited redirects
  • Advanced analytics & exports
  • Unlimited data retention
  • Dedicated support
  • SSO & audit logs
  • 99.99% SLA

— Contact

Get in touch

Questions, feedback, or just want to say hi.

Ready to simplify your links?

Start shortening links in seconds. No credit card required.