With Geocodio, you can upload a list of addresses or coordinates and receive the Congressional district information. Simply select "Congressional Districts" in Step 3 of the upload process.
If you want to get historical Congressional districts back to the 113th Congress, you can use our API. (We do not support historical legislator information.)
You can optionally receive contact and biographical information for each Senator and Representative. Select "Add legislator data" under "Congressional districts" in Step 3 of the upload process. This data comes to us from the UnitedStates project on Github, an open source project maintained by journalists. Data returned includes:
Requests are billed as geocode + Congress info (i.e., two lookups). The first 2,500 lookups per day are free -- so in this case, the first 1,250 address + Congress lookups per day are free.
You can calculate how much this will cost you and how long it will take here.