Screen scraping vs. APIs: How each one handles your banking credentials

Financial Connections

Stripe Financial Connections lets your users securely share their financial data with you.

Learn more 
  1. Introduction
  2. Key takeaways
  3. What is screen scraping in financial services?
  4. How do financial data APIs work?
  5. Why do APIs reduce security risk compared with screen scraping?
    1. Storing credentials vs. issuing tokens
    2. Full access vs. defined access
  6. How do reliability and scalability differ between screen scraping and APIs?
  7. How does screen scraping affect user experience and customer confidence?
  8. How are regulators pushing the shift from screen scraping towards APIs?
  9. How Stripe Financial Connections can help

Both screen scraping and access based on application programming interfaces (APIs) help a business get the financial data it needs from a customer's bank account, but they use fundamentally different mechanisms to do so. Screen scraping logs into your bank account with your credentials and reads data off the same pages you'd see yourself. API access routes you through your own bank's login, then issues a scoped, revocable token without ever touching your password. In some cases, API-based connections have increased success rates to as high as 99.9%. In addition to reliability, this method boasts high levels of security, can improve the customer experience, and can help businesses stay aligned with regulations.

Below, we'll explore how screen scraping and API access work, why credential storage creates a different risk profile from token-based access, and how banks and regulators are accelerating the shift towards APIs.

Key takeaways

  • Traditional screen scraping requires storing a customer's banking credentials, while API access relies on scoped, revocable tokens issued after the customer authenticates directly with their bank.

  • Screen scraping can break when a bank changes its website, while APIs return structured data through a contract that generally changes only when the bank deliberately updates it.

  • The Consumer Financial Protection Bureau (CFPB) Section 1033 rule and existing open banking frameworks in the UK and EU are pushing banks towards standardised access, which often means APIs, and away from credential-based scraping.

What is screen scraping in financial services?

Screen scraping means a third-party service logs into your bank account with your username and password, then reads data straight off the pages your bank displays when you log in yourself. There's no dedicated data channel. The service uses the same session a customer would and pulls account balances, transaction histories, and account numbers directly from the rendered page.

How do financial data APIs work?

API-based access replaces credential sharing with a permissioned handoff and typically runs on Open Authorization (OAuth) 2.0, the de facto standard for online authorisation.

The process breaks down into a few distinct steps:

  • Redirect and authentication: You're sent directly to your bank's login page where you enter credentials only your bank sees.

  • Consent and scope: Your bank asks you to approve limited permissions, such as account balances or transaction history that the requesting business is allowed to see, instead of giving blanket access to everything in your account.

  • Token issuance: Once you approve, your bank issues an access token to the requesting business. That token represents a limited, revocable grant.

  • Structured data delivery: The business calls the bank's API with that token and receives clean, structured data such as JavaScript Object Notation (JSON) in return.

Why do APIs reduce security risk compared with screen scraping?

Screen scraping and API access differ most sharply in what gets stored and who controls access. That difference shapes almost every security consequence that follows, from breach exposure to how quickly a compromised connection can be shut down.

Storing credentials vs. issuing tokens

Traditional screen scraping typically requires an aggregator to store your actual banking username and password somewhere in its systems, often for as long as you keep using the service. Every stored credential set is a target if that aggregator's database gets breached.

With APIs, the access token passed to a business after OAuth authentication is a scoped, revocable credential that typically expires and grants access only to what you approved, such as read-only visibility into transaction history. If a business's systems get compromised, the token can be shut off at the bank level without requiring a password reset on your end.

Full access vs. defined access

A stored password grants whoever holds it the same broad access you'd have logging in yourself. A token can be limited to exactly one function so a business that's confirming your account balance for a loan application doesn't walk away with five years of transaction history it never needed. The gap between complete access and defined access is one reason why banks, regulators, and API providers treat credential storage as the riskier model.

How do reliability and scalability differ between screen scraping and APIs?

Screen scraping is brittle by design because it depends on the bank's own website. When a bank updates its login flow, redesigns its dashboard, or adds a new authentication step, scrapers built on the old layout might stop working until an engineer manually rebuilds them. That fragility, plus the scale problem it creates, results in a few distinct issues:

  • Site dependency: Scrapers rely on a bank's HTML staying constant, which means a routine redesign can silently break a connection with no warning to the aggregator.

  • Manual maintenance: Broken scrapers often need an engineer to rebuild them for the new layout—work that repeats across thousands of banks on their own release schedules.

  • Higher failure rates: Scraping-based connections tend to fail at meaningfully higher rates than API-based ones, especially right after a bank pushes a site update.

APIs are generally considered more reliable for a few reasons:

  • Defined data contracts: A bank's API returns account data in fixed structures, such as a balance field formatted as an integer in cents, and that structure typically doesn't shift unless the bank deliberately updates the API and gives notice.

  • Clear error handling: An API returns an explicit error code when something breaks so a business's systems know to retry or flag the issue instead of working with corrupted or malformed data.

  • Linear vs. networked scale: Open banking infrastructure facilitates direct relationships with thousands of banks and credit unions, which means a business that integrates once can reach that entire network. A scraping-based approach, however, needs a custom script built and maintained for every bank on the list.

How does screen scraping affect user experience and customer confidence?

Handing over your banking username and password to a third-party app demands a level of trust that many people aren't comfortable extending. Many banks' own security messaging trains users to never share login credentials outside the bank's own website so a scraping-based app that asks users to do exactly that inside its own interface might be viewed with suspicion. That mismatch can create hesitation at the point of account connection, which deters users from completing the linking flow or causes them to abandon it midway when the credential request feels off.

OAuth-based flows sidestep that problem because you type your password only into your bank's own login page. It's a familiar interface on a known domain, and the permission screen tells you specifically what you're agreeing to share. That specificity changes the psychology of consent because you're provided with a concrete list of items, such as an account balance and transaction history for the past 90 days, and asked to approve or deny it directly. Consequently, consent flows built on direct bank authentication can result in higher completion rates than credential-based aggregation.

Once confidence is shaken by a bad experience or a headline about a breach at a scraping-based aggregator, it's hard to earn back trust. Businesses that build financial products increasingly treat the authentication method itself as an indicator of credibility rather than a simple implementation detail.

How are regulators pushing the shift from screen scraping towards APIs?

The CFPB's Section 1033 rule, currently paused after a federal court issued a preliminary injunction, seeks to implement a section of the Dodd-Frank Act that requires data providers, such as banks, to make customer financial data available to third parties at the customer's direction. The rule's intent is to give customers a legal right to their own data in a usable, portable format. The rule explicitly favours standardised, secure electronic transfer methods, which in practice often means APIs over credential-based scraping.

Many large financial institutions have already spent years building dedicated API infrastructure, in part so they can stop supporting scraper traffic that hits their customer-facing websites. This can strain server capacity and create security review complications. Open banking frameworks in the UK and EU set an earlier precedent for this shift.

Since many smaller institutions and credit unions still lack the API infrastructure larger banks have already built, some aggregators keep scraping as a fallback for accounts with no API alternative yet. However, as Section 1033 implementation moves forward and more banks have compliant API endpoints, the businesses that build financial products have the most reasons to move early—before scraping-based connections become obsolete.

How Stripe Financial Connections can help

Stripe Financial Connections is a set of APIs that allows you to securely connect to your customers' bank accounts and retrieve their financial data, enabling you to build innovative financial products and services.

Financial Connections can help you:

  • Simplify onboarding: Offer a seamless, instant bank account verification process that does not require manual identity and account verification.

  • Access rich financial data: Retrieve comprehensive information about your customers' bank accounts, including balances, transactions, and account details.

  • Automate recurring payments: Enable your customers to securely link their bank accounts for recurring payments, improving payment success rates.

  • Enhance risk management: Analyse customers' financial data to make more informed decisions about credit, lending and other financial products.

  • Comply with regulations: Financial Connections helps you meet Know Your Customer (KYC) and Anti-Money Laundering (AML) requirements.

  • Innovate with confidence: Build new financial products and services on top of the secure, reliable Financial Connections infrastructure.

Learn more about Financial Connections or get started today.

The content in this article is for general information and education purposes only and should not be construed as legal or tax advice. Stripe does not warrant or guarantee the accuracy, completeness, adequacy, or currency of the information in the article. You should seek the advice of a competent lawyer or accountant licensed to practise in your jurisdiction for advice on your particular situation.

More articles

  • Something went wrong. Please try again or contact support.

Ready to get started?

Create an account and start accepting payments – no contracts or banking details required. Or, contact us to design a custom package for your business.

Financial Connections

Stripe Financial Connections lets your users securely share their financial data with you.

Financial Connections docs

Learn how to access permissioned data from your users' financial accounts.