@pipeworx/abs-loan-level

Connect: https://gateway.pipeworx.io/abs-loan-level/mcp · Install: one-click buttons

Tools: 3

US auto loan / auto lease securitization (ABS) trust delinquency — pre-aggregated monthly rollups derived from SEC EDGAR’s Reg AB II asset-level disclosure (Form ABS-EE), by trust and by sector.

Tools

  • abs_trusts(sponsor?, asset_class?) — list tracked trusts, filterable by sponsor/depositor name or asset class. Use to find the exact trust name the other two tools need.
  • abs_trust_performance(trust, months=12) — one trust’s delinquency-bucket history (loan count, balance, weighted-average APR/FICO per bucket) over its most recent N reporting months.
  • abs_sector_delinquency(asset_class, months=12, originator?) — sector-wide delinquency by month, aggregated across every tracked trust in one asset class, optionally narrowed to one sponsor/originator.

Auth

Keyless — callers need no credential of their own. Queries are answered from pre-computed rollups rather than by parsing EX-102 exhibits at request time, so a call returns in milliseconds regardless of how large the underlying filing was.

Data sources

  • https://www.sec.gov/cgi-bin/browse-edgar / https://efts.sec.gov/LATEST/search-index — EDGAR full-text search, used by the ingest cron (workers/scraper/src/abs_ee.ts) to discover ABS-EE filings.
  • Each filing’s EX-102 exhibit (asset-level XML, https://www.sec.gov/Archives/edgar/data/<cik>/<accession>/) — the underlying loan-level source. We never persist this raw data. Reg AB II re-discloses the full current pool every month regardless of issuer size — a single filing runs 100-250MB / 30-80k loan rows, and at ~435 auto loan+lease filings/month that’s ~157GB/year of Postgres growth, ~150x the single unbatched load that already crashed production once (fleet #172/#173). See docs/pack-build-queue.md#dd-07-abs-loan-level for the full measured numbers and fleet #622 (probe) / #666 (build) for the decision trail.

What this pack does NOT do

  • No loan-level drill-down. There is no “which trusts hold loans originated by Lender X in a given state” query. That’s an inversion over individual loans, which needs the raw data this pack deliberately excludes. originator on abs_sector_delinquency filters by the trust’s sponsor/depositor name (most captive-finance auto trusts are effectively single-originator, so this is close to the same answer for the common case) — it is not a per-loan lookup.
  • No CMBS. ABS-EE also covers commercial mortgage trusts; they’re discovered and logged (for coverage visibility) but never downloaded or rolled up. Not in scope for this pack.
  • No RMBS. Non-agency RMBS is issued 144A-exempt and never files ABS-EE at all — confirmed empirically against the full filing corpus, not assumed.

Rollup definition (so numbers are reproducible, not a black box)

delinquency_bucket is derived from the SEC schema’s currentDelinquencyStatus (an integer days-past-due count, not a pre-bucketed code — verified against a live 197MB sample) plus zeroBalanceCode (a schema-defined enumerated code that differs between auto loan and auto lease — see workers/scraper/src/abs_ee.ts header for both code tables) and, for auto loan only, repossessedIndicator:

bucketmeaning
current0 days past due
days_1_29 / days_30_59 / days_60_89 / days_90_plusdays-past-due range
repossessedauto loan only — the schema has no repossession field for leases
charged_offzeroBalanceCode = the charged-off code for that asset class, or a non-zero charge-off amount

wa_apr is balance-weighted average interest rate — always null for auto_lease, because the SEC lease asset schema has no interest-rate field at all (leases aren’t APR loans). wa_fico_band is balance-weighted average obligor/lessee credit score (a continuous number despite the “_band” name — the schema field is a raw score, not a pre-bucketed band).

Coverage grows over time, not instantly

Each EX-102 filing is 100-250MB; the ingest cron processes one filing per ~10 min to stay well inside Cloudflare Worker CPU limits (a 197MB sample parsed in well under a second of CPU — the wall-clock cost is bandwidth, not compute). abs_trusts.last_seen shows what’s current; a trust or month with no rows yet means the cron hasn’t reached those filings, not that they don’t exist. abs_sector_delinquency and abs_trust_performance both return found: false with a hint (never an empty array pretending to be a complete answer) when there’s no data yet for the requested filter.

Tools

  • abs_trusts — List US auto loan / auto lease securitization trusts we track (from SEC EDGAR Reg AB II ABS-EE filings), optionally filtered by sponsor (captive-finance company / depositor, e.g. “Ally”, “Toyota”) or
  • abs_trust_performance — Delinquency-bucket performance history for ONE named securitization trust over its most recent N reporting months — loan count, balance, weighted-average APR and FICO per bucket (current / 1-29 / 30-5
  • abs_sector_delinquency — Sector-wide auto ABS delinquency by month, aggregated across every tracked trust in one asset class — e.g. “60+ day delinquency across subprime auto trusts this month”. Returns one row per reporting m

Tools

  • abs_sector_delinquency — Sector-wide auto ABS delinquency by month, aggregated across every tracked trust in one asset class — e.g. 60+ day delinquency across subprime auto trusts this month . Returns one row per reporting mo
  • abs_trust_performance — Delinquency-bucket performance history for ONE named securitization trust over its most recent N reporting months — loan count, balance, weighted-average APR and FICO per bucket (current / 1-29 / 30-5
  • abs_trusts — List US auto loan / auto lease securitization trusts we track (from SEC EDGAR Reg AB II ABS-EE filings), optionally filtered by sponsor (captive-finance company / depositor, e.g. Ally , Toyota ) or as

Regenerated from source · build August 30, 2026