This project defines an open data format to describe the contact forms of members of Congress, and we're currently working on creating a definitive, updated list of active legislators' contact forms according to that format. Once completed, the files in this project can be used to power any system that allows US citizens to send messages to their elected members of Congress.
[✓] Create a standardized YAML data format for describing legislator contact forms.
[✓] Create a bookmarklet to make it easy to generate YAML files.
[✓] Make a testing suite to error-check generated files.
[✓] Create YAML files for almost all 100 members of the Senate.
[✓] Create YAML files for almost all 439 members of the House of Representatives.
[ - ] Tested files.
Note: As of January 1, 2017, YAML files for members of the House of Representatives are no longer actively being maintained, as we are using Congress's CWC API to send messages instead of contact forms.
You can read about the CWC API here: http://www.house.gov/content/vendors/cwc/
Our application for reading these YAMLs and submitting messages, Phantom of the Capitol, has been updated to use the CWC API, in the CWC branch here: https://github.com/EFForg/phantom-of-the-capitol/tree/cwc
You are still welcome to submit PRs for YAMLs for the House of Representatives, we will be happy to continue merging them if these are files you still use!
Why is this important?
This dataset will allow open government and advocacy organizations to create tools that allow citizens to email their elected representatives.
At present, the only way to send electronic messages to members of Congress is to visit each legislator's contact form, or to use a proprietary third-party vendor on an advocacy organization's website. The contact forms are cumbersome and difficult to use, and third party vendors are expensive. A common, up-to-date dataset will allow for simpler and better tools for dialog with representatives.
Each file contributed to this dataset will potentially allow hundreds of US citizens to contact their representatives. Please visit our contribution guide for a full description of how to contribute, but in brief:
Reply to an open ticket stating that you are currently working on a congress member's form.
Use the bookmarklet to generate a new YAML file.
Save the generated file in
[bioguide]is that member's Bioguide ID.
Submit a pull request with the new file.
Test the YAML file using congress-forms-test and make changes to the file as necessary.
You can also check out the schema we're using to represent the steps involved in filling out a member's web form.
So I can drop my contract with
[vendor name here]??
This is just data. Even once we have data for everyone, you'll still need to build a system that integrates this data. There's nothing here for tracking and storing errors and mistakes, strategies for re-trying, or storing any sort of user data or success statistics.
But what you won't have to do is keep up with Congress' constantly shifting websites. That's what this project does.
Submitting the contact form isn't enough. How do I get other data about members of Congress?
You can find detailed, reliable data about every current and historical member of Congress at the unitedstates/congress-legislators project. The data in that project, also stored as YAML, is easily connect-able to this project via each member's Bioguide ID.
Who's doing this
Taskforce.is will be using the data for technology-related activism campaigns.
The project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.