In-class example: talking to an API

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.

In [5]:
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())
In [7]:
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.

In [9]:
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.

In [11]:
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

You probably shouldn't write code like that, though. ANYWAY. here are two nice tutorials on list comprehensions for more one, two.

And with no further ado, here's the code (with my API key removed, use your own!) we used in class.

In [2]:
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.
In [3]:
import requests
In [3]:
endpoint = "http://openstates.org/api/v1/legislators/?state=ia&chamber=upper&apikey=" + apikey
In [4]:
endpoint
Out[4]:
'http://openstates.org/api/v1/legislators/?state=ia&chamber=upper&apikey=SECRET'
In [10]:
r = requests.get(endpoint)
In [12]:
r
Out[12]:
<Response [200]>
In [14]:
r.headers
Out[14]:
{'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'}
In [15]:
r.text
Out[15]:
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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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": "[email protected]", "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"}]'
In [17]:
list_of_dicts = [{"animal": "cat", "value": "high"}, {"animal":"dog", "value": "ugly"}]
In [18]:
for x in list_of_dicts:
    print(x["animal"])
cat
dog
In [19]:
import json
In [20]:
senate = json.loads(r.text)
In [21]:
senate
Out[21]:
[{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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'[email protected]',
  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'[email protected]',
    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'}]
In [24]:
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')
In [28]:
mytupe = ("cat", "")
In [29]:
yourtupe = "cat", ""
In [30]:
mytupe == yourtupe
Out[30]:
True
In [31]:
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
In [47]:
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)
In [48]:
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
In [42]:
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]
In [43]:
[x for x in senate if x["full_name"] == "Jeff Danielson"]
Out[43]:
[{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'[email protected]',
  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'[email protected]',
    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'}]

links