npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

schwab

v0.2.1

Published

Scrape schwab.com for your banking transaction history

Downloads

4

Readme

schwab

schwab is a command line utility that scrapes your Schwab banking transaction history using PhantomJS.

Install it with npm:

npm install -g schwab

Usage

Run schwab --help to see the usage:

schwab [options] [<outfile>]

Options:
  --username, -u  your schwab.com account username                                
  --acct, -a      scrape one or more named accounts (default: scrape all accounts)
  --start, -s     the state date (inclusive) for transactions in YYYY-MM-DD       
  --end, -e       the end date (inclusive) for transactions in YYYY-MM-DD         
  --out, -o       the output file (default: stdout)                               

If you don't provide the --username/-u flag it will prompt you for your schwab.com user ID. For security purposes, you will always be prompted for your password interactively and it will never be shown or stored anywhere.

You may provide more than one account name like so:

schwab -a 'Personal Checking' -a 'Family Checking'

Transaction data is printed to stdout unless you provide either the --out/-o flag or a single positional argument. The following are equivalent:

schwab -o transactions.json
schwab > transactions.json

Data Format

The data is formatted as newline delimited JSON, a streaming format that's easy to parse. If you want to convert it to another format, such as comma- or tab-separated values, try out tito, which reads NDJSON by default:

schwab | tito --write tsv > transactions.tsv

Or, just pipe it into dat for storage:

schwab | dat import --json

Transactions objects should all have the following columns:

  • withdrawal: the amount withdrawn, as a dollar-formatted string e.g. $3,124.50
  • deposit: the amount deposited, also as a dollar-formatted string
  • description: the transaction description, often in debit card shorthand e.g. NY TIMES NATL SALE800-698-4637, NY #0000
  • balance: the running balance as of each transaction as a dollar-formatted string
  • check: the check number, if this transaction involves a written check
  • type: the transaction type, one of:
    • ACH
    • ADJUSTMENT
    • ATM
    • ATMREBATE
    • CHECK
    • DEPOSIT
    • INTADJUST
    • TRANSFER
    • VISA