A free public instance of Libex is available at Libex
This instance is maintained by the Libex project and is free for community use. No API key required. No rate limits beyond what Audible naturally enforces.
If you rely on Libex for a project or tool, we recommend self-hosting your own instance for reliability and control.
The audiobook automation community has long depended on metadata services to power tools like Readarr, Audiobookshelf, and custom managers. When those services disappear or restrict usage, every project depending on them breaks.
Libex exists to be a permanent, community-owned alternative:
- MIT licensed — no restrictions, fork it, build on it, use it however you want
- No usage restrictions — works with any software, any workflow
- Drop-in replacement — compatible with AudiMeta's API endpoints
- Audible-first — always fetches fresh data, cache is a fallback not a crutch
- All regions — full support for all Audible markets without language restrictions
- Self-hostable — one
docker compose upand you're running
Pull the image:
# GHCR
docker pull ghcr.io/libexhq/libex:latest
# Docker Hub
docker pull sunbrolynk/libex:latestDeploy:
# 1. Create a directory
mkdir libex && cd libex
# 2. Download the compose file
curl -O https://raw.githubusercontent.com/LibexHQ/Libex/main/docker-compose.yml
# 3. Create your environment file
cp .env.example .env
# Edit .env and set DB_PASSWORD
# 4. Start Libex
docker compose up -d
# 5. Verify
curl http://localhost:3333/healthThe public instance uses Axiom for structured request logging. This is disclosed transparently.
What is logged:
- Request path and parameters (e.g. which ASIN was requested, which region)
- Response time and status
- Cache hit/miss
- Errors and exceptions
What is NOT logged:
- IP addresses
- User agents
- Any personally identifiable information
Why we log: Logging helps us understand how Libex is being used, identify broken endpoints, debug errors, and improve the service. Without visibility into what's failing, we can't fix it.
Who can see the logs: Only the instance maintainer has access to the Axiom dataset. Logs are retained for 30 days and then automatically deleted by Axiom. No logs are shared with third parties.
If you self-host:
Logging is completely optional. Leave AXIOM_TOKEN empty and Libex logs to stdout only. Nothing leaves your server.
HTML content: description and summary fields on book responses, description on author responses, and description on series responses are returned as plain text with HTML stripped.
Image URLs: Cover image URLs are returned with Audible size suffixes stripped, giving you the base high-resolution image URL.
ASIN validation: All ASIN parameters are validated against Audible's 10-character alphanumeric format. Invalid ASINs return a 404 with a clear error message.
Region validation: All region parameters are validated against supported Audible regions. Invalid regions return a 400 error.
| Method | Endpoint | Description |
|---|---|---|
| GET | /book/{asin} |
Get book by ASIN |
| GET | /book |
Get multiple books by ASIN (comma-separated, max 1000) |
| GET | /book/{asin}/chapters |
Get chapter information |
| GET | /book/sku/{sku} |
Get books by SKU group (501 - planned) |
| GET | /author/{asin} |
Get author profile |
| GET | /author/{asin}/books |
Get all books by author ASIN |
| GET | /author/books/{asin} |
Get all books by author ASIN (legacy) |
| GET | /author/books |
Get books by author name |
| GET | /author |
Search authors by name |
| GET | /series/{asin} |
Get series metadata |
| GET | /series/{asin}/books |
Get all books in a series |
| GET | /series/books/{asin} |
Get all books in a series (legacy) |
| GET | /series |
Search series by name |
| GET | /search |
Search Audible catalog |
| GET | /quick-search |
Quick search via suggestions |
| GET | /{region}/search |
Regional search for Audiobookshelf compatibility |
| GET | /{region}/quick-search/search |
Regional quick search for Audiobookshelf compatibility |
| GET | /health |
Health check |
Full interactive documentation available at /docs when running.
| Code | Region |
|---|---|
us |
United States |
uk |
United Kingdom |
ca |
Canada |
au |
Australia |
de |
Germany |
fr |
France |
it |
Italy |
es |
Spain |
jp |
Japan |
in |
India |
br |
Brazil |
Copy .env.example to .env and configure:
# Database
DB_PASSWORD=your_secure_password
DATABASE_URL=postgresql+asyncpg://libex:your_secure_password@postgres:5432/libex
# Cache TTL in seconds (default 24 hours)
CACHE_TTL=86400
# Default region
DEFAULT_REGION=us
# Axiom logging (optional - leave empty to use stdout only)
AXIOM_TOKEN=
AXIOM_DATASET=libexLibex is API-compatible with AudiMeta. To migrate:
- Deploy Libex using the quick start above
- Update your base URL from your AudiMeta instance to your Libex instance
- That's it — no other changes required
- Libex uses PostgreSQL for caching — no Redis required
- Cache entries expire after
CACHE_TTLseconds (default 24 hours) - Expired entries are purged automatically
- Data directory:
./data(relative to your compose file) - Logs directory:
./logs
Contributions are welcome. Fork it, improve it, open a PR.
Planned features:
- Normalized book/author/series database for community dataset
- Request analytics
- Additional metadata sources
Libex is a metadata tool that fetches publicly available information from Audible's API. It does not host, distribute, or provide access to copyrighted audio content. Users are responsible for ensuring their use complies with applicable laws and Audible's terms of service.
Audible — All metadata is sourced from Audible's public API. Libex is an independent project and is not affiliated with, endorsed by, or sponsored by Audible or Amazon.
Axiom — Structured logging for the public instance. Axiom provides the observability layer that helps us monitor and improve Libex.
AudiMeta — The original Audible metadata service that inspired Libex and demonstrated the community need for this tooling. Credit to Vito0912 for pioneering this space.
FastAPI — The modern Python web framework powering Libex.
SQLAlchemy — Database toolkit for Python used for cache persistence.
MIT — see LICENSE for details.