Build Donor Profiles from FEC Records with Enrichment Data

Enrich donor profiles by combining FEC contribution records with property, business, and biographical data. Practical guide to matching and merging sources.

FEC contribution records provide a foundation for political prospect research, but they capture only one dimension of donor capacity. A $3,500 contribution tells you someone gave the legal maximum; it doesn't tell you whether they can give $50,000 to an independent expenditure committee, own three rental properties, or serve on corporate boards. Enriching FEC records with public property data, business registrations, and professional profiles transforms sparse transaction logs into comprehensive donor intelligence that drives major gifts strategy.

This guide covers the technical workflow for merging FEC donor records with third-party enrichment sources. You'll learn how to structure raw FEC data for automated matching, select cost-effective enrichment providers, handle fuzzy name matching across datasets, and build composite profiles that score capacity with confidence. The process assumes you're working with thousands of records and need repeatable, auditable procedures — not one-off manual lookups.

Federal law prohibits the use of FEC donor data for the solicitation of political contributions. Please use all retreived data appropriately and check specific limitation on every dataset.

What enrichment data sources provide the highest match rates for political donors?

Property ownership records, business entity registrations, and professional licensing databases deliver the most reliable matches when linked to FEC donor addresses. County assessor records typically match 60–70% of individual donors who own real estate in the jurisdiction where they're registered to vote. Secretary of State business databases match 25–35% of donors with officer or director roles in corporations or LLCs. LinkedIn profiles match 40–50% of donors under age 55, dropping to under 20% for donors over 65.

County property assessor databases in the United States are public records accessible under state open records laws, with most jurisdictions providing bulk data downloads or API access.

National Association of Counties (naco.org)

Wealth screening services aggregate these public sources with proprietary philanthropy databases, but they introduce cost per lookup (typically $0.50–$3.00 per record). The ROI calculation depends on your donor file size and whether you're scoring prospects for a single campaign cycle or building a long-term development database. For files under 5,000 donors, direct API calls to property and business databases often cost less than bulk screening contracts.

<tr>

  <th>Data Source Type</th>

  <th>Cost</th>

  <th>Match Accuracy</th>

  <th>Coverage Geography</th>

  <th>API Availability</th>

  <th>Legal Restrictions</th>

</tr>

<tr>

  <td>County property records</td>

  <td>Free to $0.10/lookup</td>

  <td>85–95% when address matches</td>

  <td>County-level (US)</td>

  <td>Varies by county; 40% have APIs</td>

  <td>Public record; no FCRA limits</td>

</tr>

<tr>

  <td>State business registrations</td>

  <td>Free to $0.05/lookup</td>

  <td>90% exact name match</td>

  <td>State-level (US)</td>

  <td>Most states offer bulk download</td>

  <td>Public record; no FCRA limits</td>

</tr>

<tr>

  <td>Wealth screening (WealthEngine, iWave)</td>

  <td>$0.50–$3.00/record</td>

  <td>Proprietary scores; vendor-dependent</td>

  <td>National (US, some international)</td>

  <td>REST APIs standard</td>

  <td>FCRA applies if used for credit decisions</td>

</tr>

<tr>

  <td>LinkedIn profiles (manual scraping)</td>

  <td>Free (time cost)</td>

  <td>60–70% for common names</td>

  <td>Global</td>

  <td>None (ToS prohibits automated access)</td>

  <td>Violates LinkedIn ToS for automation</td>

</tr>

<tr>

  <td>SEC EDGAR filings</td>

  <td>Free</td>

  <td>95% for insider transactions</td>

  <td>National (US public companies)</td>

  <td>Full-text search and bulk downloads</td>

  <td>Public record; no restrictions</td>

</tr>

How do you retrieve FEC records programmatically for enrichment workflows?

The FEC API (api.open.fec.gov) provides endpoints for searching individual contributions by name, employer, or committee. The /schedules/schedule_a/ endpoint returns itemized contributions with donor name, address, occupation, employer, and contribution date. Request pagination is capped at 100 records per call; for bulk extraction of all contributions above $200 (the itemization threshold), download quarterly bulk files from fec.gov/data/browse-data/?tab=bulk-data in pipe-delimited format.

Parse the indiv files to extract columns: CMTE_ID, NAME, CITY, STATE, ZIP_CODE, EMPLOYER, OCCUPATION, TRANSACTION_DT, TRANSACTION_AMT. The NAME field combines first and last names without consistent delimiters — you'll need to split on commas, handle suffixes (Jr., III), and normalize capitalization before matching against enrichment sources. Address fields are self-reported by committees and contain typos, abbreviations, and PO boxes that reduce geocoding match rates.

For more detailed guidance on extracting historical FEC data for specific donors, see our guide on how to retrieve FEC contribution baseline.

What preprocessing steps improve match rates between FEC and enrichment data?

Standardize donor names to "Last, First Middle" format and convert to Title Case before matching. Parse ZIP codes to 5-digit format, discarding ZIP+4 extensions that rarely match assessor databases. Geocode addresses to latitude/longitude coordinates using USGS or Census Bureau APIs — this enables radius searches in property databases when exact address matches fail.

Address standardization using USPS Coding Accuracy Support System (CASS) certification improves geocoding match rates by 15–25% compared to raw FEC address strings.

United States Postal Service (usps.com)

Create a unique donor ID by hashing the normalized name + ZIP5. This becomes the join key for merging enrichment data. Store the original raw FEC record alongside the normalized version for audit trails — you'll need to trace back to the source when resolving match conflicts.

Step-by-Step: Merging FEC donor records with property, business registration, and social profile data to build comprehensive donor profiles

  1. Extract and normalize FEC records — Download bulk FEC files, parse donor fields, standardize names to "Last, First" format, and geocode addresses to latitude/longitude coordinates.

  2. Deduplicate donor records using fuzzy matching — Apply phonetic name matching and address normalization to consolidate duplicate entries, reducing enrichment API costs by 30–50%.

  3. Query property assessor APIs by address or owner name — Match normalized FEC addresses against county property databases; retrieve assessed values, square footage, and ownership dates for real estate holdings.

  4. Cross-reference business entity registrations by donor name — Search state Secretary of State databases for exact name matches; extract officer roles, entity types, and formation dates to identify business ownership.

  5. Merge enrichment results with confidence scores — Join property and business data to FEC records using donor ID; assign match confidence scores (0.0–1.0) based on name similarity and address overlap, flagging low-confidence matches for manual review.

Property data enrichment delivers the most reliable capacity indicators. A donor with a primary residence assessed at $1.2M and two rental properties signals significantly higher capacity than FEC contribution history alone reveals. Business registrations identify donors with liquidatable assets or insider equity positions. To merge all of these different file sources and formats, Kit Workflows automates the entire sequence, from FEC data normalization to property database queries to profile assembly. Start a 14-Day Free Trial to process your donor records with pre-built workflows that help surface more donor prospects, faster.

How do you handle unmatched records and conflicting data across sources?

Expect 30–40% of FEC records to remain unmatched after automated enrichment, typically due to renters (no property records), donors using business addresses, or out-of-state contributions where local property databases have no coverage. Flag unmatched records for manual research rather than forcing low-quality matches. High-value donors ($10,000+ lifetime contributions) justify the time cost of manual LinkedIn and Google searches. [Kit Workflows] (https://www.kitworkflows.com) also offers AI powered research to get high quality bios written in seconds.

When multiple sources return conflicting data — for example, different property values from county assessor versus Zillow estimates — prioritize official government records over commercial aggregators. County assessor data reflects actual tax valuations; Zillow estimates are algorithmic predictions. For employer information, prefer LinkedIn current employer over FEC employer field, which reflects the donor's employer at the time of contribution and may be outdated for records older than 12 months.

The Fair Credit Reporting Act (FCRA) regulates the use of consumer reports for credit, employment, and insurance decisions, but does not restrict use of public records for fundraising prospect research.

Federal Trade Commission (ftc.gov)

Implement a data provenance field that records the source and retrieval date for each enrichment attribute. When a conflict arises, your team can trace back to the original source and apply consistent resolution rules. Store both the original value and the resolved value to maintain auditability.

What schema design supports efficient querying of enriched donor profiles?

Structure your enriched donor table with a primary donor record containing FEC-sourced fields (name, address, occupation, employer) plus a normalized donor ID. Link this to separate tables for property holdings, business affiliations, and contribution history using one-to-many relationships. Index on donor ID, last name, ZIP code, and total property value for fast lookups during capacity scoring.

Nonprofit prospect research professionals report that 73% of major gift identification workflows combine FEC contribution data with real estate ownership records.

Donorly Prospect Research Guide (donorly.com)

Store enrichment metadata in a separate audit table: source API, query timestamp, match confidence score, and refresh schedule. This enables you to re-enrich stale records without reprocessing the entire file. Set refresh intervals based on data volatility — property records change infrequently (annual refresh sufficient), while LinkedIn employment data should refresh quarterly for active prospects.

For comprehensive strategies on combining these enriched profiles with other donor intelligence sources, review our comprehensive donor intelligence strategies guide. Once you've built enriched profiles, apply capacity scoring to enriched profiles to prioritize outreach systematically.

How frequently should you refresh enriched donor data?

Property ownership changes occur on a 7–10 year cycle for most homeowners; quarterly refreshes waste API calls. Annual refreshes suffice unless you're targeting donors in volatile real estate markets or tracking developers who churn properties frequently. Business entity data should refresh semi-annually — officer changes, dissolutions, and new formations affect capacity signals for business owners.

FEC contribution data requires monthly refreshes during election cycles (March–November) and quarterly refreshes during off-cycle periods. Donors who max out to federal candidates early in the cycle signal capacity and intent for independent expenditure solicitations. Incremental refresh logic that queries only for contributions after your last refresh date reduces processing time by 90% compared to full file reprocessing.

Build a refresh priority queue based on donor lifetime value and recency of last contribution. Donors who gave $10,000+ in the past 24 months justify monthly enrichment refreshes; donors with no activity in 36+ months can wait for annual batch updates. This tiered approach keeps enrichment costs proportional to donor engagement while ensuring high-value prospects have current data.

Frequently Asked Questions

What enrichment data sources provide the highest match rates for political donors?

Property ownership records, business entity registrations, and professional licensing databases deliver the most reliable matches when linked to FEC donor addresses. County assessor records typically match 60–70% of individual donors who own real estate in the jurisdiction where they're registered to vote. Secretary of State business databases match 25–35% of donors with officer or director roles in corporations or LLCs. LinkedIn profiles match 40–50% of donors under age 55, dropping to under 20% for donors over 65.

How do you retrieve FEC records programmatically for enrichment workflows?

The FEC API (api.open.fec.gov) provides endpoints for searching individual contributions by name, employer, or committee. The /schedules/schedule_a/ endpoint returns itemized contributions with donor name, address, occupation, employer, and contribution date. For bulk extraction of all contributions above $200, download quarterly bulk files from fec.gov/data/browse-data/?tab=bulk-data in pipe-delimited format.

What preprocessing steps improve match rates between FEC and enrichment data?

Standardize donor names to Last, First Middle format and convert to Title Case before matching. Split compound last names into searchable tokens. Parse ZIP codes to 5-digit format, discarding ZIP+4 extensions. Geocode addresses to latitude/longitude coordinates using USGS or Census Bureau APIs. Before calling any paid enrichment API, deduplicate records first to avoid paying multiple times for the same donor.

How do you handle unmatched records and conflicting data across sources?

Expect 30–40% of FEC records to remain unmatched after automated enrichment. Flag unmatched records for manual research rather than forcing low-quality matches. When multiple sources return conflicting data, prioritize official government records over commercial aggregators. Implement a data provenance field that records the source and retrieval date for each enrichment attribute.

What schema design supports efficient querying of enriched donor profiles?

Structure your enriched donor table with a primary donor record containing FEC-sourced fields plus a normalized donor ID. Link this to separate tables for property holdings, business affiliations, and contribution history using one-to-many relationships. Index on donor ID, last name, ZIP code, and total property value for fast lookups during capacity scoring.

How frequently should you refresh enriched donor data?

Property ownership changes occur on a 7–10 year cycle; annual refreshes suffice. Business entity data should refresh semi-annually. FEC contribution data requires monthly refreshes during election cycles and quarterly refreshes during off-cycle periods. Build a refresh priority queue based on donor lifetime value and recency of last contribution.