← Back to Blog

Why I Built an API for My Own Bank Account

Eric Webb ·

I’ve wanted programmatic access to my bank data for years.

I just wanted to pull my transactions into a spreadsheet, build a dashboard, automate some expense tracking. The kind of thing that feels like it should take an afternoon.

Unfortunately, it didn’t take me an afternoon.

If you’ve ever tried to get your own financial data out of your own bank account in a format a computer can read, you know the drill. Log into your bank. Navigate to the export buried three menus deep. Download a CSV that’s formatted differently from every other bank’s CSV. Or a QFX. Or an OFX. Repeat for every account. Do it again next month. :(

I’m a developer and I like to automate things. This is easy right?

The Plaid Wall

Plaid is great. They support 10,000+ institutions, battle-tested, and it has the broadest institutional coverage of any aggregator I found. But Plaid isn’t built for a developer who wants to tinker with their own data on a Saturday.

The onboarding is a project. The APIs and data are relatively straightforward, but there are a lot of little details in the payloads you need to get correct. The API docs are good. You need to store access tokens securely, handle token rotation, deal with connection (Plaid calls it “linking”).

For me, wanting to pipe my checking account transactions into a script? The bar was too high for a quick project. Worse still, you need a business entity, and LEI code and other compliance requirements. This is important, Plaid and the banks need to trust you, but it’s just not fast and easy.

Going Independent Changed the Calculus

When I left my full-time I finally had the time to work on this. And this had been nagging me for a long time.

I thought it would be quick. I know how Plaid works conceptually, I’ll just wrap it with a simpler interface, encrypt everything properly, and ship it. Two weeks, maybe three.

It was not two weeks.

I kept coming back to one principle: this needs to just work. If someone connects their bank account, they should get clean data back, reliably, without thinking about it. It should be secure. It should be easy. You should have one API token to manage.

What I Wished Existed

  1. Sign up
  2. Link bank accounts
  3. Get an API key
  4. Query my data

Building for “Just Works”

I probably spent longer on this part than I strictly needed to but getting it right seemed like an important part of the trust equation.

The two things I refused to compromise on were security and reliability.

Security because it’s financial data. There’s no “move fast and fix it later” with someone’s bank transactions. Every user gets their own AES-256 encryption key. Data is never stored in plaintext. I wanted to be able to sleep at night knowing that if something went wrong, the blast radius was contained.

Reliability because the whole point is that it replaces a manual process. If you have to babysit the connection, debug sync failures, or re-authenticate every few days, you haven’t saved any time. You’ve just traded one manual process for a different manual process.

Who This Is For

I built this for people like me. Developers who want to do something with their own financial data and don’t want to stand up Plaid infrastructure to do it.

Maybe you want to build a personal finance dashboard. Maybe you want to automate expense tracking for your side business. Maybe you want to pipe your transactions into a spreadsheet, a database, or an AI tool. Maybe you just want to know what you spent at coffee shops last month without logging into three different bank apps.

You shouldn’t need to form an LLC to do that.

What’s Next

I’ve been building this as Shim.Finance. Shim.Finance is a simple API for your own financial data. TypeScript SDK, per-user encryption, 10,000+ institutions through Plaid under the hood. You connect your accounts, you get an API. That’s the pitch.

It’s in private beta right now, and I’m looking for early users who want to build with it. If any of this resonated, I’d genuinely love to hear what you’d build with it.

You can join the waitlist or check out the SDK on GitHub.


Eric Webb is an independent developer building tools for programmable personal finance.

Ready to Try It?

Join the waitlist — we'll let you know when your API is ready.