See this article for general API requirements.
Apiary Links
You will first need to validate the contact's address. That will return a perfected address with a checksum value.
You can then pull the officials for that address. This requires that you use the perfected address / checksum.
Detailed Instructions
Headers
Every API call requires the same two headers:
- your encrypted API key as the authorization
- application/json as the content type
Validating an Address in Postman
In order to pull the districts or officials who match to a given address, you will need to validate the address. Validation is done via the USPS and is required for both legislative contact and accurate matching.
Example:
- Create a new GET with the URL “https://www.votervoice.net/api/addresses”
-
Under the Params, enter the following values:
- address1 = home street address
- city = home city
- state = home state
-
zipcode = home ZIP without extension
- If you only have a ZIP code, include the parameter “&simpleLookup=true” to return a best-effort match.
- It should look like the screenshot below.
- If you hit the blue “Send” button toward the top, you should get a response like this:
{
"addresses": [
{
"checksum": "-534839494",
"city": "Baton Rouge",
"coordinates": {
"latitude": 30.423828,
"longitude": -91.129772
},
"country": "US",
"county": "East Baton Rouge",
"state": "LA",
"streetAddress": "6100 Corporate Blvd",
"zipCode": "70808",
"zipCodeExtension": "2717"
}
],
"message": null,
"suggestedZipCode": null
}
- When including the address information in the post for a new contact record, you will need to include the information returned here. You can include the coordinates if you want, but it is not necessary. Your address can simply look like this:
"businessAddress": {
"checksum": "-534839494",
"city": "Baton Rouge",
"country": "US",
"county": "East Baton Rouge",
"state": "LA",
"streetAddress": "6100 Corporate Blvd",
"zipCode": "70808",
"zipCodeExtension": "2717"
}
Pulling Official Matches
By Address
- Create a new GET with the URL https://www.votervoice.net/api/officials?association=YourAssociationIDNAME&constituentAddress=PerfectedAddressFromValidationStep
-
Copy the JSON of the perfected address (minus coordinates but including checksum) to use as the parameter for this address.
- {"checksum": "-534839494","city": "Baton Rouge","country": "US","county": "East Baton Rouge","state": "LA","streetAddress": "6100 Corporate Blvd","zipCode": "70808","zipCodeExtension": "2717"}
- You should get a response like this:
[
{
"office": {
"government": {
"name": "Federal",
"uri": "./USA"
},
"electedBody": "US Senate",
"delegateGovernment": {
"name": "Louisiana",
"uri": "./USA/LA"
},
"electoralDistrict": null
},
"occupancy": {
"id": 50127,
"politician": {
"id": 45009,
"party": "R",
"personName": {
"title": "Senator",
"givenNames": "John N.",
"familiarName": "John",
"surname": "Kennedy",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/45009.jpg"
},
"contactInformation": {
"email": null,
"website": "https://www.kennedy.senate.gov/",
"facebook": "https://www.facebook.com/JohnKennedyLouisiana",
"twitter": "SenJohnKennedy",
"youTube": "https://www.youtube.com/channel/UCDgjkA5Y_npoxeUiSW18JZQ"
},
"capitolOffice": {
"address": {
"streetAddress": "416 Russell Senate Office Building",
"city": "Washington",
"state": "DC",
"county": null,
"zipCode": "20510",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2022244623",
"faxNumber": "2022280447"
},
"districtOffice": {
"address": {
"streetAddress": "500 Poydras St Ste 364",
"city": "New Orleans",
"state": "LA",
"county": null,
"zipCode": "70130",
"zipCodeExtension": "3381",
"country": "US",
"checksum": null
},
"phoneNumber": "5045816190",
"faxNumber": null
}
}
},
{
"office": {
"government": {
"name": "Federal",
"uri": "./USA"
},
"electedBody": "US Senate",
"delegateGovernment": {
"name": "Louisiana",
"uri": "./USA/LA"
},
"electoralDistrict": null
},
"occupancy": {
"id": 46121,
"politician": {
"id": 43002,
"party": "R",
"personName": {
"title": "Senator",
"givenNames": "William M.",
"familiarName": "Bill",
"surname": "Cassidy",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/43002.jpg"
},
"contactInformation": {
"email": null,
"website": "http://www.cassidy.senate.gov/",
"facebook": "https://www.facebook.com/billcassidy",
"twitter": "billcassidy",
"youTube": "https://www.youtube.com/c/SenatorBillCassidy"
},
"capitolOffice": {
"address": {
"streetAddress": "520 Hart Senate Office Building",
"city": "Washington",
"state": "DC",
"county": null,
"zipCode": "20510",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2022245824",
"faxNumber": "2022249735"
},
"districtOffice": {
"address": {
"streetAddress": "450 Laurel St Ste 1400",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70801",
"zipCodeExtension": "1818",
"country": "US",
"checksum": null
},
"phoneNumber": "2259297711",
"faxNumber": "2253833768"
}
}
},
{
"office": {
"government": {
"name": "Federal",
"uri": "./USA"
},
"electedBody": "US House",
"delegateGovernment": {
"name": "Louisiana",
"uri": "./USA/LA"
},
"electoralDistrict": "006"
},
"occupancy": {
"id": 46046,
"politician": {
"id": 59692,
"party": "R",
"personName": {
"title": "Representative",
"givenNames": "Garret",
"familiarName": "Garret",
"surname": "Graves",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/59692.jpg"
},
"contactInformation": {
"email": null,
"website": "https://garretgraves.house.gov",
"facebook": "https://www.facebook.com/CongressmanGarretGraves",
"twitter": "RepGarretGraves",
"youTube": null
},
"capitolOffice": {
"address": {
"streetAddress": "2402 Rayburn House Office Building",
"city": "Washington",
"state": "DC",
"county": null,
"zipCode": "20515",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2022253901",
"faxNumber": "2022257313"
},
"districtOffice": {
"address": {
"streetAddress": "2351 Energy Drive, Suite 1200",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70808",
"zipCodeExtension": "2618",
"country": "US",
"checksum": null
},
"phoneNumber": "2254421731",
"faxNumber": "2254421736"
}
}
},
{
"office": {
"government": {
"name": "Louisiana",
"uri": "./USA/LA"
},
"electedBody": "State Senate",
"electoralDistrict": "014"
},
"occupancy": {
"id": 56093,
"politician": {
"id": 27649,
"party": "D",
"personName": {
"title": "Senator",
"givenNames": "Cleo",
"familiarName": "Cleo",
"surname": "Fields",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/27649.jpg"
},
"contactInformation": {
"email": "cfields@legis.la.gov",
"website": "https://senate.la.gov/smembers?ID=14",
"facebook": "https://www.facebook.com/CleoFieldsForSenate",
"twitter": null,
"youTube": null
},
"capitolOffice": {
"address": {
"streetAddress": "P.O. Box 94183",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70804",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2253422040",
"faxNumber": "2253420617"
},
"districtOffice": {
"address": {
"streetAddress": "2147 Government St",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70806",
"zipCodeExtension": "5312",
"country": "US",
"checksum": null
},
"phoneNumber": "2253429514",
"faxNumber": null
}
}
},
{
"office": {
"government": {
"name": "Louisiana",
"uri": "./USA/LA"
},
"electedBody": "State House",
"electoralDistrict": "068"
},
"occupancy": {
"id": 56129,
"politician": {
"id": 67956,
"party": "R",
"personName": {
"title": "Representative",
"givenNames": "Markham Scott",
"familiarName": "Scott",
"surname": "McKnight",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/67956.jpg"
},
"contactInformation": {
"email": "hse068@legis.la.gov",
"website": "https://house.louisiana.gov/H_Reps/members?ID=68",
"facebook": "https://www.facebook.com/mcknightforla",
"twitter": "mcknight4la",
"youTube": null
},
"capitolOffice": {
"address": {
"streetAddress": "P.O. Box 94062",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70804",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2253426945",
"faxNumber": "2253428336"
},
"districtOffice": {
"address": {
"streetAddress": "7901 Wrenwood Blvd",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70809",
"zipCodeExtension": "1774",
"country": "US",
"checksum": null
},
"phoneNumber": "2254655703",
"faxNumber": null
}
}
},
{
"office": {
"government": {
"name": "Louisiana",
"uri": "./USA/LA"
},
"electedBody": "Governor",
"electoralDistrict": null
},
"occupancy": {
"id": 48171,
"politician": {
"id": 45877,
"party": "D",
"personName": {
"title": "Governor",
"givenNames": "John Bel",
"familiarName": "John Bel",
"surname": "Edwards",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/45877.jpg"
},
"contactInformation": {
"email": "boards@la.gov",
"website": "http://gov.louisiana.gov/",
"facebook": "https://www.facebook.com/LouisianaGov",
"twitter": "LouisianaGov",
"youTube": null
},
"capitolOffice": {
"address": {
"streetAddress": "PO Box 94004",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70804",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2253427015",
"faxNumber": null
},
"districtOffice": null
}
},
{
"office": {
"government": {
"name": "Louisiana",
"uri": "./USA/LA"
},
"electedBody": "Lt. Governor",
"electoralDistrict": null
},
"occupancy": {
"id": 48172,
"politician": {
"id": 61334,
"party": "R",
"personName": {
"title": "Lt. Governor",
"givenNames": "William H.",
"familiarName": "Billy",
"surname": "Nungesser",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/61334.jpg"
},
"contactInformation": {
"email": "ltgov@crt.la.gov",
"website": "http://www.crt.state.la.us/lt-governor/index",
"facebook": null,
"twitter": "BillyNungesser",
"youTube": null
},
"capitolOffice": {
"address": {
"streetAddress": "1051 North Third Street",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70802",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2253427009",
"faxNumber": "2253421949"
},
"districtOffice": null
}
},
{
"office": {
"government": {
"name": "Louisiana",
"uri": "./USA/LA"
},
"electedBody": "Attorney General",
"electoralDistrict": null
},
"occupancy": {
"id": 48173,
"politician": {
"id": 51937,
"party": "R",
"personName": {
"title": "Attorney General",
"givenNames": "Jeffrey M.",
"familiarName": "Jeff",
"surname": "Landry",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/51937.jpg"
},
"contactInformation": {
"email": "executive@ag.state.la.us",
"website": "http://www.ag.state.la.us/",
"facebook": null,
"twitter": null,
"youTube": null
},
"capitolOffice": {
"address": {
"streetAddress": "1885 N 3rd St",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70802",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2253266079",
"faxNumber": null
},
"districtOffice": null
}
},
{
"office": {
"government": {
"name": "Louisiana",
"uri": "./USA/LA"
},
"electedBody": "Secretary of State",
"electoralDistrict": null
},
"occupancy": {
"id": 54835,
"politician": {
"id": 66807,
"party": "R",
"personName": {
"title": "Secretary of State",
"givenNames": "R. Kyle",
"familiarName": "Kyle",
"surname": "Ardoin",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/66807.jpg"
},
"contactInformation": {
"email": "Kyle.ardoin@sos.la.gov",
"website": "https://www.sos.la.gov/Pages/default.aspx",
"facebook": null,
"twitter": "keepkyle",
"youTube": null
},
"capitolOffice": {
"address": {
"streetAddress": "P.O. Box 94125",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70804-9125",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2259222880",
"faxNumber": "2259222003"
},
"districtOffice": null
}
},
{
"office": {
"government": {
"name": "Federal",
"uri": "./USA"
},
"electedBody": "President",
"electoralDistrict": null
},
"occupancy": {
"id": 58955,
"politician": {
"id": 98,
"party": "D",
"personName": {
"title": "President",
"givenNames": "Joseph R.",
"familiarName": "Joe",
"surname": "Biden",
"suffix": "Jr."
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/98.jpg"
},
"contactInformation": {
"email": null,
"website": "http://www.whitehouse.gov/",
"facebook": null,
"twitter": "POTUS",
"youTube": null
},
"capitolOffice": {
"address": {
"streetAddress": "1600 Pennsylvania Avenue NW",
"city": "Washington",
"state": "DC",
"county": null,
"zipCode": "20501",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2024561414",
"faxNumber": null
},
"districtOffice": null
}
},
{
"office": {
"government": {
"name": "East Baton Rouge,LA",
"uri": "./USA/LA/East Baton Rouge(County)"
},
"electedBody": "East Baton Rouge Metropolitan Council",
"electoralDistrict": "012"
},
"occupancy": {
"id": 57061,
"politician": {
"id": 68810,
"party": "R",
"personName": {
"title": "Councilmember",
"givenNames": "Jennifer",
"familiarName": "Jennifer",
"surname": "Racca",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/68810.jpg"
},
"contactInformation": {
"email": "CouncilDistrict12DL@brla.gov",
"website": "https://www.brla.gov/770/District-12---Jennifer-Racca",
"facebook": null,
"twitter": null,
"youTube": null
},
"capitolOffice": {
"address": {
"streetAddress": "222 Saint Louis Street Room 358",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70802",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2253894697",
"faxNumber": "2253898895"
},
"districtOffice": null
}
},
{
"office": {
"government": {
"name": "East Baton Rouge,LA",
"uri": "./USA/LA/East Baton Rouge(County)"
},
"electedBody": "East Baton Rouge Parish School Board",
"electoralDistrict": "005"
},
"occupancy": {
"id": 36452,
"politician": {
"id": 53439,
"party": null,
"personName": {
"title": "School Board Mbr.",
"givenNames": "Evelyn",
"familiarName": "Evelyn",
"surname": "Ware-Jackson",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/53439.jpg"
},
"contactInformation": {
"email": "EWareJackson@ebrschools.org",
"website": "https://ebrschools.org/our-board/",
"facebook": null,
"twitter": null,
"youTube": null
},
"capitolOffice": {
"address": {
"streetAddress": "1050 S. Foster Dr.",
"city": "Baton Rouge",
"state": "LA",
"county": null,
"zipCode": "70806",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2259225400",
"faxNumber": "2259225499"
},
"districtOffice": null
}
},
{
"office": {
"government": {
"name": "Louisiana",
"uri": "./USA/LA"
},
"electedBody": "State Treasurer",
"electoralDistrict": null
},
"occupancy": {
"id": 51562,
"politician": {
"id": 45881,
"party": "R",
"personName": {
"title": "Treasurer",
"givenNames": "John M.",
"familiarName": "John",
"surname": "Schroder",
"suffix": "Sr."
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/45881.jpg"
},
"contactInformation": {
"email": null,
"website": "https://www.treasury.state.la.us/administration/",
"facebook": "https://www.facebook.com/SchroderLA",
"twitter": "JohnSchroderLA",
"youTube": "https://www.youtube.com/channel/UCdw18kc1ppy3pyNY54C0Qpg"
},
"capitolOffice": {
"address": null,
"phoneNumber": "2253420010",
"faxNumber": null
},
"districtOffice": null
}
},
{
"office": {
"government": {
"name": "Federal",
"uri": "./USA"
},
"electedBody": "Vice President",
"electoralDistrict": null
},
"occupancy": {
"id": 58954,
"politician": {
"id": 52736,
"party": "D",
"personName": {
"title": "Vice President",
"givenNames": "Kamala D.",
"familiarName": "Kamala",
"surname": "Harris",
"suffix": null
},
"photoUrl": "https://d3dkdvqff0zqx.cloudfront.net/photos/52736.jpg"
},
"contactInformation": {
"email": null,
"website": "https://www.whitehouse.gov/",
"facebook": null,
"twitter": "VP",
"youTube": null
},
"capitolOffice": {
"address": {
"streetAddress": "1600 Pennsylvania Ave NW",
"city": "Washington",
"state": "DC",
"county": null,
"zipCode": "20505",
"zipCodeExtension": null,
"country": "US",
"checksum": null
},
"phoneNumber": "2024561111",
"faxNumber": null
},
"districtOffice": null
}
}
]
If you have questions concerning the API calls, please email your specific questions, including the curl and any errors to vvsupport@fiscalnote.com for a Support agent to review.
Comments
Article is closed for comments.