This is a lightly edited version of the notebook that we worked through in class on 1/22/19.
In class, we went through how to make an API call end-to-end, to get a look at common tasks like figuring out documentation, using libraries, making HTTP requests, etc. Over the weekend, practice with this API and others (you might also try the one at opensecrets.org, see what you can learn programmatically about the world!
Here's a bit more information that we didn't get to in class. First, take a look at the documentation for the requests library again. Did we need to use the built-in Python json library to get at the data we received, or was there another way?
Second, as I mentioned in class, the Python Module of the Week website is a great way to get much more readable documentation than the official docs have.
Third, way at the bottom of this notebook (sorry for the length, by the way, there are some long data dumps that aren't going to display in the pretty box when we actually get it on the website), I used a weird syntax that you hadn't seen before. In order to search for a senator whose phone number wasn't in the dataset we got from openstates, I used the following code:
[x for x in senate if x["full_name"] == "Jeff Danielson"]
This is known as a list comprehension. Basically, it's a concise way of creating a list out of anything that you can loop over. In the code above, remember that senate was a variable pointing to a list of dictionaries, where each dictionary is information about a particular Iowa senator. The code above is equivalent to the loop:
output = []
for x in senate:
if x["full_name"] == "Jeff Danielson":
output.append(x)
Let's look at some more examples of list comprehensions to see how they work.
mylist = ["cat", "coyote", "dog"]
biganimals = [animal.upper() for animal in mylist]
print(biganimals)
['CAT', 'COYOTE', 'DOG']
That list comprehension was equivalent to
mylist = []
for animal in biganimals:
mylist.append(animal.upper())
only_cs = [animal for animal in mylist if animal.startswith('c')]
print(only_cs)
['cat', 'coyote']
That shows that you can add a conditional to a listcomp by putting it at the very end. You can also create a listcomp out of anything else that you can loop over, such as a string. For example, here's a really pointless listcomp that works.
def iseven(num):
return (num % 2 == 0) and (num != 0)
numberstring = "8675309"
print([num for num in numberstring if iseven(int(num))])
['8', '6']
List comprehensions are super useful to concisely create lists without loops. They can also be abused to create dense, unreadable code. For example, remember the FizzBuzz example we looked at last week (which comes from this famous blog post)? Well, here's one really pointless and stupid, but kind of cool looking, way to do it.
print('\n'.join(['Fizzbuzz' if x % 15 == 0 else 'Fizz' if x % 3 == 0 else 'Buzz' if x % 5 == 0 else str(x) for x in range(1, 101)]))
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 Fizzbuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 Fizzbuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 Fizzbuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 Fizzbuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 Fizzbuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86 Fizz 88 89 Fizzbuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz
apikey = "SECRET" # note to students: publishing an API key on a public website is a bad idea.
# replace that value with the api key you got from opensecrets.org.
import requests
endpoint = "http://openstates.org/api/v1/legislators/?state=ia&chamber=upper&apikey=" + apikey
endpoint
'http://openstates.org/api/v1/legislators/?state=ia&chamber=upper&apikey=SECRET'
r = requests.get(endpoint)
r
<Response [200]>
r.headers
{'Content-Length': '59002', 'Strict-Transport-Security': 'max-age=31536000', 'Expires': 'Tue, 22 Jan 2019 21:20:17 GMT', 'Vary': 'Origin', 'X-Cache-Status': 'MISS', 'Server': 'nginx/1.14.0 (Ubuntu)', 'Connection': 'keep-alive', 'Cache-Control': 'max-age=7200', 'Date': 'Tue, 22 Jan 2019 19:20:17 GMT', 'X-Frame-Options': 'SAMEORIGIN', 'Content-Type': 'application/json'}
r.text
u'[{"id": "IAL000213", "leg_id": "IAL000213", "all_ids": ["IAL000213"], "full_name": "Mark Segebart", "first_name": "Mark", "last_name": "Segebart", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10727", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10727", "email": "mark.segebart@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "6", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10727"}], "active": true, "roles": [{"term": "2017-2018", "district": "6", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "1820 - 350th St, Vail, IA 51465", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "mark.segebart@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:48", "updated_at": "2019-01-13 06:06:29"}, {"id": "IAL000039", "leg_id": "IAL000039", "all_ids": ["IAL000039", "IAL000209"], "full_name": "Amanda Ragan", "first_name": "Amanda", "last_name": "Ragan", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=110", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=110", "email": "amanda.ragan@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "27", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=110"}], "active": true, "roles": [{"term": "2017-2018", "district": "27", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "641-424-0874", "email": null, "address": "361 S Pennsylvania Ave 1-D, Mason City, IA 50401", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "amanda.ragan@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:49", "updated_at": "2019-01-13 06:06:23"}, {"id": "IAL000028", "leg_id": "IAL000028", "all_ids": ["IAL000028", "IAL000199", "IAL000481"], "full_name": "Robert Hogg", "first_name": "Robert", "last_name": "Hogg", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=6257", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6257", "email": "rob.hogg@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "33", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6257"}], "active": true, "roles": [{"term": "2017-2018", "district": "33", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "319-247-0223", "email": null, "address": "PO Box 1361, Cedar Rapids, IA 52406", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "rob.hogg@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:49", "updated_at": "2019-01-13 06:06:21"}, {"id": "IAL000234", "leg_id": "IAL000234", "all_ids": ["IAL000234", "IAL000514"], "full_name": "Mark Costello", "first_name": "Mark", "last_name": "Costello", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10749", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10749", "email": "mark.costello@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "12", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10749"}], "active": true, "roles": [{"term": "2017-2018", "district": "12", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "37265 Rains Ave, Imogene, IA 51645", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "mark.costello@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:51", "updated_at": "2019-01-13 06:06:30"}, {"id": "IAL000533", "leg_id": "IAL000533", "all_ids": ["IAL000533"], "full_name": "Craig Johnson", "first_name": "Craig", "last_name": "Johnson", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18075", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18075", "email": "craig.johnson@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "32", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18075"}], "active": true, "roles": [{"term": "2017-2018", "district": "32", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "319-334-2413", "email": null, "address": "413 - 13th Ave NE, Independence, IA 50644", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "craig.johnson@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:51", "updated_at": "2019-01-13 06:06:28"}, {"id": "IAL000186", "leg_id": "IAL000186", "all_ids": ["IAL000186"], "full_name": "Jake Chapman", "first_name": "Jake", "last_name": "Chapman", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10728", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10728", "email": "jake.chapman@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "10", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10728"}], "active": true, "roles": [{"term": "2017-2018", "district": "10", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "25862 Fox Ridge Ln, Adel, IA 50003", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "jake.chapman@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:52", "updated_at": "2019-01-13 06:06:19"}, {"id": "IAL000070", "leg_id": "IAL000070", "all_ids": ["IAL000070", "IAL000246", "IAL000322", "IAL000329", "IAL000328", "IAL000479"], "full_name": "Julian B. Garrett", "first_name": "Julian B.", "last_name": "Garrett", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=9404", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9404", "email": "julian.garrett@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "13", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9404"}], "active": true, "roles": [{"term": "2017-2018", "district": "13", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "Box 493, Indianola, IA 50125", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "julian.garrett@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:52", "updated_at": "2019-01-13 06:06:28"}, {"id": "IAL000537", "leg_id": "IAL000537", "all_ids": ["IAL000537"], "full_name": "Nate Boulton", "first_name": "Nate", "last_name": "Boulton", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18073", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18073", "email": "nate.boulton@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "16", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18073"}], "active": true, "roles": [{"term": "2017-2018", "district": "16", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "515-265-1389", "email": null, "address": "2670 Wisconsin Ave, Des Moines, IA 50317", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "nate.boulton@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:52", "updated_at": "2019-01-13 06:06:21"}, {"id": "IAL000185", "leg_id": "IAL000185", "all_ids": ["IAL000185"], "full_name": "Michael Breitbach", "first_name": "Michael", "last_name": "Breitbach", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10730", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10730", "email": "michael.breitbach@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "28", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10730"}], "active": true, "roles": [{"term": "2017-2018", "district": "28", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "563-933-6486", "email": null, "address": "301 W Mission St, Strawberry Point, IA 52076", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "michael.breitbach@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:53", "updated_at": "2019-01-13 06:06:29"}, {"id": "IAL000528", "leg_id": "IAL000528", "all_ids": ["IAL000528"], "full_name": "Dan Dawson", "first_name": "Dan", "last_name": "Dawson", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18072", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18072", "email": "dan.dawson@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "8", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18072"}], "active": true, "roles": [{"term": "2017-2018", "district": "8", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "712-256-1199", "email": null, "address": "213 Upland Dr, Council Bluffs, IA 51503", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "dan.dawson@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:53", "updated_at": "2019-01-13 06:06:30"}, {"id": "IAL000540", "leg_id": "IAL000540", "all_ids": ["IAL000540"], "full_name": "Thomas A. Greene", "first_name": "Thomas A.", "last_name": "Greene", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18077", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18077", "email": "tom.greene@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "44", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18077"}], "active": true, "roles": [{"term": "2017-2018", "district": "44", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "319-750-6579", "email": null, "address": "5763 Hartman Rd, Burlington, IA 52601", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "tom.greene@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:54", "updated_at": "2019-01-13 06:06:21"}, {"id": "IAL000031", "leg_id": "IAL000031", "all_ids": ["IAL000031", "IAL000202"], "full_name": "Pam Jochum", "first_name": "Pam", "last_name": "Jochum", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=35", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=35", "email": "pam.jochum@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "50", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=35"}], "active": true, "roles": [{"term": "2017-2018", "district": "50", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "563-556-6530", "email": null, "address": "2368 Jackson St, Dubuque, IA 52001", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "pam.jochum@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:54", "updated_at": "2019-01-13 06:06:30"}, {"id": "IAL000009", "leg_id": "IAL000009", "all_ids": ["IAL000009", "IAL000182"], "full_name": "Joe Bolkcom", "first_name": "Joe", "last_name": "Bolkcom", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=123", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=123", "email": "joe.bolkcom@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "43", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=123"}], "active": true, "roles": [{"term": "2017-2018", "district": "43", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "319-337-6280", "email": null, "address": "1235 Oakes Dr, Iowa City, IA 52245", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "joe.bolkcom@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:54", "updated_at": "2019-01-13 06:06:19"}, {"id": "IAL000151", "leg_id": "IAL000151", "all_ids": ["IAL000151", "IAL000158", "IAL000170", "IAL000205"], "full_name": "Liz Mathis", "first_name": "Liz", "last_name": "Mathis", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10318", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10318", "email": "liz.mathis@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "34", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10318"}], "active": true, "roles": [{"term": "2017-2018", "district": "34", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "319-361-1725", "email": null, "address": "320 S Blairsferry Crossing, Hiawatha, IA 52233", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "liz.mathis@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:55", "updated_at": "2019-01-13 06:06:22"}, {"id": "IAL000014", "leg_id": "IAL000014", "all_ids": ["IAL000014", "IAL000188"], "full_name": "Jeff Danielson", "first_name": "Jeff", "last_name": "Danielson", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=785", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=785", "email": "jeffdanielson@gmail.com", "party": "Democratic", "chamber": "upper", "district": "30", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=785"}], "active": true, "roles": [{"term": "2017-2018", "district": "30", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "PO Box 1191, Cedar Falls, IA 50613", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "jeffdanielson@gmail.com", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:56", "updated_at": "2019-01-13 06:06:27"}, {"id": "IAL000050", "leg_id": "IAL000050", "all_ids": ["IAL000050", "IAL000222"], "full_name": "Brad Zaun", "first_name": "Brad", "last_name": "Zaun", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=788", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=788", "email": "brad.zaun@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "20", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=788"}], "active": true, "roles": [{"term": "2017-2018", "district": "20", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "515-276-2025", "email": null, "address": "7032 Holcomb Ave, Urbandale, IA 50322", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "brad.zaun@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:56", "updated_at": "2019-01-13 06:06:23"}, {"id": "IAL000223", "leg_id": "IAL000223", "all_ids": ["IAL000223"], "full_name": "Dan Zumbach", "first_name": "Dan", "last_name": "Zumbach", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10733", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10733", "email": "dan.zumbach@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "48", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10733"}], "active": true, "roles": [{"term": "2017-2018", "district": "48", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "2618 - 140th Ave, Ryan, IA 52330", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "dan.zumbach@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:57", "updated_at": "2019-01-13 06:06:23"}, {"id": "IAL000044", "leg_id": "IAL000044", "all_ids": ["IAL000044", "IAL000216"], "full_name": "Roby Smith", "first_name": "Roby", "last_name": "Smith", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=9386", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9386", "email": "roby.smith@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "47", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9386"}], "active": true, "roles": [{"term": "2017-2018", "district": "47", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "563-386-0179", "email": null, "address": "2036 E 48th St, Davenport, IA 52807", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "roby.smith@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:59", "updated_at": "2019-01-13 06:06:24"}, {"id": "IAL000134", "leg_id": "IAL000134", "all_ids": ["IAL000134", "IAL000309"], "full_name": "Todd E. Taylor", "first_name": "Todd", "last_name": "Taylor", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=54", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=54", "email": "todd.taylor@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "35", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=54"}], "active": true, "roles": [{"term": "2017-2018", "district": "35", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "1416 A Ave NW, Cedar Rapids, IA 52405", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "todd.taylor@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:59", "updated_at": "2019-01-13 06:06:19"}, {"id": "IAL000535", "leg_id": "IAL000535", "all_ids": ["IAL000535"], "full_name": "Jeff Edler", "first_name": "Jeff", "last_name": "Edler", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18076", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18076", "email": "jeff.edler@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "36", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18076"}], "active": true, "roles": [{"term": "2017-2018", "district": "36", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "1554 - 200th St, State Center, IA 50247", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "jeff.edler@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:41:59", "updated_at": "2019-01-13 06:06:20"}, {"id": "IAL000038", "leg_id": "IAL000038", "all_ids": ["IAL000038", "IAL000208", "IAL000484"], "full_name": "Herman C. Quirmbach", "first_name": "Herman", "last_name": "Quirmbach", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=161", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=161", "email": "herman.quirmbach@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "23", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=161"}], "active": true, "roles": [{"term": "2017-2018", "district": "23", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "515-292-8984", "email": null, "address": "1002 Jarrett Circle, Ames, IA 50014", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "herman.quirmbach@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:00", "updated_at": "2019-01-13 06:06:25"}, {"id": "IAL000005", "leg_id": "IAL000005", "all_ids": ["IAL000005"], "full_name": "Jerry Behn", "first_name": "Jerry", "last_name": "Behn", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=140", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=140", "email": "jerry.behn@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "24", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=140"}], "active": true, "roles": [{"term": "2017-2018", "district": "24", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "515-432-7327", "email": null, "address": "1313 Quill Ave, Boone, IA 50036", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "jerry.behn@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:00", "updated_at": "2019-01-13 06:06:21"}, {"id": "IAL000499", "leg_id": "IAL000499", "all_ids": ["IAL000499"], "full_name": "Tim Kraayenbrink", "first_name": "Tim", "last_name": "Kraayenbrink", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=14812", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14812", "email": "tim.kraayenbrink@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "5", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14812"}], "active": true, "roles": [{"term": "2017-2018", "district": "5", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "515-576-0417", "email": null, "address": "1561 National Ave, Fort Dodge, IA 50501", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "tim.kraayenbrink@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:00", "updated_at": "2019-01-13 06:06:21"}, {"id": "IAL000530", "leg_id": "IAL000530", "all_ids": ["IAL000530"], "full_name": "Jim Lykam", "first_name": "Jim", "last_name": "Lykam", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=246", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=246", "email": "jim.lykam@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "45", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=246"}], "active": true, "roles": [{"term": "2017-2018", "district": "45", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "563-391-1919", "email": null, "address": "2906 W 35th St, Davenport, IA 52806", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "jim.lykam@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:01", "updated_at": "2019-01-13 06:06:28"}, {"id": "IAL000033", "leg_id": "IAL000033", "all_ids": ["IAL000033", "IAL000204"], "full_name": "Tim L. Kapucian", "first_name": "Tim", "last_name": "Kapucian", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=6567", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6567", "email": "tim.kapucian@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "38", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6567"}], "active": true, "roles": [{"term": "2017-2018", "district": "38", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "1275 - 69th St, Keystone, IA 52249", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "tim.kapucian@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:04", "updated_at": "2019-01-13 06:06:28"}, {"id": "IAL000115", "leg_id": "IAL000115", "all_ids": ["IAL000115", "IAL000207"], "full_name": "Janet Petersen", "first_name": "Janet", "last_name": "Petersen", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=72", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=72", "email": "janet.petersen@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "18", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=72"}], "active": true, "roles": [{"term": "2017-2018", "district": "18", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "4300 Beaver Hills Dr, Des Moines, IA 50310", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "janet.petersen@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:05", "updated_at": "2019-01-13 06:06:21"}, {"id": "IAL000125", "leg_id": "IAL000125", "all_ids": ["IAL000125", "IAL000298", "IAL000497"], "full_name": "Jason Schultz", "first_name": "Jason", "last_name": "Schultz", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=6588", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6588", "email": "jason.schultz@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "9", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6588"}], "active": true, "roles": [{"term": "2017-2018", "district": "9", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "611 Cedar St, PO Box 70, Schleswig, IA 51461", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "jason.schultz@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:06", "updated_at": "2019-01-13 06:06:25"}, {"id": "IAL000219", "leg_id": "IAL000219", "all_ids": ["IAL000219"], "full_name": "Rich Taylor", "first_name": "Rich", "last_name": "Taylor", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10735", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10735", "email": "rich.taylor@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "42", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10735"}], "active": true, "roles": [{"term": "2017-2018", "district": "42", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "2667 Iowa Ave, Mt Pleasant, IA 52641", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "rich.taylor@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:07", "updated_at": "2019-01-13 06:06:22"}, {"id": "IAL000544", "leg_id": "IAL000544", "all_ids": ["IAL000544"], "full_name": "Waylon Brown", "first_name": "Waylon", "last_name": "Brown", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18074", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18074", "email": "waylon.brown@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "26", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18074"}], "active": true, "roles": [{"term": "2017-2018", "district": "26", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "109 S Summer St, St Ansgar, IA 50472", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "waylon.brown@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:08", "updated_at": "2019-01-13 06:06:19"}, {"id": "IAL000503", "leg_id": "IAL000503", "all_ids": ["IAL000503"], "full_name": "Kevin Kinney", "first_name": "Kevin", "last_name": "Kinney", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=14817", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14817", "email": "kevin.kinney@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "39", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14817"}], "active": true, "roles": [{"term": "2017-2018", "district": "39", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "319-631-4667", "email": null, "address": "4321 Calkins Ave SW, Oxford, IA 52322", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "kevin.kinney@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:08", "updated_at": "2019-01-13 06:06:30"}, {"id": "IAL000215", "leg_id": "IAL000215", "all_ids": ["IAL000215"], "full_name": "Amy Sinclair", "first_name": "Amy", "last_name": "Sinclair", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10729", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10729", "email": "amy.sinclair@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "14", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10729"}], "active": true, "roles": [{"term": "2017-2018", "district": "14", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "1255 King Rd, Allerton, IA 50008", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "amy.sinclair@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:09", "updated_at": "2019-01-13 06:06:26"}, {"id": "IAL000020", "leg_id": "IAL000020", "all_ids": ["IAL000020"], "full_name": "Randy Feenstra", "first_name": "Randy", "last_name": "Feenstra", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=6565", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6565", "email": "randy.feenstra@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "2", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6565"}], "active": true, "roles": [{"term": "2017-2018", "district": "2", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "712-439-1244", "email": null, "address": "641 Second St, Hull, IA 51239", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "randy.feenstra@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:11", "updated_at": "2019-01-13 06:06:22"}, {"id": "IAL000515", "leg_id": "IAL000515", "all_ids": ["IAL000515"], "full_name": "Tom Shipley", "first_name": "Tom", "last_name": "Shipley", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=14814", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14814", "email": "tom.shipley@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "11", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14814"}], "active": true, "roles": [{"term": "2017-2018", "district": "11", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "712-785-3583", "email": null, "address": "2425 Birch Ave, Nodaway, IA 50857", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "tom.shipley@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:11", "updated_at": "2019-01-13 06:06:24"}, {"id": "IAL000509", "leg_id": "IAL000509", "all_ids": ["IAL000509"], "full_name": "Zach Nunn", "first_name": "Zach", "last_name": "Nunn", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=14803", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14803", "email": "zach.nunn@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "15", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14803"}], "active": true, "roles": [{"term": "2017-2018", "district": "15", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "PO Box 105, Altoona, IA 50009", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "zach.nunn@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:12", "updated_at": "2019-01-13 06:06:19"}, {"id": "IAL000548", "leg_id": "IAL000548", "all_ids": ["IAL000548"], "full_name": "Mark S. Lofgren", "first_name": "Mark S.", "last_name": "Lofgren", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=9406", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9406", "email": "mark.lofgren@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "46", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9406"}], "active": true, "roles": [{"term": "2017-2018", "district": "46", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "563-272-8683", "email": null, "address": "3025 Provence Ln, Muscatine, IA 52761", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "mark.lofgren@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:12", "updated_at": "2019-01-13 06:06:26"}, {"id": "IAL000210", "leg_id": "IAL000210", "all_ids": ["IAL000210"], "full_name": "Ken Rozenboom", "first_name": "Ken", "last_name": "Rozenboom", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10731", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10731", "email": "ken.rozenboom@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "40", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10731"}], "active": true, "roles": [{"term": "2017-2018", "district": "40", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "2200 Oxford Ave, Oskaloosa, IA 52577", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "ken.rozenboom@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:13", "updated_at": "2019-01-13 06:06:22"}, {"id": "IAL000556", "leg_id": "IAL000556", "all_ids": ["IAL000556"], "full_name": "Annette Sweeney", "first_name": "Annette", "last_name": "Sweeney", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=6585", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6585", "email": "annette.sweeney@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "25", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6585"}], "active": true, "roles": [{"term": "2017-2018", "district": "25", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "21547 Hwy S27, Alden, IA 50006", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "annette.sweeney@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:14", "updated_at": "2019-01-13 06:06:27"}, {"id": "IAL000196", "leg_id": "IAL000196", "all_ids": ["IAL000196"], "full_name": "Dennis Guth", "first_name": "Dennis", "last_name": "Guth", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10726", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10726", "email": "dennis.guth@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "4", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10726"}], "active": true, "roles": [{"term": "2017-2018", "district": "4", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "1770 Taft Ave, Klemme, IA 50449", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "dennis.guth@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:16", "updated_at": "2019-01-13 06:06:21"}, {"id": "IAL000017", "leg_id": "IAL000017", "all_ids": ["IAL000017", "IAL000191", "IAL000487", "IAL000489"], "full_name": "William A. Dotzler Jr.", "first_name": "William", "last_name": "Dotzler", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=157", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=157", "email": "bill.dotzler@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "31", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=157"}], "active": true, "roles": [{"term": "2017-2018", "district": "31", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "319-296-2947", "email": null, "address": "2837 Cedar Terrace Dr, Waterloo, IA 50702", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "bill.dotzler@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:16", "updated_at": "2019-01-13 06:06:21"}, {"id": "IAL000048", "leg_id": "IAL000048", "all_ids": ["IAL000048", "IAL000220"], "full_name": "Jack Whitver", "first_name": "Jack", "last_name": "Whitver", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=9768", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9768", "email": "jack.whitver@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "19", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9768"}], "active": true, "roles": [{"term": "2017-2018", "district": "19", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "4019 NE Bellagio Cir, Ankeny, IA 50021", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "jack.whitver@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:17", "updated_at": "2019-01-13 06:06:25"}, {"id": "IAL000211", "leg_id": "IAL000211", "all_ids": ["IAL000211"], "full_name": "Charles Schneider", "first_name": "Charles", "last_name": "Schneider", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10829", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10829", "email": "charles.schneider@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "22", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10829"}], "active": true, "roles": [{"term": "2017-2018", "district": "22", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "7887 Cody Dr, West Des Moines, IA 50266", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "charles.schneider@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:17", "updated_at": "2019-01-13 06:06:29"}, {"id": "IAL000543", "leg_id": "IAL000543", "all_ids": ["IAL000543", "IAL000552"], "full_name": "Jim Carlin", "first_name": "Jim", "last_name": "Carlin", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18041", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18041", "email": "jim.carlin@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "3", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18041"}], "active": true, "roles": [{"term": "2017-2018", "district": "3", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "43 Arlington Rd, Sioux City, IA 51106", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "jim.carlin@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:18", "updated_at": "2019-01-13 06:06:18"}, {"id": "IAL000516", "leg_id": "IAL000516", "all_ids": ["IAL000516"], "full_name": "Tony Bisignano", "first_name": "Tony", "last_name": "Bisignano", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=906", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=906", "email": "tony.bisignano@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "17", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=906"}], "active": true, "roles": [{"term": "2017-2018", "district": "17", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "2618 E Leach Ave, Des Moines, IA 50320", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "tony.bisignano@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2018-10-18 14:42:18", "updated_at": "2019-01-13 06:06:25"}, {"id": "~not available~", "leg_id": "~not available~", "all_ids": ["~not available~"], "full_name": "Zach Wahls", "first_name": "Zach", "last_name": "Wahls", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=27002", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27002", "email": "zach.wahls@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "37", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27002"}], "active": true, "roles": [{"term": "2017-2018", "district": "37", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "201 E 9th St #415, Coralville, IA 52241", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "zach.wahls@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2019-01-13 06:06:18", "updated_at": "2019-01-13 06:06:18"}, {"id": "~not available~", "leg_id": "~not available~", "all_ids": ["~not available~"], "full_name": "Claire Celsi", "first_name": "Claire", "last_name": "Celsi", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=27000", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27000", "email": "claire.celsi@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "21", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27000"}], "active": true, "roles": [{"term": "2017-2018", "district": "21", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "515-462-0487", "email": null, "address": "4400 EP True Pkwy #52, West Des Moines, IA 50265", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "claire.celsi@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2019-01-13 06:06:19", "updated_at": "2019-01-13 06:06:19"}, {"id": "~not available~", "leg_id": "~not available~", "all_ids": ["~not available~"], "full_name": "Jackie Smith", "first_name": "Jackie", "last_name": "Smith", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=26998", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=26998", "email": "jackie.smith@legis.iowa.gov", "party": "Democratic", "chamber": "upper", "district": "7", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=26998"}], "active": true, "roles": [{"term": "2017-2018", "district": "7", "chamber": "upper", "state": "ia", "party": "Democratic", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "712-898-0477", "email": null, "address": "2324 Mohawk Ct, Sioux City, IA 51104", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "jackie.smith@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2019-01-13 06:06:22", "updated_at": "2019-01-13 06:06:22"}, {"id": "~not available~", "leg_id": "~not available~", "all_ids": ["~not available~"], "full_name": "Zach Whiting", "first_name": "Zach", "last_name": "Whiting", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=26997", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=26997", "email": "zach.whiting@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "1", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=26997"}], "active": true, "roles": [{"term": "2017-2018", "district": "1", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "PO Box 385, Spirit Lake, IA 51360", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "zach.whiting@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2019-01-13 06:06:23", "updated_at": "2019-01-13 06:06:24"}, {"id": "~not available~", "leg_id": "~not available~", "all_ids": ["~not available~"], "full_name": "Carrie Koelker", "first_name": "Carrie", "last_name": "Koelker", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=27001", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27001", "email": "carrie.koelker@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "29", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27001"}], "active": true, "roles": [{"term": "2017-2018", "district": "29", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "563-875-7530", "email": null, "address": "807 Third St NW, Dyersville, IA 52040", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "carrie.koelker@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2019-01-13 06:06:25", "updated_at": "2019-01-13 06:06:25"}, {"id": "~not available~", "leg_id": "~not available~", "all_ids": ["~not available~"], "full_name": "Chris Cournoyer", "first_name": "Chris", "last_name": "Cournoyer", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=27004", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27004", "email": "chris.cournoyer@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "49", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27004"}], "active": true, "roles": [{"term": "2017-2018", "district": "49", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": null, "email": null, "address": "27633 Blackhawk Ct, LeClaire, IA 52753", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "chris.cournoyer@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2019-01-13 06:06:27", "updated_at": "2019-01-13 06:06:27"}, {"id": "~not available~", "leg_id": "~not available~", "all_ids": ["~not available~"], "full_name": "Mariannette Miller-Meeks", "first_name": "Mariannette", "last_name": "Miller-Meeks", "suffix": "", "photo_url": "https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=27003", "url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27003", "email": "mariannette.miller-meeks@legis.iowa.gov", "party": "Republican", "chamber": "upper", "district": "41", "state": "ia", "sources": [{"url": "https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27003"}], "active": true, "roles": [{"term": "2017-2018", "district": "41", "chamber": "upper", "state": "ia", "party": "Republican", "type": "member", "start_date": null, "end_date": null}], "offices": [{"name": "District Office", "fax": null, "phone": "641-683-7551", "email": null, "address": "11674 90th St, Ottumwa, IA 52501", "type": "district"}, {"name": "Capitol Office", "fax": null, "phone": "515-281-3371", "email": "mariannette.miller-meeks@legis.iowa.gov", "address": null, "type": "capitol"}], "old_roles": {}, "middle_name": "", "country": "us", "level": "state", "created_at": "2019-01-13 06:06:28", "updated_at": "2019-01-13 06:06:28"}]'
list_of_dicts = [{"animal": "cat", "value": "high"}, {"animal":"dog", "value": "ugly"}]
for x in list_of_dicts:
print(x["animal"])
cat dog
import json
senate = json.loads(r.text)
senate
[{u'active': True,
u'all_ids': [u'IAL000213'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:48',
u'district': u'6',
u'email': u'mark.segebart@legis.iowa.gov',
u'first_name': u'Mark',
u'full_name': u'Mark Segebart',
u'id': u'IAL000213',
u'last_name': u'Segebart',
u'leg_id': u'IAL000213',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'1820 - 350th St, Vail, IA 51465',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'mark.segebart@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10727',
u'roles': [{u'chamber': u'upper',
u'district': u'6',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10727'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:29',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10727'},
{u'active': True,
u'all_ids': [u'IAL000039', u'IAL000209'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:49',
u'district': u'27',
u'email': u'amanda.ragan@legis.iowa.gov',
u'first_name': u'Amanda',
u'full_name': u'Amanda Ragan',
u'id': u'IAL000039',
u'last_name': u'Ragan',
u'leg_id': u'IAL000039',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'361 S Pennsylvania Ave 1-D, Mason City, IA 50401',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'641-424-0874',
u'type': u'district'},
{u'address': None,
u'email': u'amanda.ragan@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=110',
u'roles': [{u'chamber': u'upper',
u'district': u'27',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=110'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:23',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=110'},
{u'active': True,
u'all_ids': [u'IAL000028', u'IAL000199', u'IAL000481'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:49',
u'district': u'33',
u'email': u'rob.hogg@legis.iowa.gov',
u'first_name': u'Robert',
u'full_name': u'Robert Hogg',
u'id': u'IAL000028',
u'last_name': u'Hogg',
u'leg_id': u'IAL000028',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'PO Box 1361, Cedar Rapids, IA 52406',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'319-247-0223',
u'type': u'district'},
{u'address': None,
u'email': u'rob.hogg@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=6257',
u'roles': [{u'chamber': u'upper',
u'district': u'33',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6257'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:21',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6257'},
{u'active': True,
u'all_ids': [u'IAL000234', u'IAL000514'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:51',
u'district': u'12',
u'email': u'mark.costello@legis.iowa.gov',
u'first_name': u'Mark',
u'full_name': u'Mark Costello',
u'id': u'IAL000234',
u'last_name': u'Costello',
u'leg_id': u'IAL000234',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'37265 Rains Ave, Imogene, IA 51645',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'mark.costello@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10749',
u'roles': [{u'chamber': u'upper',
u'district': u'12',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10749'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:30',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10749'},
{u'active': True,
u'all_ids': [u'IAL000533'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:51',
u'district': u'32',
u'email': u'craig.johnson@legis.iowa.gov',
u'first_name': u'Craig',
u'full_name': u'Craig Johnson',
u'id': u'IAL000533',
u'last_name': u'Johnson',
u'leg_id': u'IAL000533',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'413 - 13th Ave NE, Independence, IA 50644',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'319-334-2413',
u'type': u'district'},
{u'address': None,
u'email': u'craig.johnson@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18075',
u'roles': [{u'chamber': u'upper',
u'district': u'32',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18075'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:28',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18075'},
{u'active': True,
u'all_ids': [u'IAL000186'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:52',
u'district': u'10',
u'email': u'jake.chapman@legis.iowa.gov',
u'first_name': u'Jake',
u'full_name': u'Jake Chapman',
u'id': u'IAL000186',
u'last_name': u'Chapman',
u'leg_id': u'IAL000186',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'25862 Fox Ridge Ln, Adel, IA 50003',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'jake.chapman@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10728',
u'roles': [{u'chamber': u'upper',
u'district': u'10',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10728'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:19',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10728'},
{u'active': True,
u'all_ids': [u'IAL000070',
u'IAL000246',
u'IAL000322',
u'IAL000329',
u'IAL000328',
u'IAL000479'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:52',
u'district': u'13',
u'email': u'julian.garrett@legis.iowa.gov',
u'first_name': u'Julian B.',
u'full_name': u'Julian B. Garrett',
u'id': u'IAL000070',
u'last_name': u'Garrett',
u'leg_id': u'IAL000070',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'Box 493, Indianola, IA 50125',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'julian.garrett@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=9404',
u'roles': [{u'chamber': u'upper',
u'district': u'13',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9404'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:28',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9404'},
{u'active': True,
u'all_ids': [u'IAL000537'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:52',
u'district': u'16',
u'email': u'nate.boulton@legis.iowa.gov',
u'first_name': u'Nate',
u'full_name': u'Nate Boulton',
u'id': u'IAL000537',
u'last_name': u'Boulton',
u'leg_id': u'IAL000537',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'2670 Wisconsin Ave, Des Moines, IA 50317',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'515-265-1389',
u'type': u'district'},
{u'address': None,
u'email': u'nate.boulton@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18073',
u'roles': [{u'chamber': u'upper',
u'district': u'16',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18073'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:21',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18073'},
{u'active': True,
u'all_ids': [u'IAL000185'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:53',
u'district': u'28',
u'email': u'michael.breitbach@legis.iowa.gov',
u'first_name': u'Michael',
u'full_name': u'Michael Breitbach',
u'id': u'IAL000185',
u'last_name': u'Breitbach',
u'leg_id': u'IAL000185',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'301 W Mission St, Strawberry Point, IA 52076',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'563-933-6486',
u'type': u'district'},
{u'address': None,
u'email': u'michael.breitbach@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10730',
u'roles': [{u'chamber': u'upper',
u'district': u'28',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10730'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:29',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10730'},
{u'active': True,
u'all_ids': [u'IAL000528'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:53',
u'district': u'8',
u'email': u'dan.dawson@legis.iowa.gov',
u'first_name': u'Dan',
u'full_name': u'Dan Dawson',
u'id': u'IAL000528',
u'last_name': u'Dawson',
u'leg_id': u'IAL000528',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'213 Upland Dr, Council Bluffs, IA 51503',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'712-256-1199',
u'type': u'district'},
{u'address': None,
u'email': u'dan.dawson@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18072',
u'roles': [{u'chamber': u'upper',
u'district': u'8',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18072'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:30',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18072'},
{u'active': True,
u'all_ids': [u'IAL000540'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:54',
u'district': u'44',
u'email': u'tom.greene@legis.iowa.gov',
u'first_name': u'Thomas A.',
u'full_name': u'Thomas A. Greene',
u'id': u'IAL000540',
u'last_name': u'Greene',
u'leg_id': u'IAL000540',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'5763 Hartman Rd, Burlington, IA 52601',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'319-750-6579',
u'type': u'district'},
{u'address': None,
u'email': u'tom.greene@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18077',
u'roles': [{u'chamber': u'upper',
u'district': u'44',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18077'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:21',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18077'},
{u'active': True,
u'all_ids': [u'IAL000031', u'IAL000202'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:54',
u'district': u'50',
u'email': u'pam.jochum@legis.iowa.gov',
u'first_name': u'Pam',
u'full_name': u'Pam Jochum',
u'id': u'IAL000031',
u'last_name': u'Jochum',
u'leg_id': u'IAL000031',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'2368 Jackson St, Dubuque, IA 52001',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'563-556-6530',
u'type': u'district'},
{u'address': None,
u'email': u'pam.jochum@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=35',
u'roles': [{u'chamber': u'upper',
u'district': u'50',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=35'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:30',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=35'},
{u'active': True,
u'all_ids': [u'IAL000009', u'IAL000182'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:54',
u'district': u'43',
u'email': u'joe.bolkcom@legis.iowa.gov',
u'first_name': u'Joe',
u'full_name': u'Joe Bolkcom',
u'id': u'IAL000009',
u'last_name': u'Bolkcom',
u'leg_id': u'IAL000009',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'1235 Oakes Dr, Iowa City, IA 52245',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'319-337-6280',
u'type': u'district'},
{u'address': None,
u'email': u'joe.bolkcom@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=123',
u'roles': [{u'chamber': u'upper',
u'district': u'43',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=123'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:19',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=123'},
{u'active': True,
u'all_ids': [u'IAL000151', u'IAL000158', u'IAL000170', u'IAL000205'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:55',
u'district': u'34',
u'email': u'liz.mathis@legis.iowa.gov',
u'first_name': u'Liz',
u'full_name': u'Liz Mathis',
u'id': u'IAL000151',
u'last_name': u'Mathis',
u'leg_id': u'IAL000151',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'320 S Blairsferry Crossing, Hiawatha, IA 52233',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'319-361-1725',
u'type': u'district'},
{u'address': None,
u'email': u'liz.mathis@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10318',
u'roles': [{u'chamber': u'upper',
u'district': u'34',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10318'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:22',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10318'},
{u'active': True,
u'all_ids': [u'IAL000014', u'IAL000188'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:56',
u'district': u'30',
u'email': u'jeffdanielson@gmail.com',
u'first_name': u'Jeff',
u'full_name': u'Jeff Danielson',
u'id': u'IAL000014',
u'last_name': u'Danielson',
u'leg_id': u'IAL000014',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'PO Box 1191, Cedar Falls, IA 50613',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'jeffdanielson@gmail.com',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=785',
u'roles': [{u'chamber': u'upper',
u'district': u'30',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=785'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:27',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=785'},
{u'active': True,
u'all_ids': [u'IAL000050', u'IAL000222'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:56',
u'district': u'20',
u'email': u'brad.zaun@legis.iowa.gov',
u'first_name': u'Brad',
u'full_name': u'Brad Zaun',
u'id': u'IAL000050',
u'last_name': u'Zaun',
u'leg_id': u'IAL000050',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'7032 Holcomb Ave, Urbandale, IA 50322',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'515-276-2025',
u'type': u'district'},
{u'address': None,
u'email': u'brad.zaun@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=788',
u'roles': [{u'chamber': u'upper',
u'district': u'20',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=788'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:23',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=788'},
{u'active': True,
u'all_ids': [u'IAL000223'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:57',
u'district': u'48',
u'email': u'dan.zumbach@legis.iowa.gov',
u'first_name': u'Dan',
u'full_name': u'Dan Zumbach',
u'id': u'IAL000223',
u'last_name': u'Zumbach',
u'leg_id': u'IAL000223',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'2618 - 140th Ave, Ryan, IA 52330',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'dan.zumbach@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10733',
u'roles': [{u'chamber': u'upper',
u'district': u'48',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10733'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:23',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10733'},
{u'active': True,
u'all_ids': [u'IAL000044', u'IAL000216'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:59',
u'district': u'47',
u'email': u'roby.smith@legis.iowa.gov',
u'first_name': u'Roby',
u'full_name': u'Roby Smith',
u'id': u'IAL000044',
u'last_name': u'Smith',
u'leg_id': u'IAL000044',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'2036 E 48th St, Davenport, IA 52807',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'563-386-0179',
u'type': u'district'},
{u'address': None,
u'email': u'roby.smith@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=9386',
u'roles': [{u'chamber': u'upper',
u'district': u'47',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9386'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:24',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9386'},
{u'active': True,
u'all_ids': [u'IAL000134', u'IAL000309'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:59',
u'district': u'35',
u'email': u'todd.taylor@legis.iowa.gov',
u'first_name': u'Todd',
u'full_name': u'Todd E. Taylor',
u'id': u'IAL000134',
u'last_name': u'Taylor',
u'leg_id': u'IAL000134',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'1416 A Ave NW, Cedar Rapids, IA 52405',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'todd.taylor@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=54',
u'roles': [{u'chamber': u'upper',
u'district': u'35',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=54'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:19',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=54'},
{u'active': True,
u'all_ids': [u'IAL000535'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:59',
u'district': u'36',
u'email': u'jeff.edler@legis.iowa.gov',
u'first_name': u'Jeff',
u'full_name': u'Jeff Edler',
u'id': u'IAL000535',
u'last_name': u'Edler',
u'leg_id': u'IAL000535',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'1554 - 200th St, State Center, IA 50247',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'jeff.edler@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18076',
u'roles': [{u'chamber': u'upper',
u'district': u'36',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18076'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:20',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18076'},
{u'active': True,
u'all_ids': [u'IAL000038', u'IAL000208', u'IAL000484'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:00',
u'district': u'23',
u'email': u'herman.quirmbach@legis.iowa.gov',
u'first_name': u'Herman',
u'full_name': u'Herman C. Quirmbach',
u'id': u'IAL000038',
u'last_name': u'Quirmbach',
u'leg_id': u'IAL000038',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'1002 Jarrett Circle, Ames, IA 50014',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'515-292-8984',
u'type': u'district'},
{u'address': None,
u'email': u'herman.quirmbach@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=161',
u'roles': [{u'chamber': u'upper',
u'district': u'23',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=161'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:25',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=161'},
{u'active': True,
u'all_ids': [u'IAL000005'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:00',
u'district': u'24',
u'email': u'jerry.behn@legis.iowa.gov',
u'first_name': u'Jerry',
u'full_name': u'Jerry Behn',
u'id': u'IAL000005',
u'last_name': u'Behn',
u'leg_id': u'IAL000005',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'1313 Quill Ave, Boone, IA 50036',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'515-432-7327',
u'type': u'district'},
{u'address': None,
u'email': u'jerry.behn@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=140',
u'roles': [{u'chamber': u'upper',
u'district': u'24',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=140'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:21',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=140'},
{u'active': True,
u'all_ids': [u'IAL000499'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:00',
u'district': u'5',
u'email': u'tim.kraayenbrink@legis.iowa.gov',
u'first_name': u'Tim',
u'full_name': u'Tim Kraayenbrink',
u'id': u'IAL000499',
u'last_name': u'Kraayenbrink',
u'leg_id': u'IAL000499',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'1561 National Ave, Fort Dodge, IA 50501',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'515-576-0417',
u'type': u'district'},
{u'address': None,
u'email': u'tim.kraayenbrink@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=14812',
u'roles': [{u'chamber': u'upper',
u'district': u'5',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14812'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:21',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14812'},
{u'active': True,
u'all_ids': [u'IAL000530'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:01',
u'district': u'45',
u'email': u'jim.lykam@legis.iowa.gov',
u'first_name': u'Jim',
u'full_name': u'Jim Lykam',
u'id': u'IAL000530',
u'last_name': u'Lykam',
u'leg_id': u'IAL000530',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'2906 W 35th St, Davenport, IA 52806',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'563-391-1919',
u'type': u'district'},
{u'address': None,
u'email': u'jim.lykam@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=246',
u'roles': [{u'chamber': u'upper',
u'district': u'45',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=246'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:28',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=246'},
{u'active': True,
u'all_ids': [u'IAL000033', u'IAL000204'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:04',
u'district': u'38',
u'email': u'tim.kapucian@legis.iowa.gov',
u'first_name': u'Tim',
u'full_name': u'Tim L. Kapucian',
u'id': u'IAL000033',
u'last_name': u'Kapucian',
u'leg_id': u'IAL000033',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'1275 - 69th St, Keystone, IA 52249',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'tim.kapucian@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=6567',
u'roles': [{u'chamber': u'upper',
u'district': u'38',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6567'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:28',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6567'},
{u'active': True,
u'all_ids': [u'IAL000115', u'IAL000207'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:05',
u'district': u'18',
u'email': u'janet.petersen@legis.iowa.gov',
u'first_name': u'Janet',
u'full_name': u'Janet Petersen',
u'id': u'IAL000115',
u'last_name': u'Petersen',
u'leg_id': u'IAL000115',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'4300 Beaver Hills Dr, Des Moines, IA 50310',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'janet.petersen@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=72',
u'roles': [{u'chamber': u'upper',
u'district': u'18',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=72'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:21',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=72'},
{u'active': True,
u'all_ids': [u'IAL000125', u'IAL000298', u'IAL000497'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:06',
u'district': u'9',
u'email': u'jason.schultz@legis.iowa.gov',
u'first_name': u'Jason',
u'full_name': u'Jason Schultz',
u'id': u'IAL000125',
u'last_name': u'Schultz',
u'leg_id': u'IAL000125',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'611 Cedar St, PO Box 70, Schleswig, IA 51461',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'jason.schultz@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=6588',
u'roles': [{u'chamber': u'upper',
u'district': u'9',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6588'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:25',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6588'},
{u'active': True,
u'all_ids': [u'IAL000219'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:07',
u'district': u'42',
u'email': u'rich.taylor@legis.iowa.gov',
u'first_name': u'Rich',
u'full_name': u'Rich Taylor',
u'id': u'IAL000219',
u'last_name': u'Taylor',
u'leg_id': u'IAL000219',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'2667 Iowa Ave, Mt Pleasant, IA 52641',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'rich.taylor@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10735',
u'roles': [{u'chamber': u'upper',
u'district': u'42',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10735'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:22',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10735'},
{u'active': True,
u'all_ids': [u'IAL000544'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:08',
u'district': u'26',
u'email': u'waylon.brown@legis.iowa.gov',
u'first_name': u'Waylon',
u'full_name': u'Waylon Brown',
u'id': u'IAL000544',
u'last_name': u'Brown',
u'leg_id': u'IAL000544',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'109 S Summer St, St Ansgar, IA 50472',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'waylon.brown@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18074',
u'roles': [{u'chamber': u'upper',
u'district': u'26',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18074'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:19',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18074'},
{u'active': True,
u'all_ids': [u'IAL000503'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:08',
u'district': u'39',
u'email': u'kevin.kinney@legis.iowa.gov',
u'first_name': u'Kevin',
u'full_name': u'Kevin Kinney',
u'id': u'IAL000503',
u'last_name': u'Kinney',
u'leg_id': u'IAL000503',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'4321 Calkins Ave SW, Oxford, IA 52322',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'319-631-4667',
u'type': u'district'},
{u'address': None,
u'email': u'kevin.kinney@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=14817',
u'roles': [{u'chamber': u'upper',
u'district': u'39',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14817'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:30',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14817'},
{u'active': True,
u'all_ids': [u'IAL000215'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:09',
u'district': u'14',
u'email': u'amy.sinclair@legis.iowa.gov',
u'first_name': u'Amy',
u'full_name': u'Amy Sinclair',
u'id': u'IAL000215',
u'last_name': u'Sinclair',
u'leg_id': u'IAL000215',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'1255 King Rd, Allerton, IA 50008',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'amy.sinclair@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10729',
u'roles': [{u'chamber': u'upper',
u'district': u'14',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10729'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:26',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10729'},
{u'active': True,
u'all_ids': [u'IAL000020'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:11',
u'district': u'2',
u'email': u'randy.feenstra@legis.iowa.gov',
u'first_name': u'Randy',
u'full_name': u'Randy Feenstra',
u'id': u'IAL000020',
u'last_name': u'Feenstra',
u'leg_id': u'IAL000020',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'641 Second St, Hull, IA 51239',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'712-439-1244',
u'type': u'district'},
{u'address': None,
u'email': u'randy.feenstra@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=6565',
u'roles': [{u'chamber': u'upper',
u'district': u'2',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6565'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:22',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6565'},
{u'active': True,
u'all_ids': [u'IAL000515'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:11',
u'district': u'11',
u'email': u'tom.shipley@legis.iowa.gov',
u'first_name': u'Tom',
u'full_name': u'Tom Shipley',
u'id': u'IAL000515',
u'last_name': u'Shipley',
u'leg_id': u'IAL000515',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'2425 Birch Ave, Nodaway, IA 50857',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'712-785-3583',
u'type': u'district'},
{u'address': None,
u'email': u'tom.shipley@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=14814',
u'roles': [{u'chamber': u'upper',
u'district': u'11',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14814'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:24',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14814'},
{u'active': True,
u'all_ids': [u'IAL000509'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:12',
u'district': u'15',
u'email': u'zach.nunn@legis.iowa.gov',
u'first_name': u'Zach',
u'full_name': u'Zach Nunn',
u'id': u'IAL000509',
u'last_name': u'Nunn',
u'leg_id': u'IAL000509',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'PO Box 105, Altoona, IA 50009',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'zach.nunn@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=14803',
u'roles': [{u'chamber': u'upper',
u'district': u'15',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14803'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:19',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=14803'},
{u'active': True,
u'all_ids': [u'IAL000548'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:12',
u'district': u'46',
u'email': u'mark.lofgren@legis.iowa.gov',
u'first_name': u'Mark S.',
u'full_name': u'Mark S. Lofgren',
u'id': u'IAL000548',
u'last_name': u'Lofgren',
u'leg_id': u'IAL000548',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'3025 Provence Ln, Muscatine, IA 52761',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'563-272-8683',
u'type': u'district'},
{u'address': None,
u'email': u'mark.lofgren@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=9406',
u'roles': [{u'chamber': u'upper',
u'district': u'46',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9406'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:26',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9406'},
{u'active': True,
u'all_ids': [u'IAL000210'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:13',
u'district': u'40',
u'email': u'ken.rozenboom@legis.iowa.gov',
u'first_name': u'Ken',
u'full_name': u'Ken Rozenboom',
u'id': u'IAL000210',
u'last_name': u'Rozenboom',
u'leg_id': u'IAL000210',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'2200 Oxford Ave, Oskaloosa, IA 52577',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'ken.rozenboom@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10731',
u'roles': [{u'chamber': u'upper',
u'district': u'40',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10731'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:22',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10731'},
{u'active': True,
u'all_ids': [u'IAL000556'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:14',
u'district': u'25',
u'email': u'annette.sweeney@legis.iowa.gov',
u'first_name': u'Annette',
u'full_name': u'Annette Sweeney',
u'id': u'IAL000556',
u'last_name': u'Sweeney',
u'leg_id': u'IAL000556',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'21547 Hwy S27, Alden, IA 50006',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'annette.sweeney@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=6585',
u'roles': [{u'chamber': u'upper',
u'district': u'25',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6585'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:27',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=6585'},
{u'active': True,
u'all_ids': [u'IAL000196'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:16',
u'district': u'4',
u'email': u'dennis.guth@legis.iowa.gov',
u'first_name': u'Dennis',
u'full_name': u'Dennis Guth',
u'id': u'IAL000196',
u'last_name': u'Guth',
u'leg_id': u'IAL000196',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'1770 Taft Ave, Klemme, IA 50449',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'dennis.guth@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10726',
u'roles': [{u'chamber': u'upper',
u'district': u'4',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10726'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:21',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10726'},
{u'active': True,
u'all_ids': [u'IAL000017', u'IAL000191', u'IAL000487', u'IAL000489'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:16',
u'district': u'31',
u'email': u'bill.dotzler@legis.iowa.gov',
u'first_name': u'William',
u'full_name': u'William A. Dotzler Jr.',
u'id': u'IAL000017',
u'last_name': u'Dotzler',
u'leg_id': u'IAL000017',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'2837 Cedar Terrace Dr, Waterloo, IA 50702',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'319-296-2947',
u'type': u'district'},
{u'address': None,
u'email': u'bill.dotzler@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=157',
u'roles': [{u'chamber': u'upper',
u'district': u'31',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=157'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:21',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=157'},
{u'active': True,
u'all_ids': [u'IAL000048', u'IAL000220'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:17',
u'district': u'19',
u'email': u'jack.whitver@legis.iowa.gov',
u'first_name': u'Jack',
u'full_name': u'Jack Whitver',
u'id': u'IAL000048',
u'last_name': u'Whitver',
u'leg_id': u'IAL000048',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'4019 NE Bellagio Cir, Ankeny, IA 50021',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'jack.whitver@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=9768',
u'roles': [{u'chamber': u'upper',
u'district': u'19',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9768'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:25',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=9768'},
{u'active': True,
u'all_ids': [u'IAL000211'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:17',
u'district': u'22',
u'email': u'charles.schneider@legis.iowa.gov',
u'first_name': u'Charles',
u'full_name': u'Charles Schneider',
u'id': u'IAL000211',
u'last_name': u'Schneider',
u'leg_id': u'IAL000211',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'7887 Cody Dr, West Des Moines, IA 50266',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'charles.schneider@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=10829',
u'roles': [{u'chamber': u'upper',
u'district': u'22',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10829'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:29',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=10829'},
{u'active': True,
u'all_ids': [u'IAL000543', u'IAL000552'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:18',
u'district': u'3',
u'email': u'jim.carlin@legis.iowa.gov',
u'first_name': u'Jim',
u'full_name': u'Jim Carlin',
u'id': u'IAL000543',
u'last_name': u'Carlin',
u'leg_id': u'IAL000543',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'43 Arlington Rd, Sioux City, IA 51106',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'jim.carlin@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=18041',
u'roles': [{u'chamber': u'upper',
u'district': u'3',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18041'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:18',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=18041'},
{u'active': True,
u'all_ids': [u'IAL000516'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:42:18',
u'district': u'17',
u'email': u'tony.bisignano@legis.iowa.gov',
u'first_name': u'Tony',
u'full_name': u'Tony Bisignano',
u'id': u'IAL000516',
u'last_name': u'Bisignano',
u'leg_id': u'IAL000516',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'2618 E Leach Ave, Des Moines, IA 50320',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'tony.bisignano@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=906',
u'roles': [{u'chamber': u'upper',
u'district': u'17',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=906'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:25',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=906'},
{u'active': True,
u'all_ids': [u'~not available~'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2019-01-13 06:06:18',
u'district': u'37',
u'email': u'zach.wahls@legis.iowa.gov',
u'first_name': u'Zach',
u'full_name': u'Zach Wahls',
u'id': u'~not available~',
u'last_name': u'Wahls',
u'leg_id': u'~not available~',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'201 E 9th St #415, Coralville, IA 52241',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'zach.wahls@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=27002',
u'roles': [{u'chamber': u'upper',
u'district': u'37',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27002'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:18',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27002'},
{u'active': True,
u'all_ids': [u'~not available~'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2019-01-13 06:06:19',
u'district': u'21',
u'email': u'claire.celsi@legis.iowa.gov',
u'first_name': u'Claire',
u'full_name': u'Claire Celsi',
u'id': u'~not available~',
u'last_name': u'Celsi',
u'leg_id': u'~not available~',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'4400 EP True Pkwy #52, West Des Moines, IA 50265',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'515-462-0487',
u'type': u'district'},
{u'address': None,
u'email': u'claire.celsi@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=27000',
u'roles': [{u'chamber': u'upper',
u'district': u'21',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27000'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:19',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27000'},
{u'active': True,
u'all_ids': [u'~not available~'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2019-01-13 06:06:22',
u'district': u'7',
u'email': u'jackie.smith@legis.iowa.gov',
u'first_name': u'Jackie',
u'full_name': u'Jackie Smith',
u'id': u'~not available~',
u'last_name': u'Smith',
u'leg_id': u'~not available~',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'2324 Mohawk Ct, Sioux City, IA 51104',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'712-898-0477',
u'type': u'district'},
{u'address': None,
u'email': u'jackie.smith@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=26998',
u'roles': [{u'chamber': u'upper',
u'district': u'7',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=26998'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:22',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=26998'},
{u'active': True,
u'all_ids': [u'~not available~'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2019-01-13 06:06:23',
u'district': u'1',
u'email': u'zach.whiting@legis.iowa.gov',
u'first_name': u'Zach',
u'full_name': u'Zach Whiting',
u'id': u'~not available~',
u'last_name': u'Whiting',
u'leg_id': u'~not available~',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'PO Box 385, Spirit Lake, IA 51360',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'zach.whiting@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=26997',
u'roles': [{u'chamber': u'upper',
u'district': u'1',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=26997'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:24',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=26997'},
{u'active': True,
u'all_ids': [u'~not available~'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2019-01-13 06:06:25',
u'district': u'29',
u'email': u'carrie.koelker@legis.iowa.gov',
u'first_name': u'Carrie',
u'full_name': u'Carrie Koelker',
u'id': u'~not available~',
u'last_name': u'Koelker',
u'leg_id': u'~not available~',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'807 Third St NW, Dyersville, IA 52040',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'563-875-7530',
u'type': u'district'},
{u'address': None,
u'email': u'carrie.koelker@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=27001',
u'roles': [{u'chamber': u'upper',
u'district': u'29',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27001'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:25',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27001'},
{u'active': True,
u'all_ids': [u'~not available~'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2019-01-13 06:06:27',
u'district': u'49',
u'email': u'chris.cournoyer@legis.iowa.gov',
u'first_name': u'Chris',
u'full_name': u'Chris Cournoyer',
u'id': u'~not available~',
u'last_name': u'Cournoyer',
u'leg_id': u'~not available~',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'27633 Blackhawk Ct, LeClaire, IA 52753',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'chris.cournoyer@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=27004',
u'roles': [{u'chamber': u'upper',
u'district': u'49',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27004'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:27',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27004'},
{u'active': True,
u'all_ids': [u'~not available~'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2019-01-13 06:06:28',
u'district': u'41',
u'email': u'mariannette.miller-meeks@legis.iowa.gov',
u'first_name': u'Mariannette',
u'full_name': u'Mariannette Miller-Meeks',
u'id': u'~not available~',
u'last_name': u'Miller-Meeks',
u'leg_id': u'~not available~',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'11674 90th St, Ottumwa, IA 52501',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': u'641-683-7551',
u'type': u'district'},
{u'address': None,
u'email': u'mariannette.miller-meeks@legis.iowa.gov',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Republican',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=27003',
u'roles': [{u'chamber': u'upper',
u'district': u'41',
u'end_date': None,
u'party': u'Republican',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27003'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:28',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=27003'}]
for name in senate:
print(name["full_name", "party"])
KeyErrorTraceback (most recent call last) <ipython-input-24-4141c43148a6> in <module>() 1 for name in senate: ----> 2 print(name["full_name", "party"]) KeyError: ('full_name', 'party')
mytupe = ("cat", "")
yourtupe = "cat", ""
mytupe == yourtupe
True
for name in senate:
n = name["full_name"]
p = name["party"]
print(n + " " + p["offices"][0]["phone"])
Mark Segebart Republican Amanda Ragan Democratic Robert Hogg Democratic Mark Costello Republican Craig Johnson Republican Jake Chapman Republican Julian B. Garrett Republican Nate Boulton Democratic Michael Breitbach Republican Dan Dawson Republican Thomas A. Greene Republican Pam Jochum Democratic Joe Bolkcom Democratic Liz Mathis Democratic Jeff Danielson Democratic Brad Zaun Republican Dan Zumbach Republican Roby Smith Republican Todd E. Taylor Democratic Jeff Edler Republican Herman C. Quirmbach Democratic Jerry Behn Republican Tim Kraayenbrink Republican Jim Lykam Democratic Tim L. Kapucian Republican Janet Petersen Democratic Jason Schultz Republican Rich Taylor Democratic Waylon Brown Republican Kevin Kinney Democratic Amy Sinclair Republican Randy Feenstra Republican Tom Shipley Republican Zach Nunn Republican Mark S. Lofgren Republican Ken Rozenboom Republican Annette Sweeney Republican Dennis Guth Republican William A. Dotzler Jr. Democratic Jack Whitver Republican Charles Schneider Republican Jim Carlin Republican Tony Bisignano Democratic Zach Wahls Democratic Claire Celsi Democratic Jackie Smith Democratic Zach Whiting Republican Carrie Koelker Republican Chris Cournoyer Republican Mariannette Miller-Meeks Republican
def harass_all_democrats(item):
if item["party"] == "Democratic":
name = item["full_name"]
office = item["offices"][0]["phone"]
if name and office:
print(name + " " + office)
for x in senate:
harass_all_democrats(x)
Amanda Ragan 641-424-0874 Robert Hogg 319-247-0223 Nate Boulton 515-265-1389 Pam Jochum 563-556-6530 Joe Bolkcom 319-337-6280 Liz Mathis 319-361-1725 Herman C. Quirmbach 515-292-8984 Jim Lykam 563-391-1919 Kevin Kinney 319-631-4667 William A. Dotzler Jr. 319-296-2947 Claire Celsi 515-462-0487 Jackie Smith 712-898-0477
def find_all_democrats(item):
if item["party"] == "Democratic":
print(item["full_name"])
print(list([find_all_democrats(x) for x in senate]))
Amanda Ragan Robert Hogg Nate Boulton Pam Jochum Joe Bolkcom Liz Mathis Jeff Danielson Todd E. Taylor Herman C. Quirmbach Jim Lykam Janet Petersen Rich Taylor Kevin Kinney William A. Dotzler Jr. Tony Bisignano Zach Wahls Claire Celsi Jackie Smith [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
[x for x in senate if x["full_name"] == "Jeff Danielson"]
[{u'active': True,
u'all_ids': [u'IAL000014', u'IAL000188'],
u'chamber': u'upper',
u'country': u'us',
u'created_at': u'2018-10-18 14:41:56',
u'district': u'30',
u'email': u'jeffdanielson@gmail.com',
u'first_name': u'Jeff',
u'full_name': u'Jeff Danielson',
u'id': u'IAL000014',
u'last_name': u'Danielson',
u'leg_id': u'IAL000014',
u'level': u'state',
u'middle_name': u'',
u'offices': [{u'address': u'PO Box 1191, Cedar Falls, IA 50613',
u'email': None,
u'fax': None,
u'name': u'District Office',
u'phone': None,
u'type': u'district'},
{u'address': None,
u'email': u'jeffdanielson@gmail.com',
u'fax': None,
u'name': u'Capitol Office',
u'phone': u'515-281-3371',
u'type': u'capitol'}],
u'old_roles': {},
u'party': u'Democratic',
u'photo_url': u'https://www.legis.iowa.gov/photo?action=getPhoto&ga=2019-2020&pid=785',
u'roles': [{u'chamber': u'upper',
u'district': u'30',
u'end_date': None,
u'party': u'Democratic',
u'start_date': None,
u'state': u'ia',
u'term': u'2017-2018',
u'type': u'member'}],
u'sources': [{u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=785'}],
u'state': u'ia',
u'suffix': u'',
u'updated_at': u'2019-01-13 06:06:27',
u'url': u'https://www.legis.iowa.gov/legislators/legislator?ga=88&personID=785'}]