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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file bofa_scraper-1.0.2.tar.gz.

File metadata

  • Download URL: bofa_scraper-1.0.2.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for bofa_scraper-1.0.2.tar.gz
Algorithm Hash digest
SHA256 5fc56cea92d699644d1435795c04ab48314ddb6d81ba62030513733e19524733
MD5 f980f6a1460de77e42ae740ccd1f41b2
BLAKE2b-256 8240b45f0f859fcc2c8b8bf0f74db62fd87e20a8b912b333fe27cf1a540ea1bd

See more details on using hashes here.

File details

Details for the file bofa_scraper-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: bofa_scraper-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for bofa_scraper-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 408574811ec8b65e8ec753b5ded07b274a881128cb6957ebf1358b5c4b3e964c
MD5 28e3b0ac11f4cd671ecc03483ee1fa1e
BLAKE2b-256 742c25f595f103a5c7c12c5a7d844cbb11732db82238b342fb3cdc39d3bef10f

See more details on using hashes here.

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