You are here: Home Blog Topics public data hacking

public data hacking

Aug 14, 2013

Public Data Hacking with Python in Larimer County

by Mike Cullerton — last modified Aug 14, 2013 12:25 AM

Inspired by Dave Beazley's Public Data Hacking tutorial, I decided to investigate my local public data. It turns out, Larimer County provides API access to property and property tax records. The access is limited, but does provide some beginner experience with public data.

At our recent Python Web Dev meetup [1], we worked on Dave Beazley's Learn Python Through Public Data Hacking tutorial [2]. In the tutorial, Dave introduces python with a series of coding challenges involving public data resources like transit information and health inspections.

Many governments and municipalities now provide access to public records over the Internet, both as part of open information acts and to lower their costs of providing that information. Some even provide direct access to their data through APIs.

Working on the problems in the tutorial got me wondering about the public data available here in Larimer County, CO.

Larimer County provides access to a wide variety of data through the web [3], including property records, voter registration, and restaurant health inspections.

The county also allows direct access to property and property tax information through APIs. The APIs are implemented as SOAP web services.

The county has sample code for languages they call ColdFusion, C#, and PHP.

Hello, the 1990's called. They want their manuals back. [4].

I offer these Python examples.

Code

The API's are somewhat limited. To use them you need to know the schedule number or parcel number for a property. They don't allow you to easily grab a chunk of data to play around with while learning.

# import suds client for SOAP layer
from suds.client import Client

# get a tax result
property_tax_url = 'http://www.larimer.org/webservices/PropertyTaxes.cfc?wsdl'
property_tax_client = Client(property_tax_url)
property_tax_result = property_tax_client.service.GetPropertyTax(scheduleNum='', parcelNum=1234567890, taxYear=2012)
print(property_tax_result)

# get an info result
property_info_url = 'http://www.larimer.org/webservices/PropertyInformation.cfc?wsdl'
property_info_client = Client(property_info_url)
property_info_result = property_info_client.service.GetPropertyInfo(scheduleNum='', parcelNum='1234567890')
print(property_info_result)

The property information client has additional web services available. The county has documentation, code examples, etc. [5]

Comments

It's cool the county provides access to this information online. But, it is very limited in how you can access it.

Hopefully, in the future we'll see more APIs that allow us greater flexibility in our searches.

It was a good learning experience.

Links

[1] Python Web Dev Meetup

[2] Learn Python Through Public Data Hacking

[3] Larimer County Public Records Databases

[4] I'm joking.

[5] Larimer County Public Records Databases API


 
 
Copyright © 2003-2017 Core Software Group | 303/809-1001 | Fort Collins, Colorado | All rights reserved.