- Accepts a long URL string
- Quickly returns a URL that is:
- Short
- Unique
- Redirects from resulting shortened URLs to corresponding long URL input
- Has "sane" expiration policy (for negotiable definition of "sane")
- Supports custom short URLs
- Tracks usage statistics