Raw, unaltered data from https://efiling.ocf.dc.gov/ as if it had come straight from an API without any manual intervention.
Bypass manual data downloads in favor of making programmatic use of the .csv and .json files in this repository.
When the data on https://efiling.ocf.dc.gov/ changes, please contribute an update to the data in this repository by following the manual process below.
Do not deviate from the scientific process or make any manual revisions.
If the DC Office of Campaign Finance changes their data portal to a web service or fully-functional API, stop updating this repository and use that instead.
Visit https://efiling.ocf.dc.gov/DataDownload in a web browser.
Locate a dropdown menu containing the following Filer Type
values:
- Principal Campaign Committee
- Political Action Committee
- Initiative
- Referendum
- Recall
- Transition Committee
- Inaugural Committee
- Legal Defense Committee
- Independent Expenditure Committee
- Exploratory Committee
- Senators & Representatives
- Constituent Service Program
Notice the default Type
toggle selection of "Contributions". Make sure this selection stays active during the entirety of this process.
For each Filer Type
, execute the following tasks in order:
- Select the filer type from the dropdown
- Click the Search button, and wait for the resulting data
- Click the Export button to export data in .csv format
- Move the resulting .csv file into its proper place in this repository.
Store contribution report files in the contributions directory as FILER_TYPE
.csv.
mv ~/Downloads/DownloadDataSearchResult.csv path/to/repo/reports/contributions/`FILER_TYPE`.csv
Repeat the process for downloading contributions, except switch the Type
toggle to "Expenditures" and make sure this selection stays active during the entirety of the process.
Store contribution report files in the expenditures directory as FILER_TYPE
.csv.
mv ~/Downloads/DownloadDataSearchResult.csv path/to/repo/reports/expenditures/`FILER_TYPE`.csv
Run the report-converter script.
ruby lib/convert_reports_to_data.rb
After updating the data on a new branch, submit a pull request for the data updates to be merged into the master branch.
Once data updates are merged into the master branch, create a release tag for future version reference.