{"id":20685911,"url":"https://github.com/erykwalczak/zooplar","last_synced_at":"2025-04-22T13:42:21.370Z","repository":{"id":89373159,"uuid":"84736061","full_name":"erykwalczak/zooplaR","owner":"erykwalczak","description":"R API wrapper for Zoopla","archived":false,"fork":false,"pushed_at":"2019-08-25T23:28:33.000Z","size":108,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T15:34:57.318Z","etag":null,"topics":["api-wrapper","proptech","r","realestate","zoopla","zoopla-api"],"latest_commit_sha":null,"homepage":"https://erzk.github.io/zooplaR/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erykwalczak.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-12T15:27:18.000Z","updated_at":"2022-04-22T19:00:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"c1a42f56-b869-417a-b8eb-ab66357a453f","html_url":"https://github.com/erykwalczak/zooplaR","commit_stats":null,"previous_names":["erykwalczak/zooplar","erzk/zooplar"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erykwalczak%2FzooplaR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erykwalczak%2FzooplaR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erykwalczak%2FzooplaR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erykwalczak%2FzooplaR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erykwalczak","download_url":"https://codeload.github.com/erykwalczak/zooplaR/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250250621,"owners_count":21399672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-wrapper","proptech","r","realestate","zoopla","zoopla-api"],"created_at":"2024-11-16T22:29:24.848Z","updated_at":"2025-04-22T13:42:21.346Z","avatar_url":"https://github.com/erykwalczak.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ntitle: \"zooplaR\"\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, echo = FALSE}\nNOT_CRAN \u003c- identical(tolower(Sys.getenv(\"NOT_CRAN\")), \"true\")\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"README-\",\n  purl = NOT_CRAN\n)\n```\n\n[![Travis-CI Build Status](https://travis-ci.org/erzk/zooplaR.svg?branch=master)](https://travis-ci.org/erzk/zooplaR)\n[![Coverage Status](https://img.shields.io/codecov/c/github/erzk/zooplaR/master.svg)](https://codecov.io/github/erzk/zooplaR?branch=master)\n[![Package-License](http://img.shields.io/badge/license-GPL--3-brightgreen.svg?style=flat)](http://www.gnu.org/licenses/gpl-3.0.html)\n[![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/PostcodesioR)](https://cran.r-project.org/package=PostcodesioR)\n\n### About\n\nThis package is an API wrapper for accessing the UK housing market data from [Zoopla](http://www.zoopla.co.uk/).\nCheck the package's [website](https://erzk.github.io/zooplaR/) for more examples.\n\n### Installation\n\n* Install *devtools* if you don't have it yet: `install.packages(\"devtools\")`\n* Use `devtools::install_github(\"erzk/zooplaR\")` to install the package.\n\n* Read the zooplaR's [vignette](https://github.com/erzk/zooplaR/blob/master/vignettes/Introduction_to_zooplaR.Rmd).\n\n* [Register](http://developer.zoopla.com/member/register/) for an account and an API key.\n\n* Store the key in an environment variable. \n\n```{r, eval = FALSE}\nfile.edit(\"~/.Renviron\")\n```\n\nThen create a variable in the `.Renviron` file like this:\n\n```{r, eval = FALSE}\nzoopla_key \u003c- \"YOUR_KEY_GOES_HERE\"\n```\n\nFor other options of storing a key, read this [vignette](https://cran.r-project.org/web/packages/httr/vignettes/secrets.html).\n\nIn my case, the API key is stored in the variable `zoopla_key`. You can check whether it's defined and loaded correctly and save it to a variable using:\n\n```{r}\nzoopla_key \u003c- Sys.getenv(\"zoopla_key\")\n```\n\nThe functions in this package assume that the API key is stored in the system environment as a `zoopla_key` variable. If not, then most function calls will fail.\n\n### Usage\n\nLoad the package\n\n```{r}\nlibrary(zooplaR)\n```\n\n## Get the session id\n\nThis will be useful for other calls\n\n```{r}\nget_session_id(zoopla_key)\n```\n\n## Get the average property prices\n\nFocus on a particular outcode:\n\n```{r}\naasp \u003c- average_area_sold_price(\"EH1 2NG\", \"outcode\", zoopla_key)\n\n# overview\nstr(aasp)\n```\n\nOr another use another function to focus on individual streets:\n\n```{r}\nasp \u003c- average_sold_prices(\"EH1 2NG\", \"outcode\", \"streets\", zoopla_key)\n\n# overview\nstr(asp)\n```\n\nIn the example above, the streets can be found in the URLs, e.g. \n\n```{r}\nasp[2]$areas$prices_url\n```\n\n## Zed indices\n\nZoopla prepared its own indices, they can be accessed with the following functions:\n\n```{r}\nzi \u003c- zed_index(\"E151AZ\", \"town\", zoopla_key)\n\n# overview\nstr(zi)\n```\n\nFunction `zed_index()` can also provide indices on other aggregation levels. Please consult documentation for more info.\n\nThere is also another zed index function that takes more arguments:\n\n```{r}\nazi \u003c- area_zed_indices(\"sw185rw\", \"postcodes\", \"outcode\", 1, 10, zoopla_key, \"descending\")\n\n# overview\nstr(azi)\n```\n\n## Property listings\n\nYou can get the Zoopla listings for a particular area using the following call:\n\n```{r}\nlistings \u003c- property_listings(postcode = \"E15 4QS\", API_key = zoopla_key)\n\n# overview\nnames(listings)\n\nstr(listings[6])\n```\n\n## Get house price charts\n\nChart showing prices in the last three months in a particular outcode:\n\n```{r}\navgr \u003c- area_value_graphs(\"W12\", zoopla_key)\n\n# overview\nstr(avgr)\n\n# to see a chart, follow the URLs, e.g.\navgr$average_values_graph_url\n```\n\nMore detailed charts can also include information about council tax, crime, education, or population age range. These charts can be generated by Zoopla using the following also on an incode level.\n\n```{r}\nligr \u003c- local_info_graphs(\"W12\", zoopla_key)\n\n# overview\nstr(ligr)\n\n# to see a chart, follow the URLs, e.g.\nligr$council_tax_graph_url\n```\n\n## Suggest autocompletions for locations\n\nIf you are not sure how to spell a location, you can use the API to get suggestions. On this example I made a typo when writing Ruislip:\n\n```{r}\ngeo_ac \u003c- geo_autocomplete(\"ruisli\", \"listings\", zoopla_key)\n\n# overview\nstr(geo_ac)\n```\n\n### Limitations\n\nAs most APIs, Zoopla [limits](http://developer.zoopla.com/API_terms_of_use) the number of calls. The limit is 100 calls per second and 100 per hour. Once you hit the limit, the 403 error will appear.\n\n### Thanks\n\n![](https://www.zoopla.co.uk/static/images/mashery/powered-by-zoopla-150x73.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferykwalczak%2Fzooplar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferykwalczak%2Fzooplar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferykwalczak%2Fzooplar/lists"}