Fec Filing Parser
Pricing
from $10.00 / 1,000 results
Fec Filing Parser
Turn raw U.S. Federal Election Commission electronic filings into clean, structured JSON you can drop straight into a database, spreadsheet, or analytics pipeline.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Logical Vivacity
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
FEC Campaign Finance Filing Parser
Turn raw U.S. Federal Election Commission electronic filings into clean, structured JSON you can drop straight into a database, spreadsheet, or analytics pipeline. Give the actor one or more filing IDs and it returns a header / summary record plus every itemized contribution, disbursement, or loan row contained in the filing.
What it does
- Fetches the raw
.fecdocument for each filing ID you supply from the FEC's public electronic-filings index. - Parses the filing's fixed-format text into typed Python objects.
- Splits the result into:
- One filing header record (filer name, committee ID, period covered, totals, etc.).
- One itemized row record for each Schedule A / B / C / D / E line item, tagged with its schedule bucket.
- Pushes every record to the actor's default dataset.
Inputs
| Field | Type | Default | Description |
|---|---|---|---|
filingIds | array of string / integer | required | FEC electronic filing IDs to download and parse, e.g. ["1666999"]. |
includeItemizedRows | boolean | true | If false, only the filing header / summary is returned. |
maxRowsPerFiling | integer | 10000 | Cap on itemized rows returned per filing. Large filings can contain 100,000+ rows. |
Example input
{"filingIds": ["1666999"],"includeItemizedRows": true,"maxRowsPerFiling": 10000}
Output
Every record is pushed to the default dataset and tagged with a
record_type of either filing_header or itemized_row.
Sample header record
{"record_type": "filing_header","filing_id": "1666999","source_url": "https://docquery.fec.gov/dcdev/posted/1666999.fec","data": {"header": {"record_type": "HDR","ef_type": "FEC","fec_version": "8.4","soft_name": "...","report_id": "..."},"filer_committee_id_number": "C00000000","committee_name": "EXAMPLE FOR CONGRESS","form_type": "F3","coverage_from_date": "2024-01-01","coverage_through_date": "2024-03-31","total_receipts_period": 123456.78}}
Sample itemized row record
{"record_type": "itemized_row","filing_id": "1666999","schedule": "Schedule A","row_index": 0,"data": {"form_type": "SA11AI","filer_committee_id_number": "C00000000","contributor_last_name": "Smith","contributor_first_name": "Jane","contributor_city": "Austin","contributor_state": "TX","contribution_date": "2024-02-14","contribution_amount": 250.0,"contribution_aggregate": 750.0,"contributor_employer": "Acme Corp","contributor_occupation": "Engineer"}}
The exact fields available depend on the form type (F3, F3X, F24, etc.) and the schedule (A = receipts, B = disbursements, C = loans, D = debts, E = independent expenditures).
Limitations
- The FEC's public document host can be slow or temporarily unavailable; failed fetches are logged and skipped without aborting the run.
- Very large filings (50,000+ itemizations) are split into thousands of
dataset records — raise
maxRowsPerFilingif you need the full extract. - Only electronic filings are supported. Paper-filed reports do not have a
raw
.fecdocument and cannot be parsed. - Field names follow the FEC's published form schemas. See fec.gov filing types for the canonical column dictionary.
