Back to Projects

Export Splitwise

simple website to export your splitwise data

Python

Export Splitwise

A simple web tool to export your Splitwise transaction data as a JSON file.

Features

  • Easy API Key Input – Just paste your Splitwise API key.
  • One‑click Export – Downloads a timestamped JSON file containing all your expenses.
  • Responsive Design – Built with Tailwind CSS and a custom dark/light theme.
  • No Data Storage – Your API key and data never leave the browser.

Demo

Visit the live demo (if hosted) or run the app locally to see the UI.

Getting Started

Prerequisites

  • Python 3.10+ (for the backend API)
  • pip for installing dependencies

Installation

# Clone the repository
git clone https://github.com/tashifkhan/export-splitwise.git
cd export-splitwise
 
# Create a virtual environment (optional but recommended)
python -m venv .venv
source .venv/bin/activate  # on macOS/Linux
# .venv\Scripts\activate   # on Windows
 
# Install dependencies
pip install -r requirements.txt

Running the Server

uvicorn main:app --reload

The server will start on http://127.0.0.1:8000. Open http://127.0.0.1:8000 in your browser to use the UI.

Usage

  1. Generate an API key in your Splitwise account:
    • Go to AppsNew App.
    • Fill in the required fields (name, description, homepage URL).
    • Accept the terms and click Register and get API key.
    • Copy the generated key.
  2. Paste the API key into the input field on the page.
  3. Click Download Data.
  4. A file named splitwise_data_YYYY-MM-DD_HH-MM-SS.json will be downloaded.

Project Structure

export-splitwise/
├─ html.py          # Generates the HTML page with Tailwind styling
├─ main.py          # FastAPI backend exposing the /api/download endpoint
├─ requirements.txt # Python dependencies
└─ README.md        # This file

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

License

This project is licensed under the MIT License – see the LICENSE file for details.

Acknowledgements

  • Tailwind CSS – utility‑first CSS framework.
  • FastAPI – modern, fast (high‑performance) web framework for building APIs with Python.
  • Splitwise – for providing the API used to fetch transaction data.