Settings

Manage your SubTrackr preferences and data

Appearance

Personalize your SubTrackr experience with beautiful themes

Default
Clean and professional
Dark
Easy on the eyes
Dark Classic
Original dark mode
Christmas 🎄
Festive and jolly!
Midnight
Deep and mysterious
Ocean
Cool and refreshing

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. Leave blank to auto-detect from request headers.

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

Data Management

Backup Data

Create a backup of all your subscription data

Create Backup

Clear All Data

Permanently delete all subscription data

Email Notifications

SMTP Configuration

This is where notification emails will be sent

Renewal Reminders

Get notified before subscriptions renew

High Cost Alerts

Alert when adding expensive subscriptions

High Cost Threshold

Monthly cost threshold for high cost alerts (in ¥)

¥

Days Before Renewal

How many days before renewal to send reminder

Cancellation Reminders

Get notified before subscriptions end

Days Before Cancellation

How many days before cancellation to send reminder

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.)

Security

Protect your SubTrackr instance with login authentication

Require Login

Enable authentication to protect your data

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.5.7
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.