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'}]