Settings

Manage your SubTrackr preferences and data

Appearance

Personalize your SubTrackr experience with beautiful themes

Language

Choose the language for the interface.

Export Data

Download your subscription data in various formats

Base URL

Set the external URL for your SubTrackr instance. Used for iCal subscription links and password reset emails. If left blank, iCal links are detected from the request, and reset emails contain only a path to open on your SubTrackr address.

Calendar Subscription

Enable a subscribable iCal URL that calendar apps can poll for live updates

iCal Subscription

Allow calendar apps to subscribe to your renewal dates

Add this URL as a "Subscribe to Calendar" in your calendar app (Google Calendar, Apple Calendar, Outlook, etc.)

Data Management

Backup Data

Create a backup of all your subscription data

Create Backup

Restore Backup

Import subscriptions from a backup file

Import from Wallos

Import your subscriptions from a Wallos "Export to JSON" file. New categories are created automatically.

Clear All Data

Permanently delete all subscription data

Email Notifications

SMTP Configuration

This is where notification emails will be sent

Renewal Reminders

Send notifications before subscription renewals

High-Cost Alerts

Alert when adding expensive subscriptions

High-Cost Threshold

Monthly cost threshold for high cost alerts (in R$)

R$

Days Before Renewal

Single days-before fallback. Use the multi-window field below for multiple reminders.

Renewal Reminder Windows

Comma-separated days before renewal (e.g. 7,3,0). One reminder is sent as each threshold is crossed. Leave empty to use the single value above.

Cancellation Reminders

Get notified before subscriptions end

Days Before Cancellation

Single days-before fallback. Use the multi-window field below for multiple reminders.

Cancellation Reminder Windows

Comma-separated days before cancellation. Leave empty to use the single value above.

Pushover Notifications

Receive push notifications on your mobile device via Pushover

Pushover Configuration

Get your User Key from pushover.net

Create an application at pushover.net/apps

Webhook Notifications

Send notifications to any webhook endpoint (Slack, Discord, n8n, Home Assistant, etc.)

Telegram Notifications

Receive notifications on Telegram via a bot

Telegram Configuration

Create a bot and get a token from @BotFather

Find your Chat ID by messaging @userinfobot

ntfy Notifications

Receive push notifications through ntfy.sh or your own ntfy server

ntfy Configuration

Leave as https://ntfy.sh or enter your self-hosted server (http:// works on your LAN)

Letters, digits, - and _ only. On public servers the topic acts as a password, so pick one that is hard to guess

Needed only for protected topics. Sent as a Bearer token

Gotify Notifications

Receive push notifications from your self-hosted Gotify server

Gotify Configuration

The address of your Gotify server (http:// works on your LAN)

Create an application under Apps in Gotify and copy its token

0 to 10. Gotify apps usually alert loudly from 8

Security

Protect your SubTrackr instance with login authentication

Require Login

Enable authentication to protect your data

OpenID Connect

Use a discovery-compatible identity provider such as Pocket ID or Authentik. Configure the application Base URL before enabling OIDC.

Space-separated scopes. The openid scope is always included.

Register this callback URL with your provider: /auth/oidc/callback

Currency

Choose your preferred currency for displaying subscription costs

Date Format

Choose how dates are displayed throughout the application

Categories

Manage your subscription categories

Add New Category

API Keys

Create API keys to access SubTrackr from external applications

Loading API keys...

Create New API Key

API Documentation: Include the API key in the X-API-Key header for all requests. View full API documentation

About SubTrackr

Version v0.7.0
Build Go + HTMX
Database SQLite

API Documentation

Authentication

All API requests require authentication using an API key. Include your API key in the request headers:

# Authorization header (recommended)
Authorization: Bearer sk_your_api_key_here
# X-API-Key header (alternative)
X-API-Key: sk_your_api_key_here

API Endpoints

Subscriptions

Method Endpoint Description
GET /api/v1/subscriptions List all subscriptions
POST /api/v1/subscriptions Create a new subscription
GET /api/v1/subscriptions/:id Get subscription details
PUT /api/v1/subscriptions/:id Update subscription
DELETE /api/v1/subscriptions/:id Delete subscription

Statistics & Export

Method Endpoint Description
GET /api/v1/stats Get subscription statistics
GET /api/v1/export/csv Export subscriptions as CSV
GET /api/v1/export/json Export subscriptions as JSON

iCal Subscription

Method Endpoint Description
GET /ical/:token Subscribe to iCal feed (public, token-authenticated)

MCP Server (AI Integration)

SubTrackr includes a Model Context Protocol (MCP) server that allows AI assistants like Claude to read and manage your subscriptions via natural language.

Tool Description
list_subscriptions List all subscriptions
get_subscription Get subscription by ID
create_subscription Create a new subscription
update_subscription Update an existing subscription
delete_subscription Delete a subscription
get_stats Get subscription statistics
Configuration

Add this to your Claude Desktop or Claude Code MCP config:

{
  "mcpServers": {
    "subtrackr": {
      "command": "subtrackr-mcp",
      "args": [],
      "env": {
        "DATABASE_PATH": "/path/to/subtrackr.db"
      }
    }
  }
}

Example Requests

List Subscriptions

curl -H "Authorization: Bearer sk_your_api_key_here" \
http://localhost:8080/api/v1/subscriptions

Create Subscription

curl -X POST \
-H "Authorization: Bearer sk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "Netflix",
"cost": 15.99,
"schedule": "Monthly",
"status": "Active",
"category_id": 1
}' \
http://localhost:8080/api/v1/subscriptions

Get Statistics

curl -H "Authorization: Bearer sk_your_api_key_here" \
http://localhost:8080/api/v1/stats
Response:
{
  "total_count": 15,
  "active_count": 12,
  "total_cost": 245.67,
  "categories": {
    "Entertainment": 45.99,
    "Productivity": 89.00,
    "Storage": 29.99
  }
}

Additional Resources

For more detailed API documentation and examples, check the README file in the project repository.

The test script test-api.sh provides interactive examples of API usage.