Skip to content

Sending electronic written messages to members of Congress by reverse engineering their contact forms.

License

Notifications You must be signed in to change notification settings

bglazer/contact-congress

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contacting Congress

This project contains information on how to automatically and successfully submit the contact forms of members of Congress.

This is what you need to power any system which aims to collect and submit electronic text from US citizens to their elected members of Congress.

Current Status

We're going through every member of the House of Representatives and codifying their contact form structure into YAML files that follow a simple schema. The /members directory already contains a few examples, such as this description of how to submit Roy Blunt's contact form.

We have completed the contact forms for the entire Senate!

Contributing

Read our contribution guide for a fuller description.

But more briefly, if you'd like to help:

  • Reply to an open ticket stating that you are currently working on this issue.
  • Fork this repository.
  • Check out the schema we're using to represent the steps involved in filling out a member's web form.
  • Go visit that representative's website, and fill out a new YAML file describing how to submit the form.
  • Save this file in /members as [bioguide].yaml, where [bioguide] is that member's Bioguide ID.
  • If you don't know their Bioguide ID: you can find it by visiting bioguide.congress.gov and looking at the end of the URL for a given member. For example, Sen. Chiesa's profile at http://bioguide.congress.gov/scripts/biodisplay.pl?index=C001100 means his Bioguide ID is C001100, and so his file would be placed at /members/C001100.yaml.
  • When you're done, submit a pull request with the new file.

Suggestions on making this process easier are quite welcome.

FAQ

Why just the Senate?

Several reasons:

  • The Senate is a smaller target (100 members) than the House (441 members).
  • Senate contact form URLs are officially and centrally maintained in XML.
  • Senate systems are less aggressive about rejecting letters by constituents thought not to be in their district.

Once the Senate data is good, we'll look at moving on to the House.

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

Public domain

This project is dedicated to the public domain. As spelled out in CONTRIBUTING:

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.

Member Status Log

These graphics are pulled in near-real-time from http://opencongress.org, based on the last letter sent to each member through OpenCongress' contact tools.

You can use them to see at a glance how a particular contact form's formula is doing, and click the image for a failing form to see the error it generated. While the errors are specific to the formageddon implementation OpenCongress uses, the first line will likely contain some useful information--the form url was a 404, a selector wasn't found, etc.

Note: These are lagging indicators and should be checked against the repo's recent activity, meaning sometimes a form can be fixed but either not yet imported to OpenCongress, or just that no one has tried to contact that member since their form was fixed.

Bioguide ID Website Last Attempt - OpenCongress
A000055 aderholt.house.gov A000055 status bug
A000210 andrews.house.gov A000210 status bug
A000360 www.alexander.senate.gov A000360 status bug
A000361 alexander.house.gov A000361 status bug
A000367 amash.house.gov A000367 status bug
A000368 www.ayotte.senate.gov A000368 status bug
B000013 forms.house.gov B000013 status bug
B000243 www.baucus.senate.gov B000243 status bug
B000575 www.blunt.senate.gov B000575 status bug
B000711 www.boxer.senate.gov B000711 status bug
B000944 www.brown.senate.gov B000944 status bug
B001135 www.burr.senate.gov B001135 status bug
B001230 www.baldwin.senate.gov B001230 status bug
B001236 www.boozman.senate.gov B001236 status bug
B001252 barrow.house.gov B001252 status bug
B001256 bachmann.house.gov B001256 status bug
B001260 forms.house.gov B001260 status bug
B001261 www.barrasso.senate.gov B001261 status bug
B001265 www.begich.senate.gov B001265 status bug
B001267 www.bennet.senate.gov B001267 status bug
B001269 barletta.house.gov B001269 status bug
B001270 bass.house.gov B001270 status bug
B001273 black.house.gov B001273 status bug
B001277 www.blumenthal.senate.gov B001277 status bug
C000127 www.cantwell.senate.gov C000127 status bug
C000141 www.cardin.senate.gov C000141 status bug
C000174 www.carper.senate.gov C000174 status bug
C000286 www.chambliss.senate.gov C000286 status bug
C000542 www.coats.senate.gov C000542 status bug
C000560 www.coburn.senate.gov C000560 status bug
C000567 www.cochran.senate.gov C000567 status bug
C000880 www.crapo.senate.gov C000880 status bug
C001035 www.collins.senate.gov C001035 status bug
C001056 www.cornyn.senate.gov C001056 status bug
C001070 www.casey.senate.gov C001070 status bug
C001071 www.corker.senate.gov C001071 status bug
C001088 www.coons.senate.gov C001088 status bug
C001095 cotton.house.gov C001095 status bug
C001098 www.cruz.senate.gov C001098 status bug
C001100 www.chiesa.senate.gov C001100 status bug
D000563 www.durbin.senate.gov D000563 status bug
D000607 www.donnelly.senate.gov D000607 status bug
E000285 www.enzi.senate.gov E000285 status bug
F000062 www.feinstein.senate.gov F000062 status bug
F000444 www.flake.senate.gov F000444 status bug
F000457 www.franken.senate.gov F000457 status bug
F000463 www.fischer.senate.gov F000463 status bug
G000289 goodlatte.house.gov G000289 status bug
G000359 www.lgraham.senate.gov G000359 status bug
G000386 www.grassley.senate.gov G000386 status bug
G000553 algreen.house.gov G000553 status bug
G000555 www.gillibrand.senate.gov G000555 status bug
G000567 griffin.house.gov G000567 status bug
G000568 morgangriffith.house.gov G000568 status bug
H000206 www.harkin.senate.gov H000206 status bug
H000338 www.hatch.senate.gov H000338 status bug
H001041 www.heller.senate.gov H001041 status bug
H001042 www.hirono.senate.gov H001042 status bug
H001046 www.heinrich.senate.gov H001046 status bug
H001049 www.hagan.senate.gov H001049 status bug
H001056 herrerabeutler.house.gov H001056 status bug
H001061 www.hoeven.senate.gov H001061 status bug
H001064 dennyheck.house.gov H001064 status bug
H001069 www.heitkamp.senate.gov H001069 status bug
I000024 www.inhofe.senate.gov I000024 status bug
I000055 www.isakson.senate.gov I000055 status bug
J000177 www.johnson.senate.gov J000177 status bug
J000291 www.johanns.senate.gov J000291 status bug
J000293 www.ronjohnson.senate.gov J000293 status bug
K000360 www.kirk.senate.gov K000360 status bug
K000367 www.klobuchar.senate.gov K000367 status bug
K000381 kilmer.house.gov K000381 status bug
K000383 www.king.senate.gov K000383 status bug
K000384 www.kaine.senate.gov K000384 status bug
K000385 robinkelly.house.gov K000385 status bug
L000174 www.leahy.senate.gov L000174 status bug
L000261 www.levin.senate.gov L000261 status bug
L000550 www.landrieu.senate.gov L000550 status bug
L000573 labradorforms.house.gov L000573 status bug
L000577 www.lee.senate.gov L000577 status bug
M000133 www.markey.senate.gov M000133 status bug
M000303 www.mccain.senate.gov M000303 status bug
M000355 www.mcconnell.senate.gov M000355 status bug
M000404 forms.house.gov M000404 status bug
M000639 www.menendez.senate.gov M000639 status bug
M000702 www.mikulski.senate.gov M000702 status bug
M000934 www.moran.senate.gov M000934 status bug
M001111 www.murray.senate.gov M001111 status bug
M001143 mccollum.house.gov M001143 status bug
M001153 www.murkowski.senate.gov M001153 status bug
M001169 www.murphy.senate.gov M001169 status bug
M001170 www.mccaskill.senate.gov M001170 status bug
M001176 www.merkley.senate.gov M001176 status bug
M001183 www.manchin.senate.gov M001183 status bug
N000032 www.billnelson.senate.gov N000032 status bug
P000265 petri.house.gov P000265 status bug
P000449 www.portman.senate.gov P000449 status bug
P000590 www.pryor.senate.gov P000590 status bug
P000596 pierluisi.house.gov P000596 status bug
P000603 www.paul.senate.gov P000603 status bug
P000607 pocan.house.gov P000607 status bug
R000122 www.reed.senate.gov R000122 status bug
R000146 www.reid.senate.gov R000146 status bug
R000307 www.roberts.senate.gov R000307 status bug
R000361 www.rockefeller.senate.gov R000361 status bug
R000584 www.risch.senate.gov R000584 status bug
R000595 www.rubio.senate.gov R000595 status bug
S000033 www.sanders.senate.gov S000033 status bug
S000148 www.schumer.senate.gov S000148 status bug
S000320 www.shelby.senate.gov S000320 status bug
S000770 www.stabenow.senate.gov S000770 status bug
S001141 www.sessions.senate.gov S001141 status bug
S001181 www.shaheen.senate.gov S001181 status bug
S001184 www.scott.senate.gov S001184 status bug
S001191 sinemaforms.house.gov S001191 status bug
S001192 stewart.house.gov S001192 status bug
S001194 www.schatz.senate.gov S001194 status bug
S001195 jasonsmith.house.gov S001195 status bug
T000250 www.thune.senate.gov T000250 status bug
T000461 www.toomey.senate.gov T000461 status bug
T000464 www.tester.senate.gov T000464 status bug
T000468 titus.house.gov T000468 status bug
U000038 www.markudall.senate.gov U000038 status bug
U000039 www.tomudall.senate.gov U000039 status bug
V000127 www.vitter.senate.gov V000127 status bug
V000132 forms.house.gov V000132 status bug
W000437 www.wicker.senate.gov W000437 status bug
W000779 www.wyden.senate.gov W000779 status bug
W000802 www.whitehouse.senate.gov W000802 status bug
W000805 www.warner.senate.gov W000805 status bug
W000817 www.warren.senate.gov W000817 status bug

About

Sending electronic written messages to members of Congress by reverse engineering their contact forms.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published