Skip to main content

Simple Python web-scraper to get personal transaction data from BofA account.

Project description

bofa_scraper

version downloads

Bank of America does not currently have a consumer-facing API for requesting balance and transaction data. The goal of this project is to make personal data accessible to allow for automated budgeting projects.

This project includes a web scraper written in Python using Selenium. As such, this project is not capable of fetching any data that could not be collected by a human in a web browser. Please always take care to secure your account credentials!

Getting Started

  1. Install the package.
pip install bofa_scraper
  1. Install Firefox
  2. Download the GeckoDriver binary, and add to your PATH.

Usage

NOTE: API has been reworked since v0

Import and initialize

from bofa_scraper import BofAScraper # Import the package

scraper = BofAScraper(
	'YOUR_BankOfAmerica_ONLINE_ID',
	'YOUR_BankOfAmerica_PASSCODE',
	timeout_duration=5, # Timeout to allow for page loads, defaults to 5s
	headless=True,		# Optional, defaults to True
	verbose=True,		# Optional, defaults to True
)

scraper.login() # Log in

Start scraping

# Fetch a list of accounts
# Transaction data is not automatically populated
accounts = scraper.get_accounts()
accounts[0].get_name()		# See account name
accounts[0].get_balance()	# See account balance

# Start a scraping session for an account
(
	scraper.open_account(accounts[0])	# Start session
		.scrape_transactions()			# Scrape visible transactions
		.load_more_transactions()		# Load more transactions
		.scrape_transactions()			# Scrape new and re-scrape old transactions
		.close()						# Close session
)

# Dictionary populated with transactions
transactions = accounts[0].get_transactions()
# transaction info
transactions[0].amount
transactions[0].date
transactions[0].desc
transactions[0].type
transactions[0].uuid

Clean up

scraper.quit()

Security & Licensing

This project is licensed under the GNU General Public License 3.0 (GPLv3).

This project is intended for PERSONAL USE ONLY to document/calculate finances. Please take security into account when handling financial credentials.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bofa_scraper-1.0.2.tar.gz (16.2 kB view hashes)

Uploaded Source

Built Distribution

bofa_scraper-1.0.2-py3-none-any.whl (17.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page