Python client library for the Police API
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
LICENSE Add LICENSE Nov 7, 2013 Add MANIFEST and bump version to 0.9 Nov 13, 2013
README.rst Use https to talk to and link to and Aug 19, 2015
requirements.txt Add support for the stop and search API methods. Aug 19, 2015


Police API Client (Python) travis_badge

A Python client for the Police API. Supports Python 2.6, 2.7, 3.2, 3.3 and 3.4.


Install the Police API client with pip:

pip install police-api-client


The Police API doesn't require authentication, so no setup is required:

>>> from police_api import PoliceAPI
>>> api = PoliceAPI()

Retrieving force & neighbourhood data:

>>> api.get_forces()
[<Force> Avon and Somerset Constabulary, ..., <Force> Wiltshire Police]
>>> leicestershire = api.get_force('leicestershire')
>>> city_centre = api.get_neighbourhood(leicestershire, 'city-centre-neighbourhood')
>>> city_centre.description
The Castle neighbourhood is a diverse covering all of the City Centre. In addition it covers De Montfort University, the Univesity of Leicester, Leicester Royal Infirmary, the Leicester Tigers rugby ground and the Clarendon Park and Riverside communities.
>>> city_centre.contact_details
{u'email': u'', u'telephone': u'101', u'address': u'74 Belgrave Gate\n, Leicester, LE1 3GG'}

Locating neighbourhoods:

>>> n = api.locate_neighbourhood(52.63473, -1.137514)
>>> n
<Neighbourhood> C04
>>> n.force
<Force> Leicestershire Police

Crime & outcomes data:

>>> api.get_latest_date()
>>> api.get_crimes_area(city_centre.boundary)
[<Crime> 26926242, ..., <Crime> 26925710]
>>> len(api.get_crimes_area(city_centre.boundary, date='2013-08'))
>>> crime = api.get_crimes_area(city_centre.boundary, date='2013-06')[0]
>>> crime.outcomes
[<Crime.Outcome> Under investigation, <Crime.Outcome> Suspect charged, <Crime.Outcome> Awaiting court outcome]

For more advanced usage, see the documentation.