OrbTop

DOL EFAST2 Form 5500 Benefit Plan Scraper

LEAD GENERATION

Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.

Form 5500 Benefit Plan & Broker Database — DOL EFAST2 Scraper

Pulls the complete ERISA Form 5500 benefit-plan universe from the DOL's EFAST2 system, the federal filing system every employer-sponsored retirement and welfare plan reports to. Returns sponsor identity, plan identity, participant counts, and asset data for every plan year from 2009 to the current one, joined with the insurance carrier and broker of record (Schedule A) and the service providers behind the plan (Schedule C).


DOL EFAST2 Form 5500 Scraper Features

  • Covers every Form 5500 and Form 5500-SF filing DOL publishes, 2009 through the current plan year — roughly 1.1 million filings annually.
  • Returns sponsor identity in full: legal name, DBA, EIN, mailing address, phone, and NAICS business code.
  • Joins Schedule A to each filing — the insurance carrier, contract number, and the broker or agent of record with their commission and fees.
  • Joins Schedule C to each filing — the recordkeeper, TPA, auditor, or adviser, along with their direct compensation and service codes.
  • Returns participant counts (active, retired, with account balance) and, for small-plan 5500-SF filings, inline asset and contribution totals.
  • Emits one row per attached schedule entry alongside the base filing, so broker and provider names are directly filterable — no second join required.

Who Uses Form 5500 Benefit Plan Data?

  • Retirement-plan advisors — prospect employers by plan asset size, participant count, and incumbent broker.
  • Group-benefits brokers — find plans with a named broker of record worth displacing, and the commission they're currently earning.
  • Compliance and due-diligence teams — verify a plan's sponsor, administrator, and service-provider relationships before signing anything.
  • Recordkeepers and TPAs — track compensation disclosures across every plan in the market they compete in.
  • Data and research teams — build a standing feed of new, amended, and final filings, or compute year-over-year participant and asset trends.

How DOL EFAST2 Form 5500 Scraper Works

  1. Pick the plan years and form types you want. Leave both empty and you get the entire 2009-2026 archive.
  2. The actor retrieves DOL's filing and schedule records for those years and joins them by filing ID.
  3. Each filing comes back as one base record, plus an additional record for every attached Schedule A or Schedule C entry it has.
  4. Set maxItems to cap the run at a specific record count, or leave it high for a full year's worth — or the whole archive's worth — of filings.

Input

{
  "planYears": ["2023", "2024"],
  "formTypes": ["5500-SF"],
  "includeScheduleA": true,
  "includeScheduleC": true,
  "maxItems": 5000
}
Field Type Default Description
planYears array all years (2009-2026) Plan filing years to include. Leave empty for the full archive.
formTypes array both 5500 (large plans) and/or 5500-SF (small plans). Leave empty for both.
includeScheduleA boolean true Join Schedule A — insurance carrier, contract number, and broker/agent of record.
includeScheduleC boolean true Join Schedule C — service provider name and direct compensation.
maxItems integer 10 Maximum number of records — base filings plus any joined schedule rows — to return.

Leaving planYears and formTypes empty pulls the widest slice DOL publishes; narrow either one to scope a run to exactly what you need.


DOL EFAST2 Form 5500 Scraper Output Fields

A base filing row (schedule: null):

{
  "ack_id": "20100211140439P040003583622001",
  "form_type": "5500",
  "plan_name": "ANDREW BONAVITA DMD PC 401K PROFITSHARING",
  "plan_number": "001",
  "sponsor_name": "ANDREW BONAVITA DMD PC",
  "sponsor_ein": "043471038",
  "sponsor_address_city": "LONGMEADOW",
  "sponsor_address_state": "MA",
  "plan_type": "defined_contribution",
  "benefit_codes": ["2E", "2G", "2J", "2K", "3E"],
  "participants_total": 6,
  "participants_active": 5,
  "signer_name": "ANDREW BONAVITA",
  "signer_role": "admin",
  "date_received": "2010-02-11",
  "schedule": null
}

The same filing's joined Schedule A row (schedule: "A"):

{
  "ack_id": "20100211140439P040003583622001",
  "form_type": "5500",
  "plan_name": "ANDREW BONAVITA DMD PC 401K PROFITSHARING",
  "sponsor_name": "ANDREW BONAVITA DMD PC",
  "schedule": "A",
  "insurance_carrier_name": "ING LIFE INSURANCE AND ANNUITY",
  "insurance_carrier_ein": "710294708",
  "insurance_contract_number": "PHQ438",
  "broker_name": "AMERITAS INVESTMENT CORP",
  "broker_commission_amount": 188,
  "broker_fees_amount": null
}
Field Type Description
ack_id string DOL acknowledgement ID — the join key across the filing and every schedule row.
form_type string 5500 or 5500-SF.
plan_year_begin_date string Plan year start date.
form_tax_period string End of the plan year covered by this filing.
plan_name string Plan name.
plan_number string Plan number.
plan_effective_date string Date the plan became effective.
plan_entity_type string Plan entity type code.
dfe_plan_entity_type string DFE plan entity type (Form 5500 large-plan filings only).
is_initial_filing boolean Whether this is the plan's first filing.
is_amended boolean Whether this filing amends a prior one.
is_final_filing boolean Whether this is the plan's final filing.
is_short_plan_year boolean Whether the reported plan year is a short year.
collective_bargaining boolean Whether the plan covers collectively bargained employees.
sponsor_name string Plan sponsor's legal name.
sponsor_dba_name string Sponsor's DBA name.
sponsor_ein string Sponsor's EIN.
sponsor_phone string Sponsor's phone number.
sponsor_address_line1 string Sponsor mailing address line 1.
sponsor_address_city string Sponsor mailing address city.
sponsor_address_state string Sponsor mailing address state.
sponsor_address_zip string Sponsor mailing address ZIP.
sponsor_country string Sponsor country.
sponsor_business_code string Sponsor's NAICS business code.
admin_name string Plan administrator name.
admin_ein string Plan administrator EIN.
admin_phone string Plan administrator phone number.
plan_type string defined_contribution, defined_benefit, welfare, or other.
benefit_codes array Pension and welfare benefit feature codes (e.g. 2A, 2E, 4A).
participants_total number Total participants, end of year.
participants_active number Active participants, end of year.
participants_retired number Retired or separated participants.
participants_with_balance number Participants with an account balance.
total_assets_boy number Total plan assets, beginning of year — 5500-SF filings only.
total_assets_eoy number Total plan assets, end of year — 5500-SF filings only.
total_contributions number Total contributions received — 5500-SF filings only.
total_distributions number Total distributions paid to participants — 5500-SF filings only.
signer_name string Name of the person who signed the filing.
signer_role string admin or sponsor.
date_received string Date DOL received the filing.
schedule string null for a base filing row, A or C for a joined schedule row.
insurance_carrier_name string Schedule A — insurance carrier name.
insurance_carrier_ein string Schedule A — insurance carrier EIN.
insurance_contract_number string Schedule A — insurance contract/policy number.
broker_name string Schedule A — the broker or agent of record, where DOL publishes one.
broker_commission_amount number Schedule A — broker commission amount.
broker_fees_amount number Schedule A — broker fees amount.
service_provider_name string Schedule C — service provider name (recordkeeper, TPA, auditor, adviser).
service_provider_ein string Schedule C — service provider EIN.
service_provider_relation string Schedule C — the provider's stated role.
service_provider_comp_amount number Schedule C — direct compensation amount.
service_code array Schedule C — service codes for this provider.

FAQ

How do I get Form 5500 data from DOL EFAST2?

Run DOL EFAST2 Form 5500 Benefit Plan Scraper with a plan year and form type, or leave both blank for the full 2009-2026 archive. You get back structured records instead of downloading and parsing government filings by hand.

What years of Form 5500 filings are covered?

Every plan year DOL publishes, 2009 through the current one. Narrow to specific years with planYears, or leave it empty and get all of them in one run.

Can I get the broker or insurance carrier behind a plan?

Yes. includeScheduleA joins each filing to its Schedule A entries, which carry the insurance carrier name, contract number, and — where DOL discloses one — the named broker or agent of record with their commission.

Does this include Schedule C compensation data?

It does. includeScheduleC joins each filing to its Schedule C service providers — recordkeepers, TPAs, auditors, advisers — along with their direct compensation and service codes.

Do I need a DOL account or API key?

No. DOL EFAST2 filings are public record, so there's no account, login, or API key to configure.


Need More Features?

Need custom fields, additional schedules, or a different filter? File an issue or get in touch.

Why Use DOL EFAST2 Form 5500 Benefit Plan Scraper?

  • Complete history, not just this year — 2009 through the current plan year in one actor, so year-over-year participant and asset changes are yours to compute.
  • Schedules joined, not just the base filing — most Form 5500 sources stop at plan name and sponsor. This one adds the insurance carrier, the broker of record, and the service providers behind the plan.
  • Scoped to what you need — narrow by plan year and form type, or pull the whole archive. Either way, you're not paying for schedules you didn't ask for.