{"id":8044,"date":"2026-07-16T15:55:25","date_gmt":"2026-07-16T13:55:25","guid":{"rendered":"https:\/\/eodhd.com\/financial-apis\/?p=8044"},"modified":"2026-07-16T15:59:05","modified_gmt":"2026-07-16T13:59:05","slug":"real-estate-data-api","status":"publish","type":"post","link":"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api","title":{"rendered":"Real Estate Data API (beta)"},"content":{"rendered":"<!-- Real Estate Data API (BIS Property Prices) \u2014 public docs article for eodhd.com\/financial-apis\/real-estate-data-api -->\n<!-- Suggested meta description (Yoast\/Rank Math): -->\n<!-- Real estate data API: residential property price indices for 60+ countries from the Bank for International Settlements \u2014 Selected Property Prices (nominal and real, index and year-on-year) and Detailed Property Prices, in JSON and CSV. -->\n\n\n<p class=\"docs-content__text wp-block-paragraph\">The EODHD Real Estate Data API delivers residential property price statistics for more than sixty countries, sourced from the Bank for International Settlements. It covers two BIS datasets: Selected Property Prices, a harmonised headline index that is comparable across countries, and Detailed Property Prices, a deeper set of national series broken down by dwelling type, region, and vintage. The data suits macro and real-estate analysts, quant researchers, and anyone tracking housing markets across countries on a consistent basis.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Four endpoints share the same authentication and the same JSON response envelope: a country list, the Selected Property Prices series for a country, the Detailed Property Prices observations for a country, and the catalogue of detailed series available for a country. Selected Property Prices are quarterly, with periods expressed as year and quarter, for example 2020-Q1. Detailed Property Prices carry their own frequency per series, which may be monthly, quarterly, half-yearly, or annual.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\"><!--TOC--><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-overview\">Overview<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Every endpoint is reached over HTTPS with a GET request and authenticated by an api_token query parameter, the same token used across the EODHD API. Requests return a JSON object with three top-level keys: data, the array of records; meta, which carries the total row count, the active page window, and dataset provenance such as source and base year; and links, which holds the pagination link to the next page. Results are paged with page[offset] and page[limit], where the default page size is 50 rows and the maximum is 500. Add fmt=csv to any endpoint to receive the same data as a CSV download.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">All endpoints live under a common base path. Country codes are two-letter ISO codes and are case insensitive; lowercase input is accepted and normalised to uppercase.<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code class=\"\">https:\/\/eodhd.com\/api\/real-estate\/{code}?api_token=YOUR_TOKEN<\/code><\/pre>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-country-coverage\">Country Coverage<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Before requesting price data, list the countries that are available and check which datasets each one carries. Some countries have Selected Property Prices only, some have Detailed Property Prices only, and most have both. A handful of entries are BIS aggregates that group several economies rather than a single country.<\/p>\n\n\n\n<h3 class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\" id=\"h-country-list\">Country List<\/h3>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Returns every available country with two boolean flags indicating which datasets are present. Use these flags to decide whether to call the Selected Property Prices endpoint, the Detailed Property Prices endpoint, or both for a given country.<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code class=\"\">https:\/\/eodhd.com\/api\/real-estate\/countries?api_token=YOUR_TOKEN<\/code><\/pre>\n<\/div>\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Method GET. Authentication by api_token. Pagination by page[offset] and page[limit]. Response is a JSON envelope with data, meta, and links.<\/p>\n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-parameters\">Parameters<\/h4>\n\n\n<div class=\"docs-parameters\">\n    \n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">api_token<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--required\">\n            required        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Your EODHD API token<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">page[limit]<\/code>\n        \n                    <span class=\"docs-parameters__type\">integer<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Rows per page, default 50<\/span>\n                    <span class=\"docs-parameters__default\"><em>(Default: 1-500)<\/em><\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">page[offset]<\/code>\n        \n                    <span class=\"docs-parameters__type\">integer<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Rows to skip, default 0<\/span>\n            <\/div>\n<\/div>\n\n<\/div>\n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-request-example\">Request Example<\/h4>\n\n\n    <div class=\"api-key\" data-feed=\"EOD Historical Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/real-estate\/countries?api_token=YOUR_TOKEN\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/real-estate\/countries?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/real-estate\/countries?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/real-estate\/countries?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/real-estate\/countries?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/real-estate\/countries?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    \n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-response-example\">Response Example<\/h4>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"data\": [\n    { \"code\": \"US\", \"name\": \"United States\", \"has_spp\": true, \"has_dpp\": true },\n    { \"code\": \"AE\", \"name\": \"United Arab Emirates\", \"has_spp\": false, \"has_dpp\": true }\n  ],\n  \"meta\": { \"total\": 64, \"offset\": 0, \"limit\": 50 },\n  \"links\": { \"next\": \"https:\/\/eodhd.com\/api\/real-estate\/countries?fmt=json&amp;page[offset]=50&amp;page[limit]=50\" }\n}<\/code><\/pre>\n<\/div>\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-response-fields\">Response Fields<\/h4>\n\n\n\n<figure class=\"docs-content__table-wrap wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>code<\/td><td>string<\/td><td>Two-letter country code, or a BIS aggregate code<\/td><\/tr><tr><td>name<\/td><td>string<\/td><td>Country name<\/td><\/tr><tr><td>has_spp<\/td><td>boolean<\/td><td>True when Selected Property Prices are available for this country<\/td><\/tr><tr><td>has_dpp<\/td><td>boolean<\/td><td>True when Detailed Property Prices are available for this country<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-selected-property-prices\">Selected Property Prices<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Selected Property Prices are the BIS headline residential property price series, harmonised so that levels and growth rates are comparable across countries. Each observation is available as a nominal value and as a real value, and as a price index or a year-on-year percentage change. Index values are rebased to a common base year, reported in the meta block.<\/p>\n\n\n\n<h3 class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\" id=\"h-property-price-series\">Property Price Series<\/h3>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Returns the Selected Property Prices observations for one country. Without filters the response includes every combination of type and metric. Narrow the result with filter[type] and filter[metric], and restrict the period range with filter[from] and filter[to].<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code class=\"\">https:\/\/eodhd.com\/api\/real-estate\/{code}?api_token=YOUR_TOKEN<\/code><\/pre>\n<\/div>\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Method GET. Authentication by api_token. Pagination by page[offset] and page[limit]. Response is a JSON envelope with data, meta, and links.<\/p>\n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-parameters-0\">Parameters<\/h4>\n\n\n<div class=\"docs-parameters\">\n    \n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">api_token<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--required\">\n            required        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Your EODHD API token<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">filter[type]<\/code>\n        \n                    <span class=\"docs-parameters__type\">enum<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Price basis. Allowed values: nominal, real<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">filter[metric]<\/code>\n        \n                    <span class=\"docs-parameters__type\">enum<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Measure. Allowed values: index, yoy. index is the price index level, yoy is the year-on-year percentage change<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">filter[from]<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Start period, format YYYY-Qn, for example 2020-Q1, inclusive<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">filter[to]<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">End period, format YYYY-Qn, for example 2024-Q4, inclusive, on or after filter[from]<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">page[limit]<\/code>\n        \n                    <span class=\"docs-parameters__type\">integer<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Rows per page, default 50<\/span>\n                    <span class=\"docs-parameters__default\"><em>(Default: 1-500)<\/em><\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">page[offset]<\/code>\n        \n                    <span class=\"docs-parameters__type\">integer<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Rows to skip, default 0<\/span>\n            <\/div>\n<\/div>\n\n<\/div>\n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-request-example-0\">Request Example<\/h4>\n\n\n    <div class=\"api-key\" data-feed=\"EOD Historical Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/real-estate\/US?api_token=YOUR_TOKEN&amp;filter[type]=nominal&amp;filter[metric]=index&amp;filter[from]=2020-Q1&amp;filter[to]=2024-Q4\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/real-estate\/US?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>filter[type]<\/span>=<span class='orange bold filter[type]'>nominal<\/span>&<span class='white bold'>filter[metric]<\/span>=<span class='orange bold filter[metric]'>index<\/span>&<span class='white bold'>filter[from]<\/span>=<span class='orange bold filter[from]'>2020-Q1<\/span>&<span class='white bold'>filter[to]<\/span>=<span class='orange bold filter[to]'>2024-Q4<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/real-estate\/US?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>filter[type]<\/span>=<span class='orange bold filter[type]'>nominal<\/span>&<span class='white bold'>filter[metric]<\/span>=<span class='orange bold filter[metric]'>index<\/span>&<span class='white bold'>filter[from]<\/span>=<span class='orange bold filter[from]'>2020-Q1<\/span>&<span class='white bold'>filter[to]<\/span>=<span class='orange bold filter[to]'>2024-Q4<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/real-estate\/US?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>filter[type]<\/span>=<span class='orange bold filter[type]'>nominal<\/span>&<span class='white bold'>filter[metric]<\/span>=<span class='orange bold filter[metric]'>index<\/span>&<span class='white bold'>filter[from]<\/span>=<span class='orange bold filter[from]'>2020-Q1<\/span>&<span class='white bold'>filter[to]<\/span>=<span class='orange bold filter[to]'>2024-Q4<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/real-estate\/US?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>filter[type]<\/span>=<span class='orange bold filter[type]'>nominal<\/span>&<span class='white bold'>filter[metric]<\/span>=<span class='orange bold filter[metric]'>index<\/span>&<span class='white bold'>filter[from]<\/span>=<span class='orange bold filter[from]'>2020-Q1<\/span>&<span class='white bold'>filter[to]<\/span>=<span class='orange bold filter[to]'>2024-Q4<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/real-estate\/US?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>filter[type]<\/span>=<span class='orange bold filter[type]'>nominal<\/span>&<span class='white bold'>filter[metric]<\/span>=<span class='orange bold filter[metric]'>index<\/span>&<span class='white bold'>filter[from]<\/span>=<span class='orange bold filter[from]'>2020-Q1<\/span>&<span class='white bold'>filter[to]<\/span>=<span class='orange bold filter[to]'>2024-Q4<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    \n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-response-example-0\">Response Example<\/h4>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"data\": [\n    { \"period\": \"2020-Q1\", \"value\": 158.4799, \"type\": \"nominal\", \"metric\": \"index\" },\n    { \"period\": \"2020-Q2\", \"value\": 159.8064, \"type\": \"nominal\", \"metric\": \"index\" }\n  ],\n  \"meta\": {\n    \"country_code\": \"US\",\n    \"country_name\": \"United States\",\n    \"type\": \"nominal\",\n    \"metric\": \"index\",\n    \"base_year\": \"2010 = 100\",\n    \"frequency\": \"quarterly\",\n    \"source\": \"BIS\",\n    \"total\": 4,\n    \"from\": \"2020-Q1\",\n    \"to\": \"2024-Q4\",\n    \"offset\": 0,\n    \"limit\": 50\n  },\n  \"links\": { \"next\": null }\n}<\/code><\/pre>\n<\/div>\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-response-fields-0\">Response Fields<\/h4>\n\n\n\n<figure class=\"docs-content__table-wrap wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>period<\/td><td>string<\/td><td>Observation quarter, format YYYY-Qn<\/td><\/tr><tr><td>value<\/td><td>number<\/td><td>Index level when metric is index, or percentage change when metric is yoy<\/td><\/tr><tr><td>type<\/td><td>string<\/td><td>Price basis, nominal or real<\/td><\/tr><tr><td>metric<\/td><td>string<\/td><td>Measure, index or yoy<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"docs-content__text has-text-align-center wp-block-paragraph\"><a class=\"btn btn--orange\" href=\"https:\/\/eodhd.com\/register\"><span class='mb-text'>Sign up &amp; Get Data<\/span><\/a><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-detailed-property-prices\">Detailed Property Prices<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Detailed Property Prices are the fuller set of national series that BIS collects from member central banks and statistical offices. Unlike the harmonised Selected Property Prices, the detailed series vary by country in what they cover: different dwelling types, regions, and index vintages. Each series is described along several BIS dimensions, given both as codes and as human-readable labels. Query the series catalogue first to see which combinations exist for a country and read their titles, then request the observations.<\/p>\n\n\n\n<h3 class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\" id=\"h-detailed-observations\">Detailed Observations<\/h3>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Returns the Detailed Property Prices observations for one country. Each row carries the BIS dimension codes that identify which series it belongs to, each with a matching human-readable label, alongside the unit of measure. Narrow the result with the dimension filters below.<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code class=\"\">https:\/\/eodhd.com\/api\/real-estate\/{code}\/detailed?api_token=YOUR_TOKEN<\/code><\/pre>\n<\/div>\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Method GET. Authentication by api_token. Pagination by page[offset] and page[limit]. Response is a JSON envelope with data, meta, and links.<\/p>\n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-parameters-1\">Parameters<\/h4>\n\n\n<div class=\"docs-parameters\">\n    \n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">api_token<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--required\">\n            required        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Your EODHD API token<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">filter[property_type]<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">BIS property-type dimension code. Read the available codes and their meaning from the series catalogue endpoint<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">filter[area]<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">BIS covered-area dimension code, identifying the region or geographic coverage. Read the available codes from the series catalogue endpoint<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">filter[vintage]<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">BIS vintage dimension code, identifying the index vintage. Read the available codes from the series catalogue endpoint<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">filter[freq]<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Observation frequency code, one of Q quarterly, A annual, M monthly, or H half-yearly<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">filter[from]<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Start period, inclusive, in the period format of the series, for example 2020-01 or 2020-Q1<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">filter[to]<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">End period, inclusive, in the same format as filter[from]<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">page[limit]<\/code>\n        \n                    <span class=\"docs-parameters__type\">integer<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Rows per page, default 50<\/span>\n                    <span class=\"docs-parameters__default\"><em>(Default: 1-500)<\/em><\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">page[offset]<\/code>\n        \n                    <span class=\"docs-parameters__type\">integer<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Rows to skip, default 0<\/span>\n            <\/div>\n<\/div>\n\n<\/div>\n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-request-example-1\">Request Example<\/h4>\n\n\n    <div class=\"api-key\" data-feed=\"EOD Historical Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/real-estate\/US\/detailed?api_token=YOUR_TOKEN&amp;filter[property_type]=1\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/real-estate\/US\/detailed?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>filter[property_type]<\/span>=<span class='orange bold filter[property_type]'>1<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/real-estate\/US\/detailed?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>filter[property_type]<\/span>=<span class='orange bold filter[property_type]'>1<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/real-estate\/US\/detailed?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>filter[property_type]<\/span>=<span class='orange bold filter[property_type]'>1<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/real-estate\/US\/detailed?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>filter[property_type]<\/span>=<span class='orange bold filter[property_type]'>1<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/real-estate\/US\/detailed?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>filter[property_type]<\/span>=<span class='orange bold filter[property_type]'>1<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    \n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-response-example-1\">Response Example<\/h4>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"data\": [\n    {\n      \"period\": \"1975-Q4\",\n      \"value\": 22.481,\n      \"frequency\": \"Q\",\n      \"covered_area\": \"0\",\n      \"covered_area_label\": \"Whole country\",\n      \"property_type\": \"1\",\n      \"property_type_label\": \"All types of dwellings\",\n      \"vintage\": \"1\",\n      \"vintage_label\": \"Existing\",\n      \"unit_measure\": \"426: Index, 2000 Jan = 100\",\n      \"unit_measure_label\": null\n    }\n  ],\n  \"meta\": {\n    \"country_code\": \"US\",\n    \"source\": \"BIS\",\n    \"dataset\": \"DPP\",\n    \"total\": 202,\n    \"offset\": 0,\n    \"limit\": 50,\n    \"filters\": { \"property_type\": \"1\" }\n  },\n  \"links\": { \"next\": \"https:\/\/eodhd.com\/api\/real-estate\/US\/detailed?filter%5Bproperty_type%5D=1&amp;page%5Boffset%5D=50&amp;page%5Blimit%5D=50\" }\n}<\/code><\/pre>\n<\/div>\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-response-fields-1\">Response Fields<\/h4>\n\n\n\n<figure class=\"docs-content__table-wrap wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>period<\/td><td>string<\/td><td>Observation period. Format follows the series frequency, for example 2020-Q1 or 2020-01<\/td><\/tr><tr><td>value<\/td><td>number<\/td><td>Observation value, in the units given by unit_measure<\/td><\/tr><tr><td>frequency<\/td><td>string<\/td><td>Observation frequency, one of Q, A, M, or H<\/td><\/tr><tr><td>covered_area<\/td><td>string<\/td><td>BIS covered-area dimension code<\/td><\/tr><tr><td>covered_area_label<\/td><td>string<\/td><td>Human-readable label for covered_area, for example Whole country<\/td><\/tr><tr><td>property_type<\/td><td>string<\/td><td>BIS property-type dimension code<\/td><\/tr><tr><td>property_type_label<\/td><td>string<\/td><td>Human-readable label for property_type, for example All types of dwellings<\/td><\/tr><tr><td>vintage<\/td><td>string<\/td><td>BIS vintage dimension code<\/td><\/tr><tr><td>vintage_label<\/td><td>string<\/td><td>Human-readable label for vintage, for example Existing<\/td><\/tr><tr><td>unit_measure<\/td><td>string<\/td><td>Unit of measure and index base, for example 426: Index, 2000 Jan = 100<\/td><\/tr><tr><td>unit_measure_label<\/td><td>string<\/td><td>Human-readable label for the unit of measure, null when the raw unit is already descriptive<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\" id=\"h-series-catalogue\">Series Catalogue<\/h3>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Returns the catalogue of Detailed Property Prices series available for one country. Each entry describes a series along the BIS dimensions and gives a human-readable title. Use this endpoint to interpret the dimension codes returned by the detailed observations endpoint, and to decide which combination to filter for.<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code class=\"\">https:\/\/eodhd.com\/api\/real-estate\/{code}\/detailed\/series?api_token=YOUR_TOKEN<\/code><\/pre>\n<\/div>\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Method GET. Authentication by api_token. Response is a JSON envelope with data and meta.<\/p>\n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-parameters-2\">Parameters<\/h4>\n\n\n<div class=\"docs-parameters\">\n    \n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">api_token<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--required\">\n            required        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Your EODHD API token<\/span>\n            <\/div>\n<\/div>\n\n<\/div>\n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-request-example-2\">Request Example<\/h4>\n\n\n    <div class=\"api-key\" data-feed=\"EOD Historical Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/real-estate\/US\/detailed\/series?api_token=YOUR_TOKEN\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/real-estate\/US\/detailed\/series?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/real-estate\/US\/detailed\/series?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/real-estate\/US\/detailed\/series?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/real-estate\/US\/detailed\/series?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/real-estate\/US\/detailed\/series?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>YOUR_TOKEN<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    \n\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-response-example-2\">Response Example<\/h4>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"data\": [\n    {\n      \"covered_area\": \"0\",\n      \"covered_area_label\": \"Whole country\",\n      \"property_type\": \"1\",\n      \"property_type_label\": \"All types of dwellings\",\n      \"vintage\": \"1\",\n      \"vintage_label\": \"Existing\",\n      \"compiling_org\": \"2\",\n      \"priced_unit\": \"0\",\n      \"seasonal_adj\": \"1\",\n      \"unit_measure\": \"426: Index, 2000 Jan = 100\",\n      \"unit_measure_label\": null,\n      \"title\": \"United States - Residential property price index, existing dwellings, whole country\"\n    }\n  ],\n  \"meta\": { \"country_code\": \"US\", \"total\": 5 }\n}<\/code><\/pre>\n<\/div>\n\n\n<h4 class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\" id=\"h-response-fields-2\">Response Fields<\/h4>\n\n\n\n<figure class=\"docs-content__table-wrap wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>covered_area<\/td><td>string<\/td><td>BIS covered-area dimension code<\/td><\/tr><tr><td>covered_area_label<\/td><td>string<\/td><td>Human-readable label for covered_area<\/td><\/tr><tr><td>property_type<\/td><td>string<\/td><td>BIS property-type dimension code<\/td><\/tr><tr><td>property_type_label<\/td><td>string<\/td><td>Human-readable label for property_type<\/td><\/tr><tr><td>vintage<\/td><td>string<\/td><td>BIS vintage dimension code<\/td><\/tr><tr><td>vintage_label<\/td><td>string<\/td><td>Human-readable label for vintage<\/td><\/tr><tr><td>compiling_org<\/td><td>string<\/td><td>BIS compiling-organisation dimension code<\/td><\/tr><tr><td>priced_unit<\/td><td>string<\/td><td>BIS priced-unit dimension code<\/td><\/tr><tr><td>seasonal_adj<\/td><td>string<\/td><td>Seasonal adjustment dimension code<\/td><\/tr><tr><td>unit_measure<\/td><td>string<\/td><td>Unit of measure and index base<\/td><\/tr><tr><td>unit_measure_label<\/td><td>string<\/td><td>Human-readable label for the unit of measure, null when the raw unit is already descriptive<\/td><\/tr><tr><td>title<\/td><td>string<\/td><td>Human-readable description of the series<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-pagination-and-csv\">Pagination and CSV<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">The data endpoints are paged with page[offset] and page[limit]. The default page size is 50 rows and the maximum is 500; a larger page[limit] returns 422. The meta block reports the total row count and the active window, and links.next holds the URL for the following page, or null on the last page.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Add fmt=csv to any endpoint to receive the same data as a CSV file instead of JSON. The CSV is UTF-8 with a byte-order mark and is served as an attachment, and values are protected against spreadsheet formula injection. The column headers match the JSON field names.<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code class=\"\">https:\/\/eodhd.com\/api\/real-estate\/US?api_token=YOUR_TOKEN&amp;filter%5Btype%5D=nominal&amp;filter%5Bmetric%5D=index&amp;fmt=csv<\/code><\/pre>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-response-codes\">Response Codes<\/h2>\n\n\n\n<figure class=\"docs-content__table-wrap wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Code<\/th><th>Meaning<\/th><\/tr><\/thead><tbody><tr><td>200<\/td><td>Success. Response body carries data, meta, and where applicable links<\/td><\/tr><tr><td>401<\/td><td>Missing or invalid api_token<\/td><\/tr><tr><td>403<\/td><td>Token is valid but the plan does not include access to this dataset<\/td><\/tr><tr><td>404<\/td><td>Unknown country code. Codes are case insensitive and are normalised to uppercase<\/td><\/tr><tr><td>405<\/td><td>Method not allowed. Only GET is supported<\/td><\/tr><tr><td>422<\/td><td>Invalid parameter \u2014 a malformed period, page[limit] above 500, an end period before the start period, or an out-of-range filter value<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-attribution-and-licensing\">Attribution and Licensing<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">All property price data is sourced from the Bank for International Settlements. When redistributing or displaying this data, cite the source as shown below.<\/p>\n\n\n\n<figure class=\"docs-content__table-wrap wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Source<\/th><th>Required attribution<\/th><\/tr><\/thead><tbody><tr><td>BIS<\/td><td>Source: BIS residential property price statistics, Bank for International Settlements (www.bis.org)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-methodology-and-limitations\">Methodology and Limitations<\/h2>\n\n\n\n<ul class=\"docs-content__list wp-block-list\">\n<li>Selected Property Prices are quarterly, with periods expressed as year and quarter, for example 2020-Q1, and filter[from] and filter[to] use this same format. Detailed Property Prices carry their own frequency per series, which may be monthly, quarterly, half-yearly, or annual, so their periods and filter bounds follow that frequency.<\/li>\n\n\n\n<li>Selected Property Prices are harmonised and comparable across countries. Index values are rebased to a common base year, reported in the meta base_year field; a year-on-year metric is also provided. Both a nominal and a real basis are available.<\/li>\n\n\n\n<li>Detailed Property Prices are national series and are not harmonised across countries. Their coverage, dwelling type, and index base differ by country, so compare like with like within a single country. Each observation carries BIS dimension codes with a matching human-readable label field; the series catalogue lists every combination available for a country.<\/li>\n\n\n\n<li>Not every country carries both datasets. Check the has_spp and has_dpp flags from the country list before requesting data, and note that some entries are BIS aggregates covering several economies.<\/li>\n\n\n\n<li>Country codes are case insensitive and are normalised to uppercase; an unknown code returns 404. The page[limit] maximum is 500. Filter keys and values are validated, and an unknown filter key or an out-of-range value returns 422.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n    <div class=\"spotlight spotlight--accent spotlight--wide\">\n        <div class=\"spotlight__content\">\n            \n                            <div class=\"spotlight__title\">Compare plans and find your fit<\/div>\n            \n                            <div class=\"spotlight__desc\">Free and paid plans for individual and commercial use<\/div>\n                    <\/div>\n\n                    <a class=\"spotlight__action btn btn--white\"\n               href=\"https:\/\/eodhd.com\/pricing\"\n               target=\"_blank\"\n               rel=\"noopener\">\n                Go to Pricing            <\/a>\n            <\/div>\n    \n","protected":false},"excerpt":{"rendered":"<p>The EODHD Real Estate Data API delivers residential property price statistics for more than sixty countries, sourced from the Bank for International Settlements. It covers two BIS datasets: Selected Property Prices, a harmonised headline index that is comparable across countries, and Detailed Property Prices, a deeper set of national series broken down by dwelling type, [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[191],"class_list":["post-8044","post","type-post","status-publish","format-standard","hentry","category-general-questions","tag-real-estate"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.6 (Yoast SEO v26.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Real Estate Data API (beta) | EODHD APIs Documentation<\/title>\n<meta name=\"description\" content=\"Real Estate Data API: residential property price indices for 60+ countries. Selected and Detailed Property Prices, in JSON and CSV.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Real Estate Data API (beta)\" \/>\n<meta property=\"og:description\" content=\"Real Estate Data API: residential property price indices for 60+ countries. Selected and Detailed Property Prices, in JSON and CSV.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api\" \/>\n<meta property=\"og:site_name\" content=\"Stock Price Data, Financial and Stock Market API\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/eodhistoricaldata\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-16T13:55:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-16T13:59:05+00:00\" \/>\n<meta name=\"author\" content=\"a.pletnev\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EOD_data\" \/>\n<meta name=\"twitter:site\" content=\"@EOD_data\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"a.pletnev\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api#article\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api\"},\"author\":{\"name\":\"a.pletnev\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/ed3193541c25b73e823a83bdcdb09b5d\"},\"headline\":\"Real Estate Data API (beta)\",\"datePublished\":\"2026-07-16T13:55:25+00:00\",\"dateModified\":\"2026-07-16T13:59:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api\"},\"wordCount\":1620,\"publisher\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#organization\"},\"keywords\":[\"real estate\"],\"articleSection\":[\"7. Other Articles\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api\",\"url\":\"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api\",\"name\":\"Real Estate Data API (beta) | EODHD APIs Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#website\"},\"datePublished\":\"2026-07-16T13:55:25+00:00\",\"dateModified\":\"2026-07-16T13:59:05+00:00\",\"description\":\"Real Estate Data API: residential property price indices for 60+ countries. Selected and Detailed Property Prices, in JSON and CSV.\",\"breadcrumb\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/eodhd.com\/financial-apis\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Real Estate Data API (beta)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#website\",\"url\":\"https:\/\/eodhd.com\/financial-apis\/\",\"name\":\"Historical Stock Prices and Fundamental Financial Data APIs | EODHD\",\"description\":\"End Of Day (EOD), Fundamental and Real-time\/Live Data Market API\",\"publisher\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/eodhd.com\/financial-apis\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#organization\",\"name\":\"EODHD (EOD Historical Data)\",\"url\":\"https:\/\/eodhd.com\/financial-apis\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/eodhd.com\/financial-apis\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png\",\"contentUrl\":\"https:\/\/eodhd.com\/financial-apis\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png\",\"width\":159,\"height\":82,\"caption\":\"EODHD (EOD Historical Data)\"},\"image\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/eodhistoricaldata\",\"https:\/\/x.com\/EOD_data\",\"https:\/\/www.reddit.com\/r\/EODHistoricalData\/\",\"https:\/\/eod-historical-data.medium.com\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/ed3193541c25b73e823a83bdcdb09b5d\",\"name\":\"a.pletnev\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/020e454749b61223b72b1bf96e7978ccdd1e39b04585b29698da3767a193a57d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/020e454749b61223b72b1bf96e7978ccdd1e39b04585b29698da3767a193a57d?s=96&d=mm&r=g\",\"caption\":\"a.pletnev\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Real Estate Data API (beta) | EODHD APIs Documentation","description":"Real Estate Data API: residential property price indices for 60+ countries. Selected and Detailed Property Prices, in JSON and CSV.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api","og_locale":"en_US","og_type":"article","og_title":"Real Estate Data API (beta)","og_description":"Real Estate Data API: residential property price indices for 60+ countries. Selected and Detailed Property Prices, in JSON and CSV.","og_url":"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api","og_site_name":"Stock Price Data, Financial and Stock Market API","article_publisher":"https:\/\/www.facebook.com\/eodhistoricaldata","article_published_time":"2026-07-16T13:55:25+00:00","article_modified_time":"2026-07-16T13:59:05+00:00","author":"a.pletnev","twitter_card":"summary_large_image","twitter_creator":"@EOD_data","twitter_site":"@EOD_data","twitter_misc":{"Written by":"a.pletnev","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api#article","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api"},"author":{"name":"a.pletnev","@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/ed3193541c25b73e823a83bdcdb09b5d"},"headline":"Real Estate Data API (beta)","datePublished":"2026-07-16T13:55:25+00:00","dateModified":"2026-07-16T13:59:05+00:00","mainEntityOfPage":{"@id":"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api"},"wordCount":1620,"publisher":{"@id":"https:\/\/eodhd.com\/financial-apis\/#organization"},"keywords":["real estate"],"articleSection":["7. Other Articles"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api","url":"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api","name":"Real Estate Data API (beta) | EODHD APIs Documentation","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-apis\/#website"},"datePublished":"2026-07-16T13:55:25+00:00","dateModified":"2026-07-16T13:59:05+00:00","description":"Real Estate Data API: residential property price indices for 60+ countries. Selected and Detailed Property Prices, in JSON and CSV.","breadcrumb":{"@id":"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eodhd.com\/financial-apis\/real-estate-data-api"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/eodhd.com\/financial-apis\/real-estate-data-api#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/eodhd.com\/financial-apis"},{"@type":"ListItem","position":2,"name":"Real Estate Data API (beta)"}]},{"@type":"WebSite","@id":"https:\/\/eodhd.com\/financial-apis\/#website","url":"https:\/\/eodhd.com\/financial-apis\/","name":"Historical Stock Prices and Fundamental Financial Data APIs | EODHD","description":"End Of Day (EOD), Fundamental and Real-time\/Live Data Market API","publisher":{"@id":"https:\/\/eodhd.com\/financial-apis\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/eodhd.com\/financial-apis\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/eodhd.com\/financial-apis\/#organization","name":"EODHD (EOD Historical Data)","url":"https:\/\/eodhd.com\/financial-apis\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/logo\/image\/","url":"https:\/\/eodhd.com\/financial-apis\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png","contentUrl":"https:\/\/eodhd.com\/financial-apis\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png","width":159,"height":82,"caption":"EODHD (EOD Historical Data)"},"image":{"@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/eodhistoricaldata","https:\/\/x.com\/EOD_data","https:\/\/www.reddit.com\/r\/EODHistoricalData\/","https:\/\/eod-historical-data.medium.com\/"]},{"@type":"Person","@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/ed3193541c25b73e823a83bdcdb09b5d","name":"a.pletnev","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/020e454749b61223b72b1bf96e7978ccdd1e39b04585b29698da3767a193a57d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/020e454749b61223b72b1bf96e7978ccdd1e39b04585b29698da3767a193a57d?s=96&d=mm&r=g","caption":"a.pletnev"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p8NjB1-25K","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/8044","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/comments?post=8044"}],"version-history":[{"count":4,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/8044\/revisions"}],"predecessor-version":[{"id":8048,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/8044\/revisions\/8048"}],"wp:attachment":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/media?parent=8044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/categories?post=8044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/tags?post=8044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}