# spoo

> Self-hosted URL shortener with click analytics, custom domains, geo-targeting, A/B testing, and REST API with SDKs in six languages.

- **Category:** URL Shortener
- **Licence:** AGPL-3.0
- **Latest version:** v2.7.2
- **Open source:** oss
- **Languages:** JavaScript, Python
- **Platforms:** Docker, Docker Compose, Build from Source
- **Tags:** Analytics, MongoDB, Redis, API, Webhooks, Ab Testing, OAuth, Sdk, URL Shortener, Custom domains, Link Management, Open Source, Python, Fastapi, Self Hosted, Self Hosting, Url Shortener Api, Url Statistics, Leads Generation, Leads Management, Geo Targeting

## Description

spoo.me is an open-source URL shortener with integrated click analytics. It lets you create custom short codes (emoji included), add password protection, set click limits or expiration dates, block bots, tag links, run bulk operations, and shorten URLs anonymously before optionally attaching them to an account. Advanced features cover custom domains with root redirect and 404 pages, country-level geo-routing, A/B traffic splitting, scheduled link activation, fallback destinations for expired links, and custom social media previews. Analytics provide time-series data for clicks and unique visitors, breakdowns by location, browser, operating system, device type, referrer, and UTM parameters, combined multi-dimensional queries with filtering, bot detection, public or private statistics pages, and data exports in CSV, XLSX, JSON, or XML formats. For developers, there's a versioned REST API with OpenAPI documentation, scoped API keys with rate limiting, OAuth 2.0 device authorization flow with PKCE, signed webhooks with automatic retries, and official SDKs in TypeScript, Python, Go, Rust, Kotlin, and C++. The backend is built on FastAPI with MongoDB and Redis, and can be accelerated by a Cloudflare Worker for edge caching. Self-hosting options include Docker Compose (which bundles the databases), cloud platforms like Vercel, Railway, Render, and Koyeb, or a manual Python 3.10+ installation. Licensed under AGPL-3.0.

## Links

- [Homepage](https://github.com/spoo-me/spoo)
- [Website](https://spoo.me)
- [Docker](ghcr.io/spoo-me/spoo)
- [GitHub Repository](https://github.com/spoo-me/spoo)
- [Documentation](https://spoo.me/docs/introduction)
- [Discord Community](https://spoo.me/discord)
- [Twitter/X](https://x.com/spoo_me)
- [LinkedIn](https://www.linkedin.com/company/spoo-me)
- [Product Hunt](https://www.producthunt.com/products/spoo-me-url-shortener)
- [Status Page](https://status.spoo.me)

---
Source: https://selfhost.directory/project/spoo