US Employer & 401(k) Plan Data — Form 5500 (DOL) avatar

US Employer & 401(k) Plan Data — Form 5500 (DOL)

Pricing

from $4.00 / 1,000 results

Go to Apify Store
US Employer & 401(k) Plan Data — Form 5500 (DOL)

US Employer & 401(k) Plan Data — Form 5500 (DOL)

Every US employer that files an ERISA benefit plan — 401(k), pension, health & welfare — from the official DOL Form 5500 datasets. Name, EIN, phone, address, industry (NAICS), plan type, participant counts & assets. ~1M plans/year. Public domain, no key, no proxy.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

Berkan Kaplan

Berkan Kaplan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

US Employer & 401(k) Benefit Plan Data — Form 5500

US Employer & 401(k) Plan Data — Form 5500 (DOL)

Need a fresh, contactable list of US employers — with the retirement and health plans they sponsor, who runs them, and how big they are? This Actor turns the U.S. Department of Labor's official Form 5500 & 5500-SF filings into ready-to-use B2B records: ~1,000,000 employer benefit-plan filings per year, each with the sponsor's name, EIN, phone, mailing address, industry (NAICS), plan type, participant count and plan assets.

Built on the DOL's public-domain Form 5500 datasets — free to reuse and resell. No API key, no login, no proxies, no fragile HTML scraping — it reads the official annual data files directly, so it doesn't break.

  • 🏢 ~1M plans/year — every employer that files an ERISA plan (401(k), pension, health & welfare), not a sample
  • ☎️ ~99% have a sponsor phone, ~100% a mailing address & EIN (measured) — a call-ready lead source
  • 📊 Size & money signals — participant counts on every plan, total assets on small plans
  • One run → one clean, flat dataset (JSON / CSV / Excel / API), filterable by state, industry, size & plan type

Quick start (API)

Get 100 California health-care employers (NAICS 62) with a phone, in one call:

curl -X POST "https://api.apify.com/v2/acts/foxlabs~us-employer-benefit-plans/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "year": "2023", "states": ["CA"], "industryCodes": ["62"], "onlyWithPhone": true, "maxResults": 100 }'

Prefer no code? Open the Input tab, set your filters, and click Start — then download the results.

What you get

One clean, flat record per plan filing (an employer can sponsor several plans):

FieldTypeDescription
sponsorNamestringEmployer / plan sponsor legal name
dbaNamestring"Doing business as" name, when filed
einstring9-digit federal Employer ID Number
phonestringSponsor phone number
address / city / state / zipstringSponsor mailing address
businessCode / industrystring6-digit NAICS code + its sector name
planNamestringName of the benefit plan
planNumberstring3-digit plan number (unique per sponsor)
planEntityTypestringSingle-employer, multiemployer, multiple-employer or DFE
planEffectiveDatestringWhen the plan started
isPensionPlan / isWelfarePlanboolRetirement plan / health & welfare plan
benefitCodesstringRaw DOL benefit-type codes (e.g. 2K = 401(k))
participants / activeParticipantsnumberParticipant counts — an employer-size signal
totalAssets / totalAssetsFormattednumber / stringPlan assets — reported directly on small (5500-SF) plans
planSizestringlarge (100+ participants, Form 5500) or small (Form 5500-SF)
formType / ackId / planYear / filingDatestringProvenance & filing identifiers

Sample output

{
"sponsorName": "THE LAW OFFICE OF ANTHONY SCAR",
"ein": "472100868",
"phone": "7184762411",
"address": "9131 QUEENS BLVD STE 522",
"city": "ELMHURST",
"state": "NY",
"zip": "11373",
"businessCode": "522298",
"industry": "Finance & Insurance",
"planName": "THE LAW OFFICE OF ANTHONY SCAR 401(K) PROFIT SHARING PLAN & TRUST",
"planNumber": "001",
"planEntityType": "Single-employer plan",
"isPensionPlan": true,
"isWelfarePlan": false,
"benefitCodes": "2E2F2G2J2K2S2T3D",
"participants": 5,
"totalAssets": 433758,
"totalAssetsFormatted": "$434K",
"planSize": "small",
"formType": "5500-SF",
"planYear": "2023",
"filingDate": "2024-07-01"
}

Input & filters

  • Plan year — 2019–2023 (filings arrive up to ~10 months after year-end, so the most complete recent year is usually 2 years back).
  • States — 2-letter codes (["CA","NY","TX"]); leave empty for all.
  • Industry (NAICS) — one or more code prefixes: 62 = health care, 54 = professional services, 23 = construction, 52 = finance, or longer prefixes to narrow.
  • Employer name contains — keyword match on the sponsor name (hospital, bank, acme).
  • Plan size — large (100+ participants), small (under 100), or all.
  • Plan type — pension/retirement (401(k), DB), health & welfare, or any.
  • Participant rangeminParticipants / maxParticipants to target employers by headcount.
  • Minimum assets — keep only plans reporting at least N in assets (small plans).
  • Only employers with a phone — for call-ready lists.
  • Max results — up to 500,000.

Example inputs (copy & paste)

// 1) Lead list — California health-care employers with a phone
{ "year": "2023", "states": ["CA"], "industryCodes": ["62"], "onlyWithPhone": true, "maxResults": 2000 }
// 2) 401(k) advisors — small retirement plans in Texas with $1M–$10M in assets
{ "year": "2023", "states": ["TX"], "planSize": "small", "planType": "pension", "minAssets": 1000000, "maxResults": 5000 }
// 3) Mid-market targeting — employers with 100–1,000 participants nationwide
{ "year": "2023", "planSize": "large", "minParticipants": 100, "maxParticipants": 1000, "maxResults": 20000 }
// 4) Named employer — every plan a specific company sponsors
{ "year": "2023", "keyword": "tesla", "maxResults": 100 }
// 5) Benefits brokers — health & welfare plans in the New York metro
{ "year": "2023", "states": ["NY", "NJ", "CT"], "planType": "welfare", "maxResults": 10000 }
// 6) Whole-state export — every filing employer in Florida
{ "year": "2023", "states": ["FL"], "maxResults": 50000 }
// 7) Construction sector — large plans, NAICS 23, with participant counts
{ "year": "2023", "industryCodes": ["23"], "planSize": "large", "maxResults": 15000 }

Use cases

  • 401(k) / retirement-plan sales. You sell recordkeeping, advisory or TPA services. Filter planType: "pension" + planSize: "small" + an asset range → a list of plan sponsors with phone, EIN and plan assets, ranked by size — the exact book that BrightScope and Judy Diamond built businesses on.
  • Employee-benefits & insurance brokers. Target planType: "welfare" in your states → employers running health & welfare plans, with contacts, to pitch group benefits.
  • B2B lead generation. Every record is an established US employer with a verified mailing address and phone and an industry (NAICS) — a clean, compliant, public-record lead source with a built-in size signal (participants).
  • Market sizing & research. Count filers by state, industry or plan type; rank sponsors by participants or assets to size a segment and spot the leaders.
  • CRM enrichment. Match your prospects by EIN or name → append plan type, participant count, assets and industry. Missing fields return null, never a guess.
  • Competitive & M&A intelligence. Track which employers sponsor which plans, how many participants and how much in assets — filing over filing, year over year.

Performance & throughput

Each run streams the official annual data file for the chosen year (the large-plan file is ~30 MB, the small-plan file ~130 MB), filtering as it reads — so it stops as soon as your maxResults is met. Filtered pulls are fast (a few thousand records in well under a minute); a full-year, no-filter export processes ~1M filings. There are no external keys, proxies or rate limits — throughput is bounded only by your Apify plan.

Integrations

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('foxlabs/us-employer-benefit-plans').call({
year: '2023', states: ['CA'], industryCodes: ['62'], onlyWithPhone: true, maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python (apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("foxlabs/us-employer-benefit-plans").call(run_input={
"year": "2023", "states": ["CA"], "industryCodes": ["62"], "onlyWithPhone": True, "maxResults": 500,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["sponsorName"], item.get("phone"), item.get("totalAssetsFormatted"))

Also works with Make / n8n / Zapier (Apify app → run this Actor, map the input), scheduled runs, webhooks, and the Apify MCP server for AI agents.

Data quality (measured, 2023 large plans)

FieldFill rate
Sponsor name, EIN, plan name, plan type100%
Mailing address, city, state, ZIP~99.9%
Sponsor phone~99.3%
Industry code (NAICS)~96.5%
Participant counts~96.3%
Total assetssmall (5500-SF) plans: direct; large plans: via Schedule H (not joined in v1 — value is null)

Measured on the full 2023 large-plan dataset. Every value is read from the filed form — never fabricated; missing values are null.

Pricing

Pay per result — you're billed per plan record returned. There's an Apify free tier to evaluate the full feature set before you scale. The underlying data is public-domain and there are no proxy or third-party costs.

FAQ

Can I use this data commercially / resell it? Yes. Form 5500 data is a U.S. government work in the public domain — free to reuse and redistribute, including commercially.

How fresh is the data? It reads the DOL's official annual dataset for the year you pick. DOL refreshes these files as filings and amendments arrive; each run pulls the current "latest filing per plan" version.

Why is the most complete year ~2 years back? Plans file up to ~10 months after their year-end, plus extensions. 2023 is essentially complete; the current year is still filling in.

Do I need an account with the DOL? No. No key, no login — it's public open data.

What's an EIN? The 9-digit federal Employer Identification Number — a stable key to match and dedupe employers across datasets.

What's the difference between large and small plans? Large plans (100+ participants) file Form 5500 with richer schedules; small plans (under 100) file the shorter 5500-SF, which reports total assets directly. Set planSize to pick one or merge both.

How do I find 401(k) plans specifically? Filter planType: "pension". The raw benefitCodes field carries DOL codes (e.g. 2K = 401(k) feature) if you need finer detail.

Do you include plan assets for large plans? Large-plan financials live on Schedule H, which v1 does not join yet — so totalAssets is populated for small plans and null for large ones (participant counts are on both). Schedule H enrichment is on the roadmap.

Can I get several years? Run once per year and combine — filings link across years by EIN + plan number.

How many records in one run? Up to 500,000 via maxResults.

Troubleshooting

  • 0 results → filters too narrow. Widen the states/industryCodes, clear onlyWithPhone/minAssets, or check the year.
  • totalAssets is null → that plan is a large (Form 5500) filing; assets there come from Schedule H (not joined in v1). Small (5500-SF) plans carry assets directly.
  • First results take a moment → the Actor streams the official annual file at the start of each run (it's built for filtered lists, not single instant lookups); with a maxResults it stops early.
  • A sponsor name looks truncated → small-plan sponsor names are as filed with the DOL; some filers abbreviate. Values are never altered.
  • License. Form 5500 series data is published by the U.S. Department of Labor (EBSA) as a public-domain U.S. government work; redistribution — including commercial — is permitted.
  • Personal data. Records describe employers and their plans, not consumers. Sponsor phone/address are business contact details filed on a public federal form.
  • Assets on large plans. totalAssets is null for large (Form 5500) plans in v1 — those figures are on Schedule H, planned for a future release. Participant counts are present on all plans.
  • Amended/duplicate filings. The Actor uses DOL's "latest filing per plan" dataset, so you get one current record per plan (not every historical amendment).
  • Not affiliated with the U.S. Department of Labor; this Actor redistributes their public data.

Support

Questions, a field you'd like added (Schedule H financials, Schedule C service providers?), or a custom build? Open the Issues tab on this Actor, or email info@foxlabs.com.tr. We reply fast.

If this Actor saves you time, a ⭐ review really helps.

Changelog

0.1

  • Initial release. ~1M US employer benefit-plan filings per year from the official DOL Form 5500 & 5500-SF datasets (public domain): sponsor name, EIN, phone, mailing address, industry (NAICS), plan name & type, participant counts, and plan assets (small plans). Filter by year, state, industry, plan size, plan type, participant range, assets and employer name. No key, no proxy.

Part of the foXLabs data platform — official public-data company, contact, ownership, jobs, charity, location & AI-search intelligence scrapers. Browse the full suite at data.foxlabs.com.tr.