You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28-93Lines changed: 28 additions & 93 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,23 +1,22 @@
1
1
# Spendee
2
2
3
-
This is a Python API wrapper for interfacing with a wonderful [Spendee app](https://www.spendee.com/).
3
+
This is a Python client for interfacing with the wonderful [Spendee app](https://www.spendee.com/).
4
4
5
-
# Warning
5
+
The codebase was forked from [dionysio/spendee](https://github.com/dionysio/spendee) (many thanks! <3) in 2025, which was authored in 2019-2020 and archived since then.
6
6
7
-
No guarantees are provided here. If you wanna use it, go for it, but do know that the original API is undocumented and while it works at the time of writing, it might stop at any time. I'm not associated with Spendee in any way.
7
+
About Spendee:
8
+
> Spendee.com is a budget and expense tracker application to manage personal finances. It allows users to connect bank accounts, e-wallets, and crypto wallets to get an aggregated overview of their financial situation. The app helps users organize and analyze spending through automatic transaction categorization, visually appealing graphs, and insights.
8
9
9
-
# Installation
10
+
# Warning
10
11
11
-
1. Be Python 3.7+ ready
12
-
2.`pip install spendee`
13
-
3. Enjoy.
12
+
No guarantees are provided here. If you wanna use it, go for it, but do know that the original API is undocumented and while it works at the time of writing, it might stop at any time. I'm not associated with Spendee in any way.
14
13
15
14
## Development setup
16
15
17
-
To set up a development environment:
16
+
To set up a development environment (only linux is documented):
18
17
19
-
1. Ensure you have Python 3.7+ installed.
20
-
2.setup the virtual environment:
18
+
1. Ensure you have Python 3.11+ installed.
19
+
2.Setup the virtual environment:
21
20
```bash
22
21
# Create a virtual environment
23
22
python3 -m venv .venv
@@ -28,90 +27,26 @@ To set up a development environment:
28
27
# Install the package in editable (dev) mode
29
28
pip install -e .
30
29
```
30
+
3. Set credentials in a newly created `.env` file.
31
+
```bash
32
+
echo'EMAIL=<email>'> .env
33
+
echo'PASSWORD=<passwrod'>> .env
34
+
```
35
+
4. Adapt `run.py`for your experiment and execute.
36
+
37
+
## Backstory and roadmap
38
+
39
+
As I started to use the forked repo in 2025, the fetched data from the REST API was outdated by multiple days compared to what is visible on connected Bank accounts and the online webpage.
40
+
41
+
In the interim time since the original author implemented the REST API calls in 2020, Spendee most possibly migrated to another architecture. Based on browser debugging the new setup relies on Google firestore.
42
+
43
+
Authentication was extracted into a base class, to keep REST API functionalities if needed, and new firestore based one was started to benefit from the same functionalities available from the original application.
44
+
45
+
Next step will be to abstract away the most common operations.
46
+
47
+
After that groundwork, the plan is to implement an MCP server enabling AI agent collaboration to have smarter categorization and conversational exploration of spending habits.
31
48
32
-
## Future Improvements
33
-
34
-
- finish up all the endpoints [24/73]
35
-
- make dates from the response datetime objects
36
-
- release on pypi
37
-
38
-
## Endpoints
39
-
40
-
This is a list of all endpoints I've discovered. So far only a subset is implemented:
41
-
42
-
- [ ] v1/exchange-rate
43
-
- [ ] v1/notification-count-unread
44
-
- [ ] v1/notification-get-all
45
-
- [ ] v1/notification-set
46
-
- [ ] v1/user-check-email
47
-
- [ ] v1/user-set-subscription
48
-
- [ ] v1/wallet-accept-sharing
49
-
- [ ] v1/wallet-get
50
-
- [ ] v1/wallet-get-category
51
-
- [ ] v1/wallet-get-users
52
-
- [ ] v1/wallet-order-categories
53
-
- [ ] v1.3/currencies
54
-
- [ ] v1.3/delete-bank-login
55
-
- [ ] v1.4/confirm-deletion
56
-
- [ ] v1.4/confirm-email-change
57
-
- [ ] v1.4/merge-categories
58
-
- [ ] v1.4/recommendation-likelihood
59
-
- [ ] v1.4/request-deletion
60
-
- [ ] v1.4/request-email-change
61
-
- [ ] v1.4/user-forgot-password
62
-
- [ ] v1.4/user-get-profiles
63
-
- [ ] v1.4/user-password-change-confirmation
64
-
- [ ] v1.4/wallet-get-categories
65
-
- [ ] v1.5/change-to-two-way-transfer
66
-
- [ ] v1.5/delete-transfer-transaction
67
-
- [ ] v1.5/link-two-transactions-into-transfer
68
-
- [ ] v1.5/revert-transfer-to-regular-transaction
69
-
- [ ] v1.5/transaction-suggestions
70
-
- [ ] v1.5/transfer-funds
71
-
- [ ] v1.5/update-transfer
72
-
- [ ] v1.5/user-fb-connect
73
-
- [ ] v1.5/user-google-connect
74
-
- [ ] v1.5/viewed-dialogs
75
-
- [ ] v1.5/wallet-create-transaction
76
-
- [ ] v1.5/wallet-delete-transaction
77
-
- [ ] v1.5/wallet-update-transaction
78
-
- [ ] v1.6/get-transactions
79
-
- [ ] v1.6/iframe-wallet-data?id=
80
-
- [ ] v1.6/reorder-wallets
81
-
- [ ] v1.6/wallet-get-transaction
82
-
- [ ] v1.7/reorder-budgets
83
-
- [ ] v1.8/create-transaction-template
84
-
- [ ] v1.8/delete-transaction-template
85
-
- [ ] v2/destroyCredentials
86
-
- [X] v1.3/banks-get-all
87
-
- [X] v1.3/category-image-ids
88
-
- [X] v1.4/user-get-profile
89
-
- [X] v1.4/user-login
90
-
- [X] v1.4/user-logout
91
-
- [X] v1.4/wallet-create-category
92
-
- [X] v1.4/wallet-update-category
93
-
- [X] v1.5/user-registration
94
-
- [X] v1.5/user-update-profile
95
-
- [X] v1.6/get-all-user-categories
96
-
- [X] v1.6/user-currencies
97
-
- [X] v1.7/create-budget
98
-
- [X] v1.7/delete-budget
99
-
- [X] v1.7/edit-budget
100
-
- [X] v1.7/get-budgets
101
-
- [X] v1.8/get-transaction-templates
102
-
- [X] v1.8/wallet-get-transactions
103
-
- [X] v1/wallet-create
104
-
- [X] v1/wallet-delete
105
-
- [X] v1/wallet-delete-category
106
-
- [X] v1/wallet-get-all
107
-
- [X] v1/wallet-invite-to-share
108
-
- [X] v1/wallet-unshare-user
109
-
- [X] v1/wallet-update
110
-
- [X] v2/countries
111
-
- [X] v2/logins/refresh
112
-
- [X] v2/providers
113
-
- [X] v2/url
114
-
- [X] v2/visible
49
+
Until that last milestone this project is not recommended for usage.
0 commit comments