PBGC Trusteed Pension Plan Monitor — Failed DB Plan Tracker avatar

PBGC Trusteed Pension Plan Monitor — Failed DB Plan Tracker

Pricing

from $3.85 / 1,000 results

Go to Apify Store
PBGC Trusteed Pension Plan Monitor — Failed DB Plan Tracker

PBGC Trusteed Pension Plan Monitor — Failed DB Plan Tracker

PBGC trusteed pension plan tracker: every defined-benefit plan taken over by PBGC, with sponsor, state, trusteeship date, participants and case number. Delta mode surfaces newly failed plans each run — a hard corporate-distress signal for credit, vendor-risk and distressed-debt teams.

Pricing

from $3.85 / 1,000 results

Rating

0.0

(0)

Developer

Kyle Maloney

Kyle Maloney

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

Tracks every defined-benefit (DB) pension plan the Pension Benefit Guaranty Corporation (PBGC) has taken over — "trusteed" — because the sponsoring employer could no longer fund it. A PBGC trusteeship is a hard, publicly documented corporate-distress event: it usually accompanies or precedes bankruptcy, liquidation, or a major restructuring, and it names the sponsor company directly. This actor turns PBGC's open trusteed-plans file into a clean, filterable, delta-trackable dataset — 5,176 trusteed plans covering 1975 to 2026 as of the 2026-07-01 file vintage.

Who this is for

  • Credit / vendor-risk analysts screening counterparties for early distress signals.
  • Distressed-debt and special-situations funds hunting for newly-trusteed sponsors before the news cycle catches up.
  • ERISA counsel and benefits consultants tracking trusteeship trends by state, sponsor, or plan size.
  • M&A / diligence teams checking whether a target or its affiliates has ever had a plan trusteed.
  • Journalists and researchers covering pension-fund failures and corporate bankruptcies.

What it does

  1. Resolves the current PBGC trusteed-plans data file. PBGC republishes this list as an XLSX (sometimes CSV) whose exact filename drifts over time, so the actor tries several open-data page scrapes and then four known-filename fallback constants. The step that actually worked is reported on every row in source_resolution_method, and the file's HTTP Last-Modified — its data vintage — in source_file_last_modified.
  2. Verifies the payload is the file it asked for. An HTML error page served at HTTP 200 is rejected rather than parsed into an empty answer.
  3. Resolves every column by name, spelling-insensitively (handles "Plan Name" vs plan_name, "Sponsor Name" vs "Employer", "Date of PBGC Trusteeship" vs "DOT", and PBGC's own long-standing "Paricipants" typo), converting Excel serial dates.
  4. Runs a live drift gate before emitting a single billable row — row-count floor, per-column population floors, oldest/newest date bands, case-number uniqueness, a positive canary (PBGC case 20357000, the US Airways IAM plan, must still read 11,410 participants trusteed 2005-02-01) and a negative control. If PBGC renames a column, truncates the file, or changes its date convention, the run fails loudly and bills nothing instead of publishing a confident wrong answer.
  5. Filters by since-date, state, sponsor-name substring and minimum participant count. An unparseable sinceDate fails the run rather than silently returning a wrong subset.
  6. Computes a real cross-run delta. Every row carries is_new_since_last_run against a baseline held in the named key-value store pbgc-trusteed-baseline, so it works across scheduled runs. The baseline covers the whole PBGC universe, not just the rows your filters matched, so changing a filter never fabricates "new" trusteeships. When there is no baseline to compare against, is_new_since_last_run is null (not checked) — never true.

Example input

{
"sinceDate": "2023-01-01",
"states": ["PA", "OH", "TX"],
"sponsorQuery": "",
"minParticipants": 100,
"maxResults": 500,
"deltaOnly": false
}

Search the full history for a sponsor by leaving sinceDate out entirely:

{ "sponsorQuery": "airways", "maxResults": 100 }

Output fields

Every field the actor declares, and what it means. null always means not published / not checked — it is never a substitute for a real 0 or false.

FieldDescription
plan_nameName of the trusteed DB pension plan
sponsorEmployer/sponsor company that maintained the plan — the distress-signal target
citySponsor city as published by PBGC
stateSponsor state as published by PBGC (mostly 2-letter codes; PBGC also publishes a handful of non-US values)
trusteeship_dateDate PBGC formally became trustee (YYYY-MM-DD)
participantsParticipant count as published by PBGC. Null on the 10 rows PBGC publishes no count for; one plan has a genuine published 0, and the two are distinguishable
participants_measured_at"plan_termination" when a count is published, else null. PBGC measures participants at plan termination, not at trusteeship
einSponsor Employer Identification Number, zero-padded to the full 9 digits (PBGC publishes it as a number, so leading zeros are lost in the source file)
ein_formattedThe same EIN in IRS display form NN-NNNNNNN
plan_numberERISA plan number identifying which of the sponsor's plans this is
ein_plan_keyCanonical EIN-PPP join key for Form 5500 / EFAST2 / DOL filings, e.g. 530218143-002. Null when either part is missing
plan_termination_dateDate the plan formally terminated (YYYY-MM-DD) — a distinct, usually earlier event than trusteeship
days_termination_to_trusteeshipWhole days from termination to trusteeship. Median 447 across the live file; can be negative (22 rows are trusteed before the recorded termination date)
case_numberPBGC case identifier — the plan's stable identity for delta tracking
is_new_since_last_runtrue = absent from your stored baseline; false = present in it; null = not checked (first run, or the baseline could not be read)
delta_baseline_statusok / initialized / unavailable — how the delta comparison went
source_urlThe resolved PBGC data file used this run
source_resolution_methodWhich resolution step produced it: page_scrape:<url> or fallback_constant
source_file_last_modifiedHTTP Last-Modified of the PBGC file — the data vintage
source_row_countTotal trusteed plans in the file before any filter (the universe behind a filtered answer)
filter_since_dateThe normalized since-date actually applied, or null when no date filter was applied
matched_rows_totalHow many rows matched your filters in total, before maxResults capping
results_truncatedTrue when more rows matched than maxResults allowed
monitored_atUTC timestamp of this run

Use as an MCP tool

This actor is Pay-Per-Event priced and discoverable via mcp.apify.com — Claude, Cursor, and other MCP-aware agents can call it directly as a tool to screen a sponsor name or state for pension-failure history without any setup. Billing is unchanged when called as a tool, and a run that cannot answer fails without billing.

Ask an agent: "Has PBGC ever taken over a pension plan for a company with 'airways' in its name? Give me the sponsor, plan, trusteeship date and participant count." — the agent should call this actor with {"sponsorQuery": "airways"} and no sinceDate, which searches the full 1975-2026 history.

Pricing

Pay-per-result: you are billed only for dataset rows returned. A run that fails a gate — unresolvable source file, HTML instead of data, a renamed PBGC column, a drifted source, or an unparseable sinceDate — emits nothing and bills nothing.

FAQ

Which pension plans did PBGC take over? Every result row is a plan PBGC has trusteed — this actor is the searchable, filterable, delta-aware version of PBGC's own trusteed-plans list.

How do I search the whole history instead of recent years? Leave sinceDate blank or omit it entirely — that applies no date filter and searches back to 1975. The Console form pre-fills 2023-01-01 as a convenient starting point; clear it for a full-history sponsor lookup.

What date formats does sinceDate accept? YYYY-MM-DD, YYYY-MM, YYYY and MM/DD/YYYY. Anything else fails the run with an explanatory message rather than silently returning a wrong subset.

Is there a company pension failure signal I can monitor automatically? Yes — set deltaOnly: true and schedule this actor daily or weekly. The first scheduled run stores a baseline and stops with a message (there is nothing to compare against yet); every run after that returns only genuinely new trusteeships.

Why did my first deltaOnly run fail? Because "new since your last run" has no answer before there is a last run. Rather than bill you for the entire list labelled "new", the actor stores the baseline and tells you to re-run.

What does "trusteed" mean? PBGC trusteeship means the plan's sponsor could not or did not continue to fund it, and PBGC has taken over paying (guaranteed, capped) benefits to participants. It is one of the most concrete, dated, named corporate-distress signals available in open federal data.

Can I join this to Form 5500 filings? Yes — use ein_plan_key (EIN-PPP), or ein plus plan_number. The EIN is zero-padded back to 9 digits, which a raw read of the PBGC file does not give you.

  • FDIC Structure Change Delta Monitor — bank charter M&A and failure events.
  • DOL Enforcement Rollup — wage-and-hour enforcement against the same employers.
  • WARN Layoff Aggregator — state WARN mass-layoff notices, an earlier distress signal.

Notes

  • Source: PBGC (pbgc.gov) open-data trusteed-plans file. Keyless, no API key required.
  • This is a screening tool, not a determination. Verify any finding against PBGC's own record before acting on it.
  • Column names in the published file vary over time; header resolution is spelling/format-insensitive across known variants, and a required column that cannot be matched fails the run listing the columns PBGC actually published.
  • If PBGC renames or relocates the data file beyond the built-in fallback candidates, the actor fails loudly with an explanatory message and bills nothing. (Version 1.0 exited with zero results here, which was indistinguishable from "PBGC has trusteed no plans".)