US Labor Union Leads & Financials Scraper (DOL OLMS) avatar

US Labor Union Leads & Financials Scraper (DOL OLMS)

Pricing

from $3.31 / 1,000 union lead records

Go to Apify Store
US Labor Union Leads & Financials Scraper (DOL OLMS)

US Labor Union Leads & Financials Scraper (DOL OLMS)

Scrape every US labor union from official DOL OLMS LM-2/3/4 reports: union name, affiliation, named contact, mailing address, members, assets, receipts, disbursements, officer salaries, dues & vendors + lead score. Filter by state, affiliation & size, with monitoring.

Pricing

from $3.31 / 1,000 union lead records

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

US Labor Union Leads & Financials Scraper — DOL OLMS (Contacts, Officers, Members & Money)

Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Department of Labor or any government body. All trademarks mentioned are the property of their respective owners. "DOL OLMS data" is referenced only to describe the public data source this Actor collects from.

Extract every US labor union from the official U.S. Department of Labor — OLMS Online Public Disclosure Room in one run. Every union in the country files an annual financial report (Form LM-2 / LM-3 / LM-4), and this actor turns those filings into a clean, ready-to-use B2B lead + financial-intelligence record: union name, national affiliation, file number, local designation, a named contact + full mailing address, members, total assets / liabilities / receipts / disbursements with itemized breakdowns, the officer & employee roster with reported compensation, the membership breakdown, the dues schedule, the union's largest vendors & payees, and a derived lead score.

The same run also pulls two related OLMS datasets that nobody else has on Apify: the labor-relations / "persuader" consultants that file LM-20/21 (the union-avoidance consulting industry) and the employers that file LM-10 persuader-activity reports — each identified by recordType so you can keep them together or split them out.

No login, no cookies, no browser, no API key — fast, reliable extraction straight from the federal source files.

Why this labor union scraper?

Generic Google-Maps or LinkedIn scrapers give you a union's name and a guessed phone number and nothing else. This actor reads the official OLMS annual reports directly and ships the richest union dataset in the category — firmographics and the full financial picture (assets, receipts, disbursements, officer pay, dues, vendors) in one clean table, for the entire country.

DataMaps / LinkedIn scrapersThis actor
Union name, local designation, national affiliationpartial✅ full name + affiliation decoded
Named contact + full mailing addressguessed✅ from the federal record
Members
Total assets / liabilities / receipts / disbursements
Itemized receipts & disbursements (dues, political, benefits, per-capita…)
Officer & employee roster + reported compensation✅ top earners first
Membership breakdown + dues / initiation-fee schedule
Top vendors & payees (CPA, law firm, investments, printing…)✅ optional
Form type (LM-2 / LM-3 / LM-4), fiscal-year end, PAC / trust flags
Derived lead score + lead signals
Only-new / amended monitoring mode

Who buys labor union data?

  • Insurance, benefits & retirement providers — unions sponsor health, pension and welfare funds; target them by size and assets for group benefits, fiduciary services, and D&O / fidelity-bond coverage. Pairs perfectly with the Form 5500 ERISA Scraper for the plans those unions run.
  • Banks, credit unions & investment managers — unions hold billions in assets and investments; the financials show exactly who has cash, securities and treasuries to manage.
  • Union & association software (CRM, dues, member management, compliance) — sell to active filers segmented by form type, members and budget.
  • Law firms & labor-relations consultants — the full competitive field of organized labor, with officers, finances and activity, in one table.
  • Vendors that sell to unions — printing, travel, events, promotional items, telecom, professional services; see who each union already pays and how much.
  • Researchers, journalists, PACs & policy teams — officer compensation, political spending, per-capita taxes and PAC flags for the entire labor movement.
  • Labor-relations & union-organizing market — the LM-20/21 persuader consultants are the complete directory of the union-avoidance consulting industry; the LM-10 employers are companies that reported persuader activity. Gold for unions, organizers, labor-law firms and journalists tracking who hires whom.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the US Labor Union Leads & Financials Scraper, optionally set states, affiliations (e.g. USW, IBEW, SEIU), a form type or a minimum members / assets, and choose your limit and sort.
  3. Click Start and watch records stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"states": ["CA", "NY", "IL"],
"affiliations": ["USW", "IBEW", "SEIU"],
"formTypes": ["LM-2"],
"minMembers": 500,
"includeOfficers": true,
"includeVendors": true,
"sortBy": "assetsHigh",
"maxResults": 1000
}
  • includeUnions / includeLaborConsultants / includeEmployerReports (all default true) — pick which OLMS datasets to pull: labor unions (LM-2/3/4), labor-relations persuader consultants (LM-20/21) and/or employer persuader reports (LM-10). Turn off the ones you don't need.
  • years — specific filing years (e.g. ["2025","2024"]). Each union's most recent report across the chosen years is kept. Leave empty to use recentYears. (Applies to unions only.)
  • recentYears (default 2) — when years is empty, load the N newest years; 2 covers the full current universe of active filers.
  • states — 2-letter US state codes. Leave empty for all.
  • affiliations — national affiliation abbreviations (USW, IBEW, IBT, SEIU, UAW, NALC, AFGE…). Use UNAFF for independent unions.
  • formTypesLM-2 (large, $250k+), LM-3 (mid, $10k–250k), LM-4 (small).
  • unionNameQuery — keep only unions whose name / affiliation / local contains this text.
  • activeOnly (default true) — drop unions that filed a terminal (dissolution / merger) report.
  • minMembers / maxMembers / minAssets / minReceipts — size filters.
  • hasPacFunds / withContactNameOnly / minLeadScore — record filters.
  • includeOfficers / maxOfficers — attach the officer & employee roster with compensation (top earners first).
  • includeVendors — attach the union's largest itemized vendors & payees.
  • sortByleadScore (default), assetsHigh, receiptsHigh, disbursementsHigh, membersHigh, newestFiling, or name.
  • maxResults / includeRawFields — output controls.
  • monitorMode / monitorKey — only return unions whose report is new or was amended since the last run with the same key.
  • proxyConfiguration — optional; the source is public and needs no proxy, so leave it off for the fastest runs.

Output

By default you get one clean, dense table of labor unions. A record:

{
"recordType": "laborUnion",
"source": "DOL OLMS Union Annual Report (LM-2/LM-3/LM-4)",
"unionName": "Electrical Workers IBEW AFL-CIO",
"affiliationAbbr": "IBEW",
"affiliationName": "International Brotherhood of Electrical Workers",
"fileNumber": "38430",
"localDesignation": "LU 322",
"formType": "LM-2",
"formTypeLabel": "LM-2 (large union, $250k+ in receipts)",
"yearCovered": 2025,
"fiscalYearEndMonth": "August",
"status": "active",
"contactName": "Jerry Payne",
"street": "691 English Drive",
"city": "Casper",
"state": "WY",
"zip": "82601",
"fullAddress": "691 English Drive, Casper, WY, 82601",
"members": 790,
"totalAssets": 8172038,
"totalLiabilities": 0,
"netAssets": 8172038,
"totalReceipts": 2219060,
"totalDisbursements": 1807380,
"receipts": { "dues": 542527, "interest": 79958, "dividends": 198776, "fees": 1298289, "fromMembers": 26167 },
"disbursements": { "representationalActivities": 326825, "politicalActivities": 0, "benefits": 207667, "toOfficers": 320753, "perCapitaTax": 429945 },
"assets": { "cash": 2007124, "investments": 5869320, "fixedAssets": 240592 },
"officers": [
{ "name": "Jerry D Payne", "title": "Business Manager/Fin Sec", "type": "officer", "totalCompensation": 133003 }
],
"officerCount": 18,
"totalOfficerCompensation": 531131,
"membershipBreakdown": [{ "category": "\"A\" Members", "number": 742, "votingEligible": true }],
"duesRates": [{ "rateType": "Regular dues/fees", "amount": "$42.00-$104.00", "unit": "MONTH" }],
"topVendors": [{ "name": "Miller Kaplan Arase", "city": "Burbank", "state": "CA", "typeOrClass": "Cpa Firm", "total": 28790 }],
"hasPacFunds": false,
"hasTrust": true,
"leadScore": 77,
"leadSignals": ["Named contact (Jerry Payne)", "790 members", "$8.2M in assets", "Sponsors a trust/benefit fund"],
"scrapedAt": "2026-06-21T16:03:33.000Z"
}

Every record also carries the raw OLMS report row under sourceFields unless you turn off includeRawFields. Switch the dataset view to Leads, Financials, Officers, or Labor-relations filers for a focused table.

Record types

The dataset mixes three record types (use the recordType field, or the source toggles, to split them):

  • laborUnion — the LM-2/3/4 union record shown above (the main, richest dataset).
  • laborRelationsConsultant — an LM-20/21 labor-relations / "persuader" consulting firm.
  • employerReport — an employer that filed an LM-10 persuader-activity report.

A labor-relations consultant / employer record:

{
"recordType": "laborRelationsConsultant",
"source": "DOL OLMS LM-20/21 (Labor Relations Consultant Report)",
"filerType": "LM-20/21",
"entityName": "Colon, Edwin A.",
"companyName": "Colon, Edwin A.",
"relatedNames": ["Industrial Relations Consultants", "Quigley, Robert J."],
"city": "Beverly Hills",
"state": "CA",
"allStates": ["CA"],
"srNumber": "257",
"filerIds": ["100228", "100229", "100230"],
"filingCount": 3,
"leadScore": 67,
"leadSignals": ["Labor relations / persuader consultant (LM-20/21)", "3 related entities / DBAs", "3 filings on record"]
}

What to expect (field coverage)

OLMS reports are official regulatory filings, so the core fields are near-complete. Note that the federal bulk file does not publish phone or e-mail — it provides a named contact and full mailing address (ideal for direct mail and CRM enrichment), plus the deepest financial detail available on any union.

Field groupCoverage
Union name, affiliation, file number, form type, state✅ ~100%
Named contact + full mailing address✅ ~99%
Members✅ ~93%
Total assets / receipts / disbursements✅ ~89% (LM-2/LM-3; LM-4 are small unions)
Officer roster + compensation (LM-2/LM-3)
Membership breakdown, dues schedule, vendors✅ where the union itemizes them
Phone / e-mail❌ not published by OLMS

A blank field means the source doesn't publish that signal for that report — not that scraping failed. Nothing is dropped, so you always get the richest record available.

How much does it cost to scrape DOL OLMS data?

This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:

  • Union lead record - One US labor union from the official DOL OLMS annual financial report (LM-2/LM-3/LM-4): union name, national affiliation, file number, local designation, named contact, full mailing address, members, total assets/liabilities/receipts/disbursements with breakdowns, the officer & employee roster with compensation, membership breakdown, dues schedule and optional top vendors — plus a derived 0-100 lead score and lead signals.
  • Labor-relations filer record - One US labor-relations filer from the official DOL OLMS persuader reports: a labor-relations 'persuader' consulting firm (LM-20/21) or an employer that filed an LM-10 report, with company name and all related entity/DBA names, city and state of every location, filer type, filing IDs and a derived lead score.

The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.

Automate & schedule

  • Apify API — start runs, fetch datasets, and manage schedules over REST.
  • apify-client for JavaScript and apify-client for Python — official SDKs.
  • Schedules — run it weekly/monthly with monitoring mode to capture newly-filed and amended union reports as fresh leads (OLMS refreshes the public disclosure data continuously as unions file).
  • Webhooks — trigger downstream actions (CRM import, Slack alert, e-mail sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/us-labor-union-leads').call({
states: ['CA', 'NY'],
affiliations: ['SEIU', 'IBEW'],
minMembers: 1000,
sortBy: 'assetsHigh',
maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Integrate with any app

  • Make — multi-step automation scenarios.
  • Zapier — push new union leads straight into your CRM.
  • Slack — get notified when a monitored state or affiliation gets a new or amended filing.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use it from your AI agent

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find every active LM-2 union in California with over 1,000 members and at least $5M in assets, with its officers and top vendors" and let it run the scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage


Data sourced from the public U.S. Department of Labor, Office of Labor-Management Standards (OLMS) Online Public Disclosure Room. This actor accesses information that labor organizations are required by law to report and that the DOL publishes for public inspection. Use it in compliance with Apify's Terms of Service and applicable laws.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. You can call this Actor from Claude, ChatGPT or any agent framework through the Apify MCP server - describe the data you need and let the assistant run this Actor for you.

FAQ

How is this Actor billed? Pay-per-event: you pay only for the results it delivers, with no monthly rental and no start fee. The per-event price is shown on the Pricing tab.

Can I schedule it and get results automatically? Yes - create a Schedule and add a webhook or an integration (Google Sheets, Slack, Make, Zapier) to push each run's dataset wherever you need it.

Which export formats are available? Every run's dataset can be downloaded as JSON, CSV, Excel (XLSX), XML, HTML or RSS from the Apify Console or the API.

Can I run it from code or an AI agent? Yes - through the Apify API and client libraries, or from Claude, ChatGPT and other assistants via the Apify MCP server.

Is it legal to scrape DOL OLMS data? This Actor collects publicly available data only. You are responsible for using the output in compliance with applicable laws (including data-protection law where personal data is involved) and the source's terms. See Data & lawful use and the Disclaimer below.

Data & lawful use

The source is an official public register, published so that anyone can consult it. Records can name individuals (union officers), so the output may contain personal data even though it is public. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis, honour access and deletion requests, and respect the register's own reuse conditions, which can restrict marketing or commercial use.

Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Department of Labor or any government body. All trademarks mentioned are the property of their respective owners.

"DOL OLMS data" is referenced only in a descriptive, nominative sense - to identify the public data source this Actor collects from. This Actor is not an official product or service of the U.S. Department of Labor and is not authorised or certified by it. It collects only publicly available records; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the source's own terms of use or reuse conditions.

Need help?

Open an issue on the Actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this Actor is actively maintained.