The predict endpoint is used for predicting various property metrics over time such as list prices, sale prices and rent prices.
This endpoint handles single and batch requests. Batch requests, which enable predictions for multiple properties at once, are useful for analyzing trends across a portfolio of properties.
Name | Required | Type | Description |
---|---|---|---|
api_key | Yes | UUID v4 | Your API key for authorization |
property_id | Yes | String | The target property's ID (for batch selection, separate ids by a comma) |
start_date | Yes | String | Start date for prediction in YYYY-MM-DD format |
fields | Yes | String | Any predictable field |
period | No (default: week) | String | The time period for the predictions - day, week, month, year |
next | No (default: 0) | Integer | How many future periods after the start_date to predict |
last | No (default: 0) | Integer | How many previous periods before the start_date to predict |
Type declarations are available at the bottom of this page.
Name | Type | Description |
---|---|---|
cache_hit | Boolean | Indicates if the data was retrieved from the cache |
cost_cents | Number | Cost of the API call in cents |
data | Object | Contains the prediction data |
error | String | Details about the error. Empty if no error |
pagination | Object | Pagination information |
price_quote | Boolean | Indicates if this is a price quote request |
result_total | Number | Total number of results |
time_ms | Number | Time taken for the request to complete in milliseconds |
Select the programming language you want to display the code examples in.
curl -X GET "https://api.houski.ca/predict?api_key=YOUR_API_KEY&fields=estimate_sale_price,estimate_list_price&last=3&next=3&period=week&property_id=bd9c6fb24c31c772&start_date=2023-02-01"
const houski_predict_data = async (): Promise<PredictResponse> => { // You must copy the PredictResponse type declarations from the // Houski API documentation to strongly type the response const url = new URL('https://api.houski.ca/predict'); url.searchParams.set('api_key', 'YOUR_API_KEY'); url.searchParams.set('fields', 'estimate_sale_price,estimate_list_price'); url.searchParams.set('last', '3'); url.searchParams.set('next', '3'); url.searchParams.set('period', 'week'); url.searchParams.set('property_id', 'bd9c6fb24c31c772'); url.searchParams.set('start_date', '2023-02-01'); const response = await fetch(url); const data = await response.json(); return data; } (async () => { let data: PredictResponse = await houski_predict_data(); // Log the response console.log(data); })();
{ "cache_hit": false, "cost_cents": 0.14000000059604645, "data": [ { "predictions": [ { "date": "2023-01-11", "estimate_list_price": 250674.0, "estimate_sale_price": 227134.0 }, { "date": "2023-01-18", "estimate_list_price": 250674.0, "estimate_sale_price": 228285.0 }, { "date": "2023-01-25", "estimate_list_price": 250674.0, "estimate_sale_price": 228285.0 }, { "date": "2023-02-01", "estimate_list_price": 250640.0, "estimate_sale_price": 228599.0 }, { "date": "2023-02-08", "estimate_list_price": 250640.0, "estimate_sale_price": 229980.0 }, { "date": "2023-02-15", "estimate_list_price": 250232.0, "estimate_sale_price": 231290.0 }, { "date": "2023-02-22", "estimate_list_price": 250232.0, "estimate_sale_price": 243358.0 } ], "property_id": "bd9c6fb24c31c772" } ], "error": "", "price_quote": false, "result_total": 1, "time_ms": 159 }
interface PredictResponse { cache_hit: boolean; cost_cents: number; data: PredictData[]; error: string; price_quote: boolean; result_total: number; time_ms: number; } interface PredictData { property_id: string; predictions: Prediction[]; } interface Prediction { date: string; estimate_list_price?: number | null; estimate_sale_price?: number | null; estimate_rent_monthly?: number | null; } interface Pagination { current_page: number; has_next_page: boolean; has_previous_page: boolean; page_total: number; }