zip_code <- 5210
# Get price statistics ----
url_to_call <- paste0("https://bolighed.dk/api/v2/location/price-statistics?postcode=", zip_code)
my_data <- jsonlite::fromJSON(url_to_call)
zip_data <- tibble(
all_m2 = my_data$postcode$avg_sqm_value_all$value,
for_sale_m2 = my_data$postcode$for_sale_external$avg_sqm_value$value,
maybe_for_sale_m2 = my_data$postcode$maybe_for_sale$avg_sqm_value$value,
area = zip_code
)
dk_data <- tibble(
all_m2 = my_data$denmark$avg_sqm_value_all$value,
for_sale_m2 = my_data$denmark$for_sale_external$avg_sqm_value$value,
maybe_for_sale_m2 = my_data$denmark$maybe_for_sale$avg_sqm_value$value,
area = "dk"
)
price_stats <- rbind(zip_data, dk_data)
# Get home sales ----
url_to_call <- paste0("https://bolighed.dk/api/v2/location/home-sales?postcode=", zip_code)
my_data <- jsonlite::fromJSON(url_to_call)
home_sales <- map_df(1:length(my_data), function(i){
my_data[[i]] %>%
as_tibble() %>%
mutate(date = lubridate::ymd(names(my_data)[i]))
})
# Get home counts ----
url_to_call <- paste0("https://bolighed.dk/api/v2/home/search?limit=0&postcode=", zip_code)
my_data <- jsonlite::fromJSON(url_to_call)
home_counts <- tibble(
for_sale = my_data$for_sale_external_count$doc_count,
maybe_for_sale = my_data$maybe_for_sale_count$doc_count,
total_homes = my_data$total
)
# Get home stats ----
home_count <- home_counts$total_homes
off_sets <- (1:ceiling(home_count/1000)-1)*1000
home_data_list <- pbapply::pblapply(off_sets, function(off_set){
url_to_call <- paste0("https://bolighed.dk/api/v2/home/search?limit=1000&offset=", off_set, "&postcode=", zip_code)
my_data <- jsonlite::fromJSON(url_to_call)
home_data <- my_data$homes
return(home_data)
})
home_data_df <- bind_rows(home_data_list)
listviewer::jsonedit(home_data_list)
# Get listing period ----
url_to_call <- paste0("https://bolighed.dk/api/v2/listing-period?code=", zip_code)
my_data <- jsonlite::fromJSON(url_to_call)
listing_period <- tibble(
quarter = names(my_data) %>% lubridate::ymd(),
days = unlist(my_data)
)
plot(listing_period)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.