Skip to content

Israeli Bank Scrapers

Scrape transactions from 19 Israeli banks and credit card companies with built-in Cloudflare WAF bypass and end-to-end PII redaction.

npm install @sergienko4/israeli-bank-scrapers

Quick Start Architecture overview API Reference


Who is this for?

At a glance

flowchart LR
    subgraph BB["Browser banks (13 pipeline)"]
      direction LR
      INIT --> HOME --> PRELOGIN["PRE-LOGIN (opt-in)"]
      PRELOGIN --> LOGIN --> OTP["OTP (opt-in)"]
      OTP --> AUTH["AUTH-DISCOVERY"] --> BIND["BIND-API-MEDIATOR"]
      BIND --> SCRAPE["API-DIRECT-SCRAPE
(direct API — no nav)"] --> TERM["TERMINATE"] end subgraph API["API-direct banks (3)"] direction LR CALL["API-DIRECT-CALL"] --> SCR["API-DIRECT-SCRAPE"] end BB -.->|"unified result"| RESULT(["IScraperScrapingResult"]) API -.->|"unified result"| RESULT
Surface Counts Source of truth
Banks supported 19 total — 16 on Pipeline (13 browser + 3 api-direct), 3 on legacy migration path Banks
Phases Browser: INIT → HOME → [PRE-LOGIN] → LOGIN → [OTP] → AUTH-DISCOVERY → BIND-API-MEDIATOR → API-DIRECT-SCRAPE → TERMINATE · api-direct: 2 Phases
Test suites 412, ~4,800 tests, 97.20% statements coverage Workflow → CI gates
Pre-commit gates 12 gates in parallel Workflow → Pre-commit

What's new

  • v8.6.0Direct-API scraping after login for every pipeline bank. The 13 browser banks retire the generic ACCOUNT-RESOLVE → DASHBOARD → SCRAPE → BALANCE-RESOLVE navigation chain: after AUTH-DISCOVERY, BIND-API-MEDIATOR binds an authenticated ApiMediator to the live page and API-DIRECT-SCRAPE walks a typed hard-model shape of REST/GraphQL calls (accounts, balances, transactions) — no post-auth page navigation or DOM scraping. Balance is emitted by the shape's .final.
  • v8.4.0 — Two milestones land together:
    • BALANCE-RESOLVE single-phase ownership (v6). SCRAPE emits identities + template, BALANCE-RESOLVE owns every live api.fetchPost/fetchGet and per-card extraction. Universal-miss fail only when every card missed. (Retired in v8.6.0 — balance now rides the hard-model shape.)
    • Unified api-direct primitives across OneZero, Pepper, PayBox (signer config DU, JsonValueTemplate, carry derivations).
  • v8.3.0 — Pipeline architecture v2 (Strategy / Builder / Mediator / Result patterns, phase isolation, PII redaction).

See README → Version history for the full timeline.

Migration notice

Everything outside src/Scrapers/Pipeline/ is on a wide-net migration path: src/Scrapers/Base/, src/Common/, and the 5 legacy bank dirs will fold into Pipeline over time. Public API behavior is preserved. See Architecture → Migration strategy for the plan.