{"id":32458892,"url":"https://github.com/anthonybloomer/smartmove-api","last_synced_at":"2026-02-25T10:05:11.276Z","repository":{"id":47251030,"uuid":"80076459","full_name":"AnthonyBloomer/smartmove-api","owner":"AnthonyBloomer","description":"An API to retrieve property price statistics in Ireland and the UK.","archived":false,"fork":false,"pushed_at":"2022-10-29T03:54:47.000Z","size":38,"stargazers_count":6,"open_issues_count":12,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-26T11:04:19.561Z","etag":null,"topics":["api","flask","flask-restplus","housing","housing-prices","properties","properties-api","property","python","real-estate","rest","rest-api","restful-api"],"latest_commit_sha":null,"homepage":"https://anthonybloomer.github.io/smartmove-api","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnthonyBloomer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-26T01:39:10.000Z","updated_at":"2024-05-29T04:39:38.000Z","dependencies_parsed_at":"2023-01-20T08:13:32.376Z","dependency_job_id":null,"html_url":"https://github.com/AnthonyBloomer/smartmove-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AnthonyBloomer/smartmove-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonyBloomer%2Fsmartmove-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonyBloomer%2Fsmartmove-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonyBloomer%2Fsmartmove-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonyBloomer%2Fsmartmove-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnthonyBloomer","download_url":"https://codeload.github.com/AnthonyBloomer/smartmove-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonyBloomer%2Fsmartmove-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29817106,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T05:36:42.804Z","status":"ssl_error","status_checked_at":"2026-02-25T05:36:31.934Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","flask","flask-restplus","housing","housing-prices","properties","properties-api","property","python","real-estate","rest","rest-api","restful-api"],"created_at":"2025-10-26T11:00:25.407Z","updated_at":"2026-02-25T10:05:11.271Z","avatar_url":"https://github.com/AnthonyBloomer.png","language":"Python","readme":"# smartmove API\nA RESTful API to retrieve property price statistics in Ireland and the UK. \n\n[Learn more about Smartmove](https://anthonybloomer.github.io/smartmove/).\n\n## Installation\n\n```\nvirtualenv env\nsource env/bin/activate\npip install -r requirements.txt\npython app.py\n```\n\n## Endpoints\n\n### Charts\n\nGet JSON data that can easily be consumed by the Google Charts API.\n\n#### Line Chart\n\nThis endpoint returns the average sale price for each year for a given county.\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/charts/\u003ccounty_name\u003e'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n{\n  \"cols\": [\n    {\n      \"id\": \"Year\",\n      \"label\": \"Year\",\n      \"type\": \"number\"\n    },\n    {\n      \"id\": \"Price\",\n      \"label\": \"Price\",\n      \"type\": \"number\"\n    }\n  ],\n  \"rows\": [\n    {\n      \"c\": [\n        {\n          \"v\": 2010\n        },\n        {\n          \"v\": 333401\n        }\n      ]\n    }\n  ]\n}\n```\n\n##### HTTP Request\n\n`GET http://0.0.0.0:33507/api/v1/charts/\u003ccounty_name\u003e`\n\n##### Query Parameters\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|                         \n| county_name    | The county name.                         |\n| api_key    | Your API Key.                                |\n\n#### Pie Chart\n\nThis endpoint returns the average sale price for each county.\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/charts/counties/average-sale-price'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n{\n  \"cols\": [\n    {\n      \"id\": \"County\",\n      \"label\": \"County\",\n      \"type\": \"string\"\n    },\n    {\n      \"id\": \"Price\",\n      \"label\": \"Price\",\n      \"type\": \"number\"\n    }\n  ],\n  \"rows\": [\n    {\n      \"c\": [\n        {\n          \"v\": \"Dublin\"\n        },\n        {\n          \"v\": 355355.15\n        }\n      ]\n    }\n  ]\n}\n```\n\n##### HTTP Request\n\n`http://0.0.0.0:33507/api/v1/charts/counties/average-sale-price`\n\n##### Query Parameters\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|                         \n| county_name    | The county name.                         |\n| api_key    | Your API Key.                                |\n\n\n### Counties\n\nGet property sale statistics for each county.\n\n#### Get All Counties\n\nThis endpoint retrieves a list of county sale statistics.\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/counties/'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n[\n  {\n    \"average_sale_price\": \"131576.43\",\n    \"county_name\": \"Carlow\",\n    \"id\": \"1\",\n    \"total_number_of_sales\": \"2424\"\n  }\n]\n```\n\n##### HTTP Request\n\n`GET http://0.0.0.0:33507/api/v1/counties/`\n\n##### Query Parameters\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|\n| sort_by    | The sort type.                               |\n| sort_order | The sort order.                              |\n| api_key    | Your API key.                                |\n\n#### Get County By ID\n\nThis endpoint retrieves a county by ID\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/counties/\u003cid\u003e'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n{\n  \"average_sale_price\": \"100182.68\",\n  \"county_name\": \"Cavan\",\n  \"id\": \"2\",\n  \"total_number_of_sales\": \"3842\"\n}\n```\n\n##### HTTP Request\n\n`GET http://0.0.0.0:33507/api/v1/counties/\u003cid\u003e`\n\n##### Query Parameters\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|\n| id         | The county Identifier.                       |\n| api_key    | Your API key.                                |\n\n#### County comparison\n\n\nThis endpoint compares sale statistics between two counties.\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/counties/compare?county1=\u003ccounty1\u003e\u0026county1=\u003ccounty2\u003e'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n[\n  {\n    \"average_sale_price\": \"196669.81\",\n    \"county_name\": \"Cork\",\n    \"id\": 6,\n    \"total_number_of_sales\": \"25367\"\n  },\n  {\n    \"average_sale_price\": \"355355.15\",\n    \"county_name\": \"Dublin\",\n    \"id\": 9,\n    \"total_number_of_sales\": \"75449\"\n  }\n]\n```\n\n##### HTTP Request\n\n`GET http://0.0.0.0:33507/api/v1/counties/compare?county2=\u003ccounty2\u003e\u0026county1=\u003ccounty1\u003e`\n\n##### Query Parameters\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|\n| api_key    | Your API key.                                |\n| county1    | The first county                             |\n| county2    | The second county                            |\n\n\n#### County Statistics by Year\n\nThis endpoint retrieves county sale statistics for a given county name and year.\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/counties/\u003ccounty\u003e/\u003cyear\u003e'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n[\n  {\n    \"average_sale_price\": \"412000\",\n    \"county_name\": \"Dublin\",\n    \"id\": \"42\",\n    \"total_number_of_sales\": \"14592\",\n    \"year\": \"2016\"\n  }\n]\n```\n\n##### HTTP Request\n\n`GET http://0.0.0.0:33507/api/v1/counties/\u003ccounty\u003e/\u003cyear\u003e`\n\n##### Query Parameters\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|\n| api_key    | Your API key.                                |\n| county   | The county name                      |\n| year    | The year                           |\n\n\n### Towns\n\nGet property sale statistics for each town.\n\n#### Get all towns.\n\nGet a list of town sale statistics.\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/towns/'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n[\n  {\n    \"average_sale_price\": \"109899.44\",\n    \"id\": \"1\",\n    \"total_number_of_sales\": \"177\",\n    \"town_name\": \"Abbeyfeale\"\n  },\n  {\n    \"average_sale_price\": \"85346.15\",\n    \"id\": \"2\",\n    \"total_number_of_sales\": \"13\",\n    \"town_name\": \"Achill Island\"\n  }\n ]\n\n```\n##### HTTP Request\n\n`http://0.0.0.0:33507/api/v1/towns/`\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|\n| api_key    | Your API key.                                |\n| sort_by    | The sort type. Result can be sorted by ID or price.         |\n| sort_order | The sort order. Can be set to asc or desc    |\n\n#### Get Town By ID\n\nThis endpoint retrieves a town by ID\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/towns/\u003cid\u003e'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n{\n  \"average_sale_price\": \"226649.47\",\n  \"id\": \"8\",\n  \"total_number_of_sales\": \"787\",\n  \"town_name\": \"Ashbourne\"\n}\n```\n\n###### HTTP Request\n\n`GET http://0.0.0.0:33507/api/v1/towns/\u003cid\u003e`\n\n###### Query Parameters\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|\n| id         | The Town Identifier.                     |\n| api_key    | Your API key.                                |\n\n\n#### Town comparison\n\n\nThis endpoint compares sale statistics between two towns.\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/towns/compare?town2=\u003ctown\u003e\u0026town1=\u003ctown\u003e'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n[\n  {\n    \"average_sale_price\": \"263969.22\",\n    \"id\": \"3\",\n    \"total_number_of_sales\": \"199\",\n    \"town_name\": \"Adare\"\n  },\n  {\n    \"average_sale_price\": \"222968.23\",\n    \"id\": \"28\",\n    \"total_number_of_sales\": \"733\",\n    \"town_name\": \"Blanchardstown\"\n  }\n]\n```\n\n##### HTTP Request\n\n`GET http://0.0.0.0:33507/api/v1/towns/compare?town2=\u003ctown1\u003e\u0026town1=\u003ctown2\u003e`\n\n##### Query Parameters\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|\n| api_key    | Your API key.                                |\n| town1    | The first town                                 |\n| town2    | The second town                                |\n\n\n### Properties\n\nGet property sales statistics.\n\n#### Get All Properties\n\nThis endpoint retrieves all properties.\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/properties/'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n[\n  {\n    \"address\": \"5 Braemor Drive, Churchtown, Co.Dublin\",\n    \"county_name\": \"Dublin\",\n    \"date_time\": \"2010-01-01 00:00:00\",\n    \"description\": \"Second-Hand Dwelling house /Apartment\",\n    \"id\": \"1\",\n    \"latitude\": \"53.3498\",\n    \"longitude\": \"-6.26031\",\n    \"price\": \"343000.00\",\n    \"sale_type\": \"1\"\n  }\n]\n```\n\n##### HTTP Request\n\n`GET http://0.0.0.0:33507/api/v1/properties/`\n\n##### Query Parameters\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|\n| page       | The page number.                             |\n| api_key    | Your API key.                                |\n| from_date  | The year to retrieve property listings from. |\n| to_date    | The year to retrieve property listings to.   |\n| country_id | The country ID.                              |\n| sale_type  | The property sale type.                      |\n\n\n#### Get Property By ID\n\nThis endpoint retrieves a property by ID\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/properties/\u003cid\u003e'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n{\n  \"address\": \"5 Braemor Drive, Churchtown, Co.Dublin\",\n  \"county_name\": \"Dublin\",\n  \"date_time\": \"2010-01-01 00:00:00\",\n  \"description\": \"Second-Hand Dwelling house /Apartment\",\n  \"id\": \"1\",\n  \"latitude\": \"53.3498\",\n  \"longitude\": \"-6.26031\",\n  \"price\": \"343000.00\",\n  \"sale_type\": \"1\"\n}\n```\n\n###### HTTP Request\n\n`GET http://0.0.0.0:33507/api/v1/properties/\u003cid\u003e`\n\n###### Query Parameters\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|\n| id         | The Property Identifier.                     |\n| api_key    | Your API key.                                |\n\n\n#### Search Properties\n\nThis endpoint retrieves property listings for the given search query.\n\n```shell\ncurl -X GET --header 'Accept: application/json' 'http://0.0.0.0:33507/api/v1/properties/search/\u003csearch_term\u003e'\n```\n\n\u003e The above command returns JSON structured like this:\n\n```json\n[\n  {\n    \"address\": \"5 Braemor Drive, Churchtown, Co.Dublin\",\n    \"county_name\": \"Dublin\",\n    \"date_time\": \"2010-01-01 00:00:00\",\n    \"description\": \"Second-Hand Dwelling house /Apartment\",\n    \"id\": \"1\",\n    \"latitude\": \"53.3498\",\n    \"longitude\": \"-6.26031\",\n    \"price\": \"343000.00\",\n    \"sale_type\": \"1\"\n  },\n  {\n    \"address\": \"1 Meadow Avenue, Dundrum, Dublin 14\",\n    \"county_name\": \"Dublin\",\n    \"date_time\": \"2010-01-04 00:00:00\",\n    \"description\": \"Second-Hand Dwelling house /Apartment\",\n    \"id\": \"3\",\n    \"latitude\": \"53.3498\",\n    \"longitude\": \"-6.26031\",\n    \"price\": \"438500.00\",\n    \"sale_type\": \"1\"\n  }\n]\n```\n\n##### HTTP Request\n\n`GET http://0.0.0.0:33507/api/v1/properties/search/\u003csearch_term\u003e`\n\n##### Query Parameters\n\n| Parameter  | Description                                  |\n|------------|----------------------------------------------|\n| page       | The page number.                             |\n| api_key    | Your API key.                                |\n| from_date  | The year to retrieve property listings from. |\n| to_date    | The year to retrieve property listings to.   |\n| country_id | The country ID.                              |\n| sale_type  | The property sale type.                      |\n| search_term | The search query                            |\n\n\n## Examples\n\nYou can find some JavaScript and Python examples in the [examples](https://github.com/AnthonyBloomer/smartmove-api/tree/master/examples) folder.\n\n## Rate Limits\n\nThe Smartmove API includes rate limiting. The API allows 2,000 requests per day and 100 requests per hour.\n\n## Authentication\n\nThe Smartmove API requires authentication. To use the Smartmove API, you must include an API key when loading the API. Please note this feature is disabled by default when running the API locally.\n\n\n## Online Demo\n\nCurrently migrating from local machine to Heroku and right now is incomplete   \nNo API key is required to run the API methods.\n\n[View on Heroku](https://smartmove-api.herokuapp.com)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonybloomer%2Fsmartmove-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanthonybloomer%2Fsmartmove-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonybloomer%2Fsmartmove-api/lists"}