Skip to main content

A Python wrapper for the Zoopla API

Project description

Build Status codecov

A python wrapper for the Zoopla API.

Zoopla has launched an open API to allow developers to create applications using hyper local data on 27m homes, over 1m sale and rental listings, and 15 years of sold price data.

Register for a user account and apply for an instant API key.

Browse the documentation to understand how to use the API and the specifications for the individual APIs.

Installation

$ pip install zoopla

Tests

Install the dev requirements:

$ pip install -r requirements.txt
Run py.test with your developer key (otherwise you won’t be able to hit the live
API upon which these tests depend).
$ py.test --api_key=<your-api-key> tests/ # pytest under Python 3+

Examples

Retrieve property listings for a given area.

from zoopla import Zoopla

zoopla = Zoopla(api_key='your_api_key')

search = zoopla.property_listings({
    'maximum_beds': 2,
    'page_size': 100,
    'listing_status': 'sale',
    'area': 'Blackley, Greater Manchester'
})

for result in search.listing:
    print(result.price)
    print(result.description)
    print(result.image_url)

Retrieve a list of house price estimates for the requested area.

zed_indices = zoopla.area_zed_indices({
    'area': 'Blackley, Greater Manchester',
    'output_type': 'area',
    'area_type': 'streets',
    'order': 'ascending',
    'page_number': 1,
    'page_size': 10
})

print(zed_indices.town)
print(zed_indices.results_url)

Generate a graph of values for an outcode over the previous 3 months and return the URL to the generated image.

area_graphs = zoopla.area_value_graphs({'area': 'SW11'})

print(area_graphs.average_values_graph_url)
print(area_graphs.value_trend_graph_url)

Retrieve the average sale price for houses in a particular area.

average = zoopla.average_area_sold_price({'area': 'SW11'})

print(average.average_sold_price_7year)
print(average.average_sold_price_5year)

Submit a viewing request to an agent regarding a particular listing.

session_id = zoopla.get_session_id()

arrange_viewing = zoopla.arrange_viewing({
    'session_id': session_id,
    'listing_id': 44863256,
    'name': 'Tester',
    'email': "zoopla_developer@mashery.com",
    'phone': '01010101',
    'phone_type': 'work',
    'best_time_to_call': 'anytime',
    'message': 'Hi, I seen your listing on zoopla.co.uk and I would love to arrange a viewing!'

})

Contributing

  • Fork the project and clone locally.

  • Create a new branch for what you’re going to work on.

  • Push to your origin repository.

  • Include tests and update documentation if necessary.

  • Create a new pull request in GitHub.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zoopla-1.0.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

zoopla-1.0.0-py2.py3-none-any.whl (7.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file zoopla-1.0.0.tar.gz.

File metadata

  • Download URL: zoopla-1.0.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.19.6 CPython/2.7.10

File hashes

Hashes for zoopla-1.0.0.tar.gz
Algorithm Hash digest
SHA256 37ae3e6cbaf6bbdd3227ecf6e977984580249fd21dd963fdc176083aaec85580
MD5 59d0401c2670d8781a8942040a86e142
BLAKE2b-256 0520552274500a7d172400567566a9f7de914c3821f6543809b3b1e72bba70a6

See more details on using hashes here.

File details

Details for the file zoopla-1.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: zoopla-1.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.19.6 CPython/2.7.10

File hashes

Hashes for zoopla-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c86868e9a8f682b0f297b66ffa7834b955de45018b784b3858f30c41f2421fb2
MD5 ed81cd0ca93f32b0acb4fa90fbcf17c3
BLAKE2b-256 c56afac73b1c94bf33cf82951f19ab2faacca41b7ee34bbc47138208be18f587

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page