Property Data with Python

For this guide, we're going to assume you're interested in using Datafiniti's property data to do some marketing analysis on homes in the US. Let's say you're a data scientist that's been tasked with the following:

  1. Collect data on homes.
  2. Sort the data by state.
  3. Find which states have the most expensive homes.

Your environment and data needs:

  1. You're working with Python.
  2. You want to work with CSV or JSON data.

Here are the steps we'll take:

🚧

Python Version

Note that we are using Python 3.x for the examples below. Preferred Python 3.9

1. Install the requests module for Python

In your terminal, run the following to install the requests module for Python:

pip3 install requests

2. Get your API token

The next thing you'll need is your API token. The API token lets you authenticate with Datafiniti API and tells it who you are, what you have access to, and so on. Without it, you can't use the API.

To get your API token, go the Datafiniti Web Portal (https://portal.datafiniti.co/settings/api), login, and click on your "Copy Token". Your API token will be a long string of letters and numbers. Store it somewhere you can easily reference.

🚧

API token reset

For security reasons, your API token will be automatically changed whenever you change your password.


📘

Token Reference

For the rest of this document, we'll use AAAXXXXXXXXXXXX as a substitute example for your actual API token when showing example API calls.

3. Run your first search

The first thing we'll do is do a test search that will give us a sense for what sort of data might be available. Eventually we'll refine our search so that we get back the most relevant data. This will be the step to choose between a CSV or JSON format

Since we want homes in the US, let's try a simple search that will just give us online listings for US-based properties.

Write the following code in your code editor for CSV (replace the dummy API token with your real API token):

# Illustrates an API call to Datafiniti's Product Database for hotels.
import requests
import urllib.parse
import json

# Set your API parameters here.
API_token = 'AAAXXXXXXXXXXXX'
format = 'CSV'
query = 'country:US'
num_records = 1
download = False

request_headers = {
	'Authorization': 'Bearer ' + API_token,
	'Content-Type': 'application/json',
}
request_data = {
    'query': query,
    'format': format,
    'num_records': num_records,
    'download': download
}

# Make the API call.
r = requests.post('https://api.datafiniti.co/v4/properties/search',json=request_data,headers=request_headers);

# Do something with the response.
if r.status_code == 200:
	print(r.content)
else:
	print('Request failed')

You should get a response similar to this:

{
    "num_found": 8873,
    "total_cost": 1,
    "people_cost": 0,
    "property_cost": 1,
    "business_cost": 0,
    "product_cost": 0,
    "column_headers": "id,absenteeOwner,address,apiURLs,appliances,architecturalStyles,assessedValues,brokers,buildingName,categories,cbsaName,cbsaCode,censusBlock,censusBlockGroup,censusTract,city,civilDivisionCode,civilDivisionName,companies,congressionalDistrictHouse,country,county,countyFIPS,currentOwnerType,dateAdded,dateUpdated,deposits,descriptions,estimatedPrices,exteriorConstruction,exteriorFeatures,features,fees,floorPlans,floorSizeValue,floorSizeUnit,geoLocation,geoQuality,hvacTypes,instrumentNumber,involuntaryLienJudgement,isUnit,languagesSpoken,latitude,leasingTerms,legalDescription,legalRange,listingName,longitude,lotSizeValue,lotSizeUnit,managedBy,mostRecentBrokerAgent,mostRecentBrokerCompany,mostRecentBrokerEmails,mostRecentBrokerPhones,mostRecentBrokerDateSeen,mostRecentPriceAmount,mostRecentPriceDomain,mostRecentPriceSourceURL,mostRecentPriceDate,mostRecentPriceFirstDateSeen,mostRecentRentalPriceAmount,mostRecentRentalPricePeriod,mostRecentRentalPriceDomain,mostRecentRentalPriceSourceURL,mostRecentRentalPriceDate,mostRecentRentalPriceFirstDateSeen,mostRecentEstimatedPriceAmount,mostRecentEstimatedPriceDomain,mostRecentEstimatedPriceSourceURL,mostRecentEstimatedPriceDate,mostRecentEstimatedPriceFirstDateSeen,mostRecentStatus,mostRecentStatusDate,mostRecentStatusFirstDateSeen,mostRecentVacancy,mostRecentVacancyFirstDateSeen,mostRecentAbsenteeOwner,mostRecentAbsenteeOwnerFirstDateSeen,mostRecentInvoluntaryJudgement,mostRecentInvoluntaryLien,mostRecentInvoluntaryLienJudgementFirstDateSeen,mlsName,mlsID,mlsNumber,msaName,msaCode,neighborhoods,numBathroom,numBedroom,numFloor,numParkingSpaces,numPeople,numRoom,numUnit,ownerOccupiedStatus,parcelNumbers,parking,parkingTypes,paymentTypes,people,petPolicy,permits,phones,postalCode,prices,propertyTaxes,propertyType,province,reviews,roofing,rules,subdivision,statuses,taxExemptions,taxID,title,topographyCode,transactions,trustDescription,vacancy,yearBuilt,zoning",
    "records": [
        "\"AW_EM8lacWockGYkIvOW\",,\"2012 Selby Ave\",,\"Gas Water Heater,Exhaust Fan,Dishwasher,Exhaust Fan/Hood,Microwave,Refrigerator,Disposal,Dryer,Range,Washer,Wall Oven,Cooktop,Cook Top Range\",,\"[{\"\"year\"\":2019,\"\"totalAmount\"\":392000.0,\"\"landAmount\"\":115200.0,\"\"improvementsAmount\"\":276800.0},{\"\"year\"\":2018,\"\"totalAmount\"\":363000.0,\"\"landAmount\"\":115200.0,\"\"improvementsAmount\"\":247800.0},{\"\"year\"\":2017,\"\"totalAmount\"\":350800.0,\"\"landAmount\"\":115200.0,\"\"improvementsAmount\"\":235600.0},{\"\"year\"\":2016,\"\"totalAmount\"\":0.0,\"\"landAmount\"\":0.0,\"\"improvementsAmount\"\":0.0},{\"\"year\"\":2015,\"\"totalAmount\"\":327100.0,\"\"landAmount\"\":115200.0,\"\"improvementsAmount\"\":211900.0},{\"\"year\"\":2014,\"\"totalAmount\"\":0.0,\"\"landAmount\"\":0.0,\"\"improvementsAmount\"\":0.0},{\"\"year\"\":2023,\"\"totalAmount\"\":592500.0,\"\"landAmount\"\":115200.0,\"\"improvementsAmount\"\":477300.0},{\"\"year\"\":2022,\"\"totalAmount\"\":451500.0,\"\"landAmount\"\":115200.0,\"\"improvementsAmount\"\":336300.0},{\"\"year\"\":2021,\"\"totalAmount\"\":390800.0,\"\"landAmount\"\":115200.0,\"\"improvementsAmount\"\":275600.0},{\"\"year\"\":2020,\"\"totalAmount\"\":372200.0,\"\"landAmount\"\":115200.0,\"\"improvementsAmount\"\":257000.0}]\",\"[{\"\"agent\"\":\"\"Shane Montoya\"\",\"\"company\"\":\"\"Keller Williams Integrity Re\"\",\"\"dateSeen\"\":\"\"2021-11-20T22:25:12.581Z\"\"},{\"\"agent\"\":\"\"John Gapp\"\",\"\"dateSeen\"\":\"\"2021-06-26T02:06:00.000Z\"\",\"\"phones\"\":[\"\"612-227-4333\"\",\"\"612-998-1919\"\"]},{\"\"agent\"\":\"\"Marti Estey\"\",\"\"company\"\":\"\"Re/max Results\"\",\"\"dateSeen\"\":\"\"2021-11-20T05:53:22.004Z\"\"},{\"\"agent\"\":\"\"Kenneth (ken) Hatfield\"\",\"\"company\"\":\"\"Re/max Professionals\"\",\"\"dateSeen\"\":\"\"2022-05-20T21:01:46.663Z\"\"},{\"\"agent\"\":\"\"Michael Weiland\"\",\"\"company\"\":\"\"Keller Williams Premier Realty Lake Minnetonka\"\",\"\"dateSeen\"\":\"\"2022-04-09T19:01:05.551Z\"\"},{\"\"agent\"\":\"\"National Realty Guild Corp.\"\",\"\"dateSeen\"\":\"\"2024-12-22T16:26:00.000Z\"\",\"\"phones\"\":[\"\"6124185892\"\"]},{\"\"agent\"\":\"\"Dreamteam Property Management | Dreamteam Property Management\"\",\"\"dateSeen\"\":\"\"2025-03-12T19:40:00.000Z\"\"},{\"\"agent\"\":\"\"Neal Lagos\"\",\"\"company\"\":\"\"Coldwell Banker Realty\"\",\"\"dateSeen\"\":\"\"2021-12-03T14:09:55.439Z\"\"},{\"\"agent\"\":\"\"Tanya Hietpas\"\",\"\"company\"\":\"\"Edina Realty, Inc.\"\",\"\"dateSeen\"\":\"\"2025-03-14T12:41:33.297Z\"\",\"\"emails\"\":[\"\"[email protected]\"\"],\"\"licenseNumber\"\":\"\"8bd2b47231d8359275b6101527c51f12\"\",\"\"phones\"\":[\"\"6513721006\"\",\"\"6516982434\"\",\"\"6513290371\"\"]},{\"\"agent\"\":\"\"David B. Hitchcock\"\",\"\"company\"\":\"\"Pro Flat Fee Realty Llc\"\",\"\"dateSeen\"\":\"\"2021-06-26T02:06:00.000Z\"\",\"\"phones\"\":[\"\"763-257-9245\"\",\"\"612-998-1919\"\"]},{\"\"agent\"\":\"\"Dreamteam Property Management\"\",\"\"dateSeen\"\":\"\"2025-02-26T04:58:00.000Z\"\",\"\"phones\"\":[\"\"6124185892\"\"]},{\"\"agent\"\":\"\"Bob Reidell\"\",\"\"company\"\":\"\"Edina Realty, Inc.\"\",\"\"dateSeen\"\":\"\"2021-12-03T04:05:55.364Z\"\"},{\"\"agent\"\":\"\"David Hitchcock\"\",\"\"company\"\":\"\"Pro Flat Fee Realty Llc\"\",\"\"dateSeen\"\":\"\"2024-06-09T20:17:59.503Z\"\",\"\"phones\"\":[\"\"+1 612-998-1919\"\",\"\"+1 763-257-9245\"\",\"\"763-257-9245\"\"]},{\"\"agent\"\":\"\"Ken Hatfield\"\",\"\"company\"\":\"\"Re/max Professionals\"\",\"\"dateSeen\"\":\"\"2022-06-07T19:32:00.000Z\"\",\"\"phones\"\":[\"\"651-439-2222\"\",\"\"612-387-4284\"\"]}]\",,,,,,,,\"Saint Paul\",,,,218,\"US\",\"Ramsey\",27123,\"INDIVIDUAL\",\"2020-01-20T18:25:25Z\",\"2025-03-14T15:48:54Z\",\"[{\"\"amount\"\":5500.0,\"\"currency\"\":\"\"USD\"\",\"\"dateSeen\"\":[\"\"2024-11-16T10:28:28.373Z\"\"]},{\"\"amount\"\":1500.0,\"\"currency\"\":\"\"USD\"\",\"\"dateSeen\"\":[\"\"2024-06-23T20:20:25.543Z\"\"]}]\",\"There are too many descriptions objects to show. Please use a view that flattens this field to see this data.\",,\"Metal Siding,Vinyl,Vinyl Siding,Metal Siding, Vinyl Siding,Metal\",\"Porch,PatioPorchType: Deck,Porch,Fencing: Full, Wood,Deck,Roof: Age 8 Years or Less,Deck, Porch,City Road.,Lawn Care included in rent,Patio Porch Type: Deck,Porch,Snow Removal included in rent,Contact Manager,No Info,Fence-Full Wood,Security: none,Neighborhood: Merriam Park/Lexington-Hamline,Other\",\"There are too many features objects to show. Please use a view that flattens this field to see this data.\",\"[{\"\"amountMax\"\":5200.0,\"\"amountMin\"\":5200.0,\"\"currency\"\":\"\"USD\"\",\"\"dateSeen\"\":[\"\"2025-01-03T09:20:07.798Z\"\",\"\"2025-01-21T17:11:39.874Z\"\",\"\"2025-01-18T06:05:35.307Z\"\",\"\"2025-01-08T00:02:31.607Z\"\",\"\"2025-01-12T11:30:12.415Z\"\",\"\"2025-01-02T04:36:17.552Z\"\",\"\"2025-01-11T09:26:26.516Z\"\",\"\"2025-01-20T13:24:56.575Z\"\",\"\"2025-01-13T15:07:57.076Z\"\",\"\"2025-01-14T18:16:18.835Z\"\"],\"\"type\"\":\"\"Deposit fee\"\"},{\"\"amountMax\"\":5500.0,\"\"amountMin\"\":5500.0,\"\"currency\"\":\"\"USD\"\",\"\"dateSeen\"\":[\"\"2024-09-21T09:58:08.643Z\"\",\"\"2024-11-04T18:11:13.721Z\"\",\"\"2024-12-12T12:57:48.588Z\"\",\"\"2024-11-27T17:51:40.799Z\"\",\"\"2024-10-30T03:14:51.076Z\"\",\"\"2024-11-20T23:20:56.487Z\"\",\"\"2024-11-16T09:13:48.653Z\"\",\"\"2024-11-02T09:17:55.550Z\"\",\"\"2024-11-01T05:12:02.416Z\"\",\"\"2024-11-29T23:27:33.021Z\"\",\"\"2024-11-28T21:29:13.169Z\"\",\"\"2024-12-22T23:38:31.391Z\"\",\"\"2024-09-10T22:26:33.780Z\"\",\"\"2024-12-27T12:33:41.036Z\"\",\"\"2024-10-03T20:52:30.977Z\"\",\"\"2024-12-20T15:51:35.184Z\"\",\"\"2024-09-08T07:52:33.733Z\"\",\"\"2024-12-07T22:10:22.741Z\"\",\"\"2024-12-09T02:01:18.592Z\"\",\"\"2024-11-25T12:26:22.535Z\"\",\"\"2024-09-20T06:11:34.214Z\"\",\"\"2024-10-12T00:00:59.834Z\"\",\"\"2024-12-28T17:25:16.694Z\"\",\"\"2024-11-22T00:53:48.337Z\"\",\"\"2024-12-13T17:05:54.180Z\"\",\"\"2024-10-21T01:31:31.305Z\"\",\"\"2024-10-09T16:31:40.906Z\"\",\"\"2024-12-17T02:56:01.956Z\"\",\"\"2024-11-11T16:05:09.453Z\"\",\"\"2024-10-22T06:11:17.617Z\"\",\"\"2024-12-10T06:47:04.192Z\"\",\"\"2024-09-15T16:11:05.391Z\"\",\"\"2024-12-15T23:27:50.196Z\"\",\"\"2024-10-26T17:39:12.436Z\"\",\"\"2024-11-08T03:46:09.177Z\"\",\"\"2024-10-08T13:19:14.970Z\"\",\"\"2024-10-06T04:43:34.540Z\"\",\"\"2024-09-07T03:20:48.923Z\"\",\"\"2024-10-10T19:40:59.376Z\"\",\"\"2024-09-16T19:04:32.819Z\"\",\"\"2024-12-03T10:25:18.738Z\"\",\"\"2024-12-06T19:08:47.091Z\"\",\"\"2024-10-16T11:25:43.209Z\"\",\"\"2024-10-27T21:22:53.185Z\"\",\"\"2024-12-14T21:48:32.370Z\"\",\"\"2024-09-09T14:55:06.688Z\"\",\"\"2024-12-24T01:33:45.387Z\"\",\"\"2024-12-30T22:17:50.497Z\"\",\"\"2024-11-24T07:52:55.361Z\"\",\"\"2024-11-17T11:56:25.926Z\"\",\"\"2024-11-12T21:08:48.789Z\"\",\"\"2024-11-07T00:25:25.656Z\"\",\"\"2025-01-01T01:37:25.692Z\"\",\"\"2024-11-05T22:20:04.829Z\"\",\"\"2024-10-25T14:49:49.587Z\"\",\"\"2024-10-14T06:04:43.745Z\"\",\"\"2024-10-29T00:44:04.783Z\"\",\"\"2024-10-17T15:46:01.424Z\"\",\"\"2024-12-02T06:48:30.946Z\"\",\"\"2024-11-09T08:36:04.848Z\"\",\"\"2024-11-26T15:19:16.441Z\"\",\"\"2024-09-30T10:52:51.214Z\"\",\"\"2024-12-25T07:28:09.671Z\"\",\"\"2024-11-14T02:10:56.584Z\"\",\"\"2024-11-23T04:26:35.522Z\"\",\"\"2024-12-29T20:12:51.152Z\"\",\"\"2024-12-26T09:50:04.269Z\"\",\"\"2024-10-18T19:01:51.420Z\"\",\"\"2024-10-15T08:18:09.353Z\"\",\"\"2024-10-05T00:41:30.269Z\"\",\"\"2024-12-21T19:21:25.442Z\"\",\"\"2024-10-07T08:42:52.132Z\"\"],\"\"type\"\":\"\"Deposit fee\"\"},{\"\"amountMax\"\":4995.0,\"\"amountMin\"\":4995.0,\"\"currency\"\":\"\"USD\"\",\"\"dateSeen\"\":[\"\"2025-02-21T18:25:21.340Z\"\",\"\"2025-01-24T00:45:45.378Z\"\",\"\"2025-02-25T01:54:29.369Z\"\",\"\"2025-03-09T21:44:42.593Z\"\",\"\"2025-03-11T01:20:37.260Z\"\",\"\"2025-03-05T05:52:32.066Z\"\",\"\"2025-02-20T15:59:25.852Z\"\",\"\"2025-01-29T18:50:18.688Z\"\",\"\"2025-02-24T00:14:05.859Z\"\",\"\"2025-02-11T10:25:36.594Z\"\",\"\"2025-03-07T13:26:11.228Z\"\",\"\"2025-02-09T02:48:55.650Z\"\",\"\"2025-03-01T16:40:42.458Z\"\",\"\"2025-02-05T15:20:05.604Z\"\",\"\"2025-02-07T23:21:06.187Z\"\",\"\"2025-02-03T07:23:16.363Z\"\",\"\"2025-03-02T19:27:08.936Z\"\",\"\"2025-01-30T21:29:08.474Z\"\",\"\"2025-02-10T05:27:09.828Z\"\",\"\"2025-03-12T05:38:56.137Z\"\",\"\"2025-03-08T18:35:43.001Z\"\",\"\"2025-03-03T22:59:10.522Z\"\",\"\"2025-02-18T09:28:07.929Z\"\",\"\"2025-03-14T09:55:31.720Z\"\",\"\"2025-02-04T11:48:52.452Z\"\",\"\"2025-03-06T08:28:05.646Z\"\",\"\"2025-01-22T21:08:02.681Z\"\",\"\"2025-02-26T05:51:20.224Z\"\",\"\"2025-02-02T03:46:33.623Z\"\",\"\"2025-01-27T11:47:34.043Z\"\",\"\"2025-02-06T19:57:50.016Z\"\",\"\"2025-03-13T08:25:57.385Z\"\",\"\"2025-02-17T05:57:27.273Z\"\",\"\"2025-01-28T14:10:01.552Z\"\",\"\"2025-02-22T21:23:31.958Z\"\",\"\"2025-02-12T14:37:49.819Z\"\",\"\"2025-02-01T00:29:25.251Z\"\",\"\"2025-02-19T13:22:09.476Z\"\"],\"\"type\"\":\"\"Deposit fee\"\"}]\",\"[{\"\"name\"\":\"\"5 bed 3 bath 3300 sqft\"\",\"\"type\"\":\"\"5 Bd\"\",\"\"numBathrooms\"\":3,\"\"numBedrooms\"\":5,\"\"floorSize\"\":\"\"3300 Sqft\"\"},{\"\"name\"\":\"\"Rare, beautifully updated selby ave house ...\"\",\"\"numBathrooms\"\":3,\"\"numBedrooms\"\":5,\"\"floorSize\"\":\"\"3,300 sq. ft.\"\"}]\",2965.0,\"sq ft\",\"POINT (-93.184370 44.945890)\",,\"Boiler,Heating only,Baseboard,Cooling only,Hot Water,Air Conditioning,No Cooling,Heating: Boiler, Ductless Mini-Split,Contact Manager,Ductless Mini-Split,Has Heating,Natural Gas\",\"A04959580\",,,,\"44.945890\",\"[{\"\"dateSeen\"\":\"\"2025-01-17T01:19:23.603Z\"\",\"\"value\"\":\"\"Contact For Details\"\"}]\",\"LOT 6 BLOCK 14 OF MERRIAM PARK SECOND ADD LOT 6 BLK 14\",\"23\",\"2012 Selby Ave Saint Paul, MN 55104\",\"-93.184370\",7405.0,\"sqft\",\"[{\"\"dateSeen\"\":\"\"2021-07-04T01:47:54.706Z\"\",\"\"value\"\":\"\"Pro Flat Fee Realty LLC\"\"}]\",\"Tanya Hietpas\",\"Edina Realty, Inc.\",\"[email protected]\",\"6513721006,6516982434,6513290371\",\"2025-03-14T12:41:33.297Z\",739900.0,\"www.redfin.com\",\"https://www.redfin.com/MN/Saint-Paul/2012-Selby-Ave-55104/home/50020312\",\"2025-03-12T00:00:00.000Z\",\"2025-03-14T12:41:33.674Z\",4995.0,\"Per Month\",\"www.apartments.com\",,\"2025-03-09T05:17:44.942Z\",\"2025-03-09T05:17:44.942Z\",548970.0,\"www.redfin.com\",,,\"2024-06-09T20:17:59.632Z\",\"For Sale\",\"2025-03-12T00:00:00.000Z\",\"2025-03-14T12:41:33.289Z\",,,,,,,,,,\"6655150\",,,\"Merriam Park - Lexington - Hamline,Merriam Park Second Add,Merriam Park West,Merriam Park,Minnesota\",3,4,2,3,,7,1,,\"[{\"\"number\"\":\"\"042823220093\"\",\"\"year\"\":2025}]\",\"Garage Spaces: 3,No Carport,3 spaces,On Site,Garage Parking Spaces: 3,Garage Dimensions: 30x20,Has Open Parking,Parking Features: Detached,Detached,Yes - 3 spaces,Attached Off Street,No Attached Garage,3 Garage Spaces. Concrete Driveway.,Garage Door Opener,Garage/Parking Sq. Ft: 528,Garage Door Width: 16,Garage Door Height: 7,Garage Square Feet: 600,Garage Sq. Ft.: 600,Parking Open: 1,3,Parking Open: 0,Contact Manager,Has a Garage,Parking Type: Detached Garage,Attached Garage\",\"Carport,Street,Detached Garage,Attached Garage\",,\"[{\"\"dateSeen\"\":\"\"2025-03-14T12:42:00.000Z\"\",\"\"name\"\":\"\"Tanya Hietpas\"\",\"\"title\"\":\"\"Listing Agent\"\"},{\"\"dateSeen\"\":\"\"2021-06-26T02:05:39.697Z\"\",\"\"name\"\":\"\"John Gapp\"\",\"\"title\"\":\"\"Alternative Listing Agent\"\"},{\"\"dateSeen\"\":\"\"2021-06-26T02:05:39.697Z\"\",\"\"name\"\":\"\"David B. Hitchcock\"\",\"\"title\"\":\"\"Listing Agent\"\"},{\"\"dateSeen\"\":\"\"2022-06-07T19:32:11.284Z\"\",\"\"name\"\":\"\"Ken Hatfield\"\",\"\"title\"\":\"\"Listing Agent\"\"},{\"\"dateSeen\"\":\"\"2025-03-04T18:23:34.794Z\"\",\"\"name\"\":\"\"Tanya Hietpas\"\",\"\"title\"\":\"\"Agent\"\"}]\",\"Cats and dogs are allowed.\",,,\"55104\",\"[{\"\"amountMax\"\":5500.0,\"\"amountMin\"\":5500.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-04-25T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-09-21T09:01:19.235Z\"\"],\"\"firstDateSeen\"\":\"\"2024-09-21T09:01:19.235Z\"\",\"\"lastDateSeen\"\":\"\"2024-09-21T09:01:19.235Z\"\",\"\"domains\"\":[\"\"www.zillow.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"period\"\":\"\"Per month\"\",\"\"pricePerSquareFoot\"\":2.0},{\"\"amountMax\"\":739900.0,\"\"amountMin\"\":739900.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2025-03-12T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-03-14T12:41:33.674Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-14T12:41:33.674Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-14T12:41:33.674Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":249.54},{\"\"amountMax\"\":5530.0,\"\"amountMin\"\":5530.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-09-27T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-12-10T06:47:00.000Z\"\",\"\"2024-12-28T17:25:00.000Z\"\",\"\"2024-12-15T23:28:00.000Z\"\",\"\"2024-12-20T15:52:00.000Z\"\",\"\"2024-12-02T06:49:00.000Z\"\",\"\"2024-12-06T19:09:00.000Z\"\",\"\"2024-12-24T01:34:00.000Z\"\",\"\"2024-12-17T02:56:00.000Z\"\",\"\"2024-11-26T15:19:00.000Z\"\",\"\"2024-11-23T04:27:00.000Z\"\",\"\"2024-12-14T21:49:00.000Z\"\",\"\"2024-11-17T11:56:00.000Z\"\",\"\"2025-01-01T01:37:00.000Z\"\",\"\"2024-12-22T23:39:00.000Z\"\",\"\"2024-11-16T09:14:00.000Z\"\",\"\"2024-12-12T12:58:00.000Z\"\",\"\"2024-12-03T10:25:00.000Z\"\",\"\"2024-11-20T23:21:00.000Z\"\",\"\"2024-11-14T02:11:00.000Z\"\",\"\"2024-11-22T00:54:00.000Z\"\",\"\"2024-12-30T22:18:00.000Z\"\",\"\"2024-11-27T17:52:00.000Z\"\",\"\"2024-11-25T12:26:00.000Z\"\",\"\"2024-11-29T23:28:00.000Z\"\",\"\"2024-12-07T22:10:00.000Z\"\",\"\"2024-12-21T19:21:00.000Z\"\",\"\"2024-11-28T21:29:00.000Z\"\",\"\"2024-12-14T02:18:13.237Z\"\",\"\"2024-11-24T07:53:00.000Z\"\",\"\"2024-12-13T17:06:00.000Z\"\",\"\"2024-12-09T02:01:00.000Z\"\",\"\"2024-12-26T09:50:00.000Z\"\",\"\"2024-11-11T16:05:00.000Z\"\",\"\"2024-12-25T07:28:00.000Z\"\",\"\"2024-12-29T20:13:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2024-11-11T16:05:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-01T01:37:00.000Z\"\",\"\"domains\"\":[\"\"www.showmetherent.com\"\"],\"\"isSale\"\":\"\"true\"\",\"\"period\"\":\"\"Per Month\"\",\"\"pricePerSquareFoot\"\":1.68},{\"\"amountMax\"\":5530.0,\"\"amountMin\"\":5530.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-09-27T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-11-09T08:36:00.000Z\"\",\"\"2024-11-12T21:09:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2024-11-09T08:36:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2024-11-12T21:09:00.000Z\"\",\"\"domains\"\":[\"\"www.showmetherent.com\"\"],\"\"period\"\":\"\"Per Month\"\",\"\"pricePerSquareFoot\"\":1.68},{\"\"amountMax\"\":749900.0,\"\"amountMin\"\":749900.0,\"\"availability\"\":\"\"true\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2025-02-27T21:00:03.716Z\"\",\"\"dateSeen\"\":[\"\"2025-03-01T10:42:55.473Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-01T10:42:55.473Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-01T10:42:55.473Z\"\",\"\"domains\"\":[\"\"www.compass.com\"\"],\"\"isSold\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":252.92},{\"\"amountMax\"\":4995.0,\"\"amountMin\"\":4995.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2025-01-22T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-03-12T15:23:51.912Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-12T15:23:51.912Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-12T15:23:51.912Z\"\",\"\"domains\"\":[\"\"datafiniti.co\"\"],\"\"pricePerSquareFoot\"\":1.6},{\"\"amountMax\"\":4995.0,\"\"amountMin\"\":4995.0,\"\"comment\"\":\"\"Aggregate Offer\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2025-03-09T05:17:44.942Z\"\",\"\"dateSeen\"\":[\"\"2025-03-11T01:21:00.000Z\"\",\"\"2025-03-09T05:17:44.942Z\"\",\"\"2025-03-12T19:40:17.731Z\"\",\"\"2025-03-09T21:45:00.000Z\"\",\"\"2025-03-12T05:39:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-09T05:17:44.942Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-12T19:40:17.731Z\"\",\"\"domains\"\":[\"\"www.apartments.com\"\"],\"\"period\"\":\"\"Per Month\"\",\"\"pricePerSquareFoot\"\":1.51},{\"\"amountMax\"\":799900.0,\"\"amountMin\"\":799900.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2022-04-09T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2022-05-20T21:01:47.470Z\"\",\"\"2022-05-20T21:00:55.251Z\"\",\"\"2022-05-14T21:15:15.063Z\"\"],\"\"firstDateSeen\"\":\"\"2022-05-14T21:15:15.063Z\"\",\"\"lastDateSeen\"\":\"\"2022-05-20T21:01:47.470Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":292.79},{\"\"amountMax\"\":342500.0,\"\"amountMin\"\":342500.0,\"\"availability\"\":\"\"false\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2009-12-03T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2020-06-19T03:57:13.912Z\"\",\"\"2020-07-07T00:54:01.953Z\"\"],\"\"firstDateSeen\"\":\"\"2020-06-19T03:57:13.912Z\"\",\"\"lastDateSeen\"\":\"\"2020-07-07T00:54:01.953Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"isSold\"\":\"\"true\"\",\"\"pricePerSquareFoot\"\":204.0},{\"\"amountMax\"\":5200.0,\"\"amountMin\"\":5200.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2025-01-01T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-01-13T15:08:00.000Z\"\",\"\"2025-01-21T17:12:00.000Z\"\",\"\"2025-01-20T13:25:00.000Z\"\",\"\"2025-01-18T06:06:00.000Z\"\",\"\"2025-01-14T18:16:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-13T15:08:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-21T17:12:00.000Z\"\",\"\"domains\"\":[\"\"www.showmetherent.com\"\"],\"\"period\"\":\"\"Per Month\"\",\"\"pricePerSquareFoot\"\":1.58},{\"\"amountMax\"\":459900.0,\"\"amountMin\"\":459900.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-05-31T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-11-16T10:28:28.373Z\"\"],\"\"firstDateSeen\"\":\"\"2024-11-16T10:28:28.373Z\"\",\"\"lastDateSeen\"\":\"\"2024-11-16T10:28:28.373Z\"\",\"\"domains\"\":[\"\"www.trulia.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"isSold\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":139.36},{\"\"amountMax\"\":474900.0,\"\"amountMin\"\":474900.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-05-04T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2021-05-27T20:47:01.007Z\"\",\"\"2021-05-31T06:59:06.848Z\"\",\"\"2021-05-10T06:09:53.439Z\"\",\"\"2021-05-06T13:48:04.276Z\"\",\"\"2021-05-26T04:50:47.757Z\"\",\"\"2021-05-23T17:01:13.286Z\"\",\"\"2021-05-14T01:33:43.780Z\"\",\"\"2021-05-25T05:19:06.284Z\"\",\"\"2021-05-28T15:50:31.013Z\"\",\"\"2021-05-10T18:33:11.400Z\"\",\"\"2021-05-29T12:39:06.295Z\"\",\"\"2021-05-18T22:06:01.729Z\"\",\"\"2021-05-14T11:49:18.723Z\"\",\"\"2021-05-22T14:23:16.293Z\"\",\"\"2021-05-06T09:18:40.810Z\"\",\"\"2021-05-17T23:19:43.471Z\"\",\"\"2021-05-30T08:48:23.966Z\"\",\"\"2021-05-27T01:21:40.500Z\"\"],\"\"firstDateSeen\"\":\"\"2021-05-06T09:18:40.810Z\"\",\"\"lastDateSeen\"\":\"\"2021-05-31T06:59:06.848Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":221.4},{\"\"amountMax\"\":4995.0,\"\"amountMin\"\":4995.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-09-06T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-02-25T00:15:55.499Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-25T00:15:55.499Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-25T00:15:55.499Z\"\",\"\"domains\"\":[\"\"www.apartmentguide.com\"\"],\"\"isSale\"\":\"\"true\"\",\"\"pricePerSquareFoot\"\":1.51},{\"\"amountMax\"\":4995.0,\"\"amountMin\"\":4995.0,\"\"comment\"\":\"\"Aggregate Offer\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2025-02-21T04:29:38.721Z\"\",\"\"dateSeen\"\":[\"\"2025-02-26T05:51:00.000Z\"\",\"\"2025-02-25T01:54:00.000Z\"\",\"\"2025-02-22T21:24:00.000Z\"\",\"\"2025-02-24T00:14:00.000Z\"\",\"\"2025-02-26T04:57:36.803Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-22T21:24:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-26T05:51:00.000Z\"\",\"\"domains\"\":[\"\"www.showmetherent.com\"\"],\"\"period\"\":\"\"Per Month\"\",\"\"pricePerSquareFoot\"\":1.51},{\"\"amountMax\"\":470000.0,\"\"amountMin\"\":470000.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-07-30T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2023-05-11T03:20:37.847Z\"\",\"\"2022-08-11T07:53:59.533Z\"\",\"\"2021-08-04T19:16:19.013Z\"\",\"\"2023-06-17T04:55:45.622Z\"\",\"\"2022-11-14T20:40:07.144Z\"\",\"\"2022-08-04T14:16:09.723Z\"\",\"\"2022-11-18T18:48:32.432Z\"\"],\"\"firstDateSeen\"\":\"\"2021-08-04T19:16:19.013Z\"\",\"\"lastDateSeen\"\":\"\"2023-06-17T04:55:45.622Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":172.04},{\"\"amountMax\"\":495000.0,\"\"amountMin\"\":495000.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-04-16T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2021-04-25T23:56:10.078Z\"\",\"\"2021-05-01T20:43:36.798Z\"\",\"\"2021-04-30T15:14:42.813Z\"\",\"\"2021-05-01T21:36:03.121Z\"\"],\"\"firstDateSeen\"\":\"\"2021-04-25T23:56:10.078Z\"\",\"\"lastDateSeen\"\":\"\"2021-05-01T21:36:03.121Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":230.77},{\"\"amountMax\"\":470000.0,\"\"amountMin\"\":470000.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-07-30T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-04-15T16:11:29.182Z\"\"],\"\"firstDateSeen\"\":\"\"2024-04-15T16:11:29.182Z\"\",\"\"lastDateSeen\"\":\"\"2024-04-15T16:11:29.182Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":219.11},{\"\"amountMax\"\":5530.0,\"\"amountMin\"\":5530.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-09-27T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-11-04T18:11:00.000Z\"\",\"\"2024-11-08T03:46:00.000Z\"\",\"\"2024-11-07T00:25:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2024-11-04T18:11:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2024-11-08T03:46:00.000Z\"\",\"\"domains\"\":[\"\"www.showmetherent.com\"\"],\"\"period\"\":\"\"Per Month\"\",\"\"pricePerSquareFoot\"\":1.68},{\"\"amountMax\"\":749900.0,\"\"amountMin\"\":749900.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2025-01-30T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-01-31T02:05:46.026Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-31T02:05:46.026Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-31T02:05:46.026Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":252.92},{\"\"amountMax\"\":5530.0,\"\"amountMin\"\":5530.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-09-27T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-11-01T05:12:00.000Z\"\",\"\"2024-11-02T09:18:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2024-11-01T05:12:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2024-11-02T09:18:00.000Z\"\",\"\"domains\"\":[\"\"www.showmetherent.com\"\"],\"\"period\"\":\"\"Per Month\"\",\"\"pricePerSquareFoot\"\":1.68},{\"\"amountMax\"\":474900.0,\"\"amountMin\"\":474900.0,\"\"availability\"\":\"\"true\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-05-04T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2021-05-14T16:45:39.418Z\"\",\"\"2021-05-23T13:39:43.654Z\"\",\"\"2021-05-31T03:24:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2021-05-14T16:45:39.418Z\"\",\"\"lastDateSeen\"\":\"\"2021-05-31T03:24:00.000Z\"\",\"\"domains\"\":[\"\"www.realestate.com.au\"\"],\"\"isSold\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":132.58},{\"\"amountMax\"\":769999.0,\"\"amountMin\"\":769999.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2022-05-22T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-07-31T05:12:53.116Z\"\"],\"\"firstDateSeen\"\":\"\"2024-07-31T05:12:53.116Z\"\",\"\"lastDateSeen\"\":\"\"2024-07-31T05:12:53.116Z\"\",\"\"domains\"\":[\"\"www.trulia.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"isSold\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":281.84},{\"\"amountMax\"\":799900.0,\"\"amountMin\"\":799900.0,\"\"availability\"\":\"\"true\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2022-04-09T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2022-06-07T19:32:11.284Z\"\"],\"\"firstDateSeen\"\":\"\"2022-06-07T19:32:11.284Z\"\",\"\"lastDateSeen\"\":\"\"2022-06-07T19:32:11.284Z\"\",\"\"domains\"\":[\"\"www.compass.com\"\"],\"\"isSold\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":259.08},{\"\"amountMax\"\":799900.0,\"\"amountMin\"\":799900.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2022-04-09T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-03-12T15:23:51.912Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-12T15:23:51.912Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-12T15:23:51.912Z\"\",\"\"domains\"\":[\"\"datafiniti.co\"\"],\"\"pricePerSquareFoot\"\":255.48},{\"\"amountMax\"\":739900.0,\"\"amountMin\"\":739900.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2025-03-12T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-03-13T06:22:21.996Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-13T06:22:21.996Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-13T06:22:21.996Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":249.54},{\"\"amountMax\"\":474900.0,\"\"amountMin\"\":474900.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-05-04T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-11-16T10:28:28.373Z\"\"],\"\"firstDateSeen\"\":\"\"2024-11-16T10:28:28.373Z\"\",\"\"lastDateSeen\"\":\"\"2024-11-16T10:28:28.373Z\"\",\"\"domains\"\":[\"\"www.trulia.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"isSold\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":143.91},{\"\"amountMax\"\":749900.0,\"\"amountMin\"\":749900.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2025-01-30T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-02-12T12:29:36.224Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-12T12:29:36.224Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-12T12:29:36.224Z\"\",\"\"domains\"\":[\"\"www.zillow.com\"\"],\"\"isSale\"\":\"\"true\"\",\"\"isSold\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":240.0},{\"\"amountMax\"\":495000.0,\"\"amountMin\"\":495000.0,\"\"availability\"\":\"\"true\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-04-16T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2021-05-03T20:51:21.569Z\"\"],\"\"firstDateSeen\"\":\"\"2021-05-03T20:51:21.569Z\"\",\"\"lastDateSeen\"\":\"\"2021-05-03T20:51:21.569Z\"\",\"\"domains\"\":[\"\"www.compass.com\"\"],\"\"isSold\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":181.19},{\"\"amountMax\"\":459900.0,\"\"amountMin\"\":459900.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-05-31T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2021-06-21T05:14:46.112Z\"\",\"\"2021-07-16T05:52:36.275Z\"\",\"\"2021-06-26T04:06:41.351Z\"\",\"\"2021-07-01T18:05:35.373Z\"\",\"\"2021-07-14T05:03:18.462Z\"\",\"\"2021-06-24T12:45:55.074Z\"\",\"\"2021-07-19T14:49:46.412Z\"\",\"\"2021-06-25T07:43:41.270Z\"\",\"\"2021-08-02T12:35:14.678Z\"\",\"\"2021-07-03T15:44:52.150Z\"\",\"\"2021-06-29T13:08:52.125Z\"\",\"\"2021-07-11T04:35:22.311Z\"\",\"\"2021-06-23T18:25:47.718Z\"\",\"\"2021-07-05T10:30:31.560Z\"\",\"\"2021-06-30T18:13:04.255Z\"\",\"\"2021-06-27T20:01:18.355Z\"\",\"\"2021-08-01T04:07:47.818Z\"\",\"\"2021-07-07T05:20:59.031Z\"\",\"\"2021-06-20T07:05:31.410Z\"\",\"\"2021-07-02T18:08:29.926Z\"\",\"\"2021-07-21T19:41:39.265Z\"\",\"\"2021-07-15T03:42:04.447Z\"\",\"\"2021-07-04T13:01:15.113Z\"\",\"\"2021-06-19T14:45:35.952Z\"\",\"\"2021-07-26T01:14:34.411Z\"\",\"\"2021-07-17T07:23:48.835Z\"\",\"\"2021-06-18T17:56:50.153Z\"\",\"\"2021-08-03T15:35:39.959Z\"\",\"\"2021-07-08T03:58:42.266Z\"\",\"\"2021-06-16T05:48:21.451Z\"\",\"\"2021-06-26T23:56:45.630Z\"\",\"\"2021-07-29T13:09:36.225Z\"\",\"\"2021-07-12T03:31:48.923Z\"\",\"\"2021-07-13T04:26:16.695Z\"\",\"\"2021-07-10T03:43:39.708Z\"\",\"\"2021-06-22T02:11:35.241Z\"\",\"\"2021-06-17T22:45:17.439Z\"\",\"\"2021-07-22T23:01:30.463Z\"\",\"\"2021-06-22T21:37:31.903Z\"\",\"\"2021-07-20T17:41:08.454Z\"\",\"\"2021-06-29T22:36:44.276Z\"\",\"\"2021-07-30T21:25:25.457Z\"\",\"\"2021-07-18T11:47:17.985Z\"\",\"\"2021-07-27T04:58:47.340Z\"\",\"\"2021-07-24T22:26:16.994Z\"\",\"\"2021-06-28T15:52:13.440Z\"\",\"\"2021-07-24T02:11:47.057Z\"\"],\"\"firstDateSeen\"\":\"\"2021-06-16T05:48:21.451Z\"\",\"\"lastDateSeen\"\":\"\"2021-08-03T15:35:39.959Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":168.34},{\"\"amountMax\"\":5500.0,\"\"amountMin\"\":5500.0,\"\"comment\"\":\"\"Aggregate Offer\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-04-25T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-09-10T15:08:34.468Z\"\",\"\"2024-09-10T22:27:00.000Z\"\",\"\"2024-09-16T19:05:00.000Z\"\",\"\"2024-09-20T06:12:00.000Z\"\",\"\"2024-09-15T16:11:00.000Z\"\",\"\"2024-09-21T09:58:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2024-09-10T15:08:34.468Z\"\",\"\"lastDateSeen\"\":\"\"2024-09-21T09:58:00.000Z\"\",\"\"domains\"\":[\"\"www.showmetherent.com\"\"],\"\"period\"\":\"\"Per Month\"\",\"\"pricePerSquareFoot\"\":1.67},{\"\"amountMax\"\":459900.0,\"\"amountMin\"\":459900.0,\"\"availability\"\":\"\"true\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-05-31T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2021-07-04T01:47:54.720Z\"\"],\"\"firstDateSeen\"\":\"\"2021-07-04T01:47:54.720Z\"\",\"\"lastDateSeen\"\":\"\"2021-07-04T01:47:54.720Z\"\",\"\"domains\"\":[\"\"www.estately.com\"\"],\"\"isSold\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":128.39},{\"\"amountMax\"\":749900.0,\"\"amountMin\"\":749900.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2025-01-30T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-02-02T06:31:39.001Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-02T06:31:39.001Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-02T06:31:39.001Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":252.92},{\"\"amountMax\"\":5530.0,\"\"amountMin\"\":5530.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-09-27T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-11-05T22:20:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2024-11-05T22:20:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2024-11-05T22:20:00.000Z\"\",\"\"domains\"\":[\"\"www.showmetherent.com\"\"],\"\"period\"\":\"\"Per Month\"\",\"\"pricePerSquareFoot\"\":1.68},{\"\"amountMax\"\":470000.0,\"\"amountMin\"\":470000.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-07-30T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-06-09T20:17:59.949Z\"\"],\"\"firstDateSeen\"\":\"\"2024-06-09T20:17:59.949Z\"\",\"\"lastDateSeen\"\":\"\"2024-06-09T20:17:59.949Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":219.11},{\"\"amountMax\"\":5530.0,\"\"amountMin\"\":5530.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-09-27T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-11-05T19:37:18.779Z\"\"],\"\"firstDateSeen\"\":\"\"2024-11-05T19:37:18.779Z\"\",\"\"lastDateSeen\"\":\"\"2024-11-05T19:37:18.779Z\"\",\"\"domains\"\":[\"\"www.zillow.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"period\"\":\"\"Per month\"\",\"\"pricePerSquareFoot\"\":2.0},{\"\"amountMax\"\":5530.0,\"\"amountMin\"\":5530.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-09-27T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-12-27T12:34:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-27T12:34:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-27T12:34:00.000Z\"\",\"\"domains\"\":[\"\"www.showmetherent.com\"\"],\"\"period\"\":\"\"Per Month\"\",\"\"pricePerSquareFoot\"\":1.68},{\"\"amountMax\"\":459900.0,\"\"amountMin\"\":459900.0,\"\"availability\"\":\"\"true\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-05-31T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2021-07-06T06:34:08.174Z\"\",\"\"2021-07-28T09:31:20.638Z\"\",\"\"2021-06-14T06:54:54.489Z\"\"],\"\"firstDateSeen\"\":\"\"2021-06-14T06:54:54.489Z\"\",\"\"lastDateSeen\"\":\"\"2021-07-28T09:31:20.638Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"isSold\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":168.0},{\"\"amountMax\"\":5530.0,\"\"amountMin\"\":5530.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-09-27T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-11-16T21:12:15.837Z\"\"],\"\"firstDateSeen\"\":\"\"2024-11-16T21:12:15.837Z\"\",\"\"lastDateSeen\"\":\"\"2024-11-16T21:12:15.837Z\"\",\"\"domains\"\":[\"\"www.zillow.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"period\"\":\"\"Per month\"\",\"\"pricePerSquareFoot\"\":2.0},{\"\"amountMax\"\":495000.0,\"\"amountMin\"\":495000.0,\"\"availability\"\":\"\"true\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2021-04-16T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2021-06-26T02:05:39.697Z\"\"],\"\"firstDateSeen\"\":\"\"2021-06-26T02:05:39.697Z\"\",\"\"lastDateSeen\"\":\"\"2021-06-26T02:05:39.697Z\"\",\"\"domains\"\":[\"\"www.compass.com\"\"],\"\"isSold\"\":\"\"false\"\",\"\"pricePerSquareFoot\"\":168.34},{\"\"amountMax\"\":342500.0,\"\"amountMin\"\":342500.0,\"\"availability\"\":\"\"false\"\",\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2009-12-03T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2020-01-20T14:39:10.306Z\"\"],\"\"firstDateSeen\"\":\"\"2020-01-20T14:39:10.306Z\"\",\"\"lastDateSeen\"\":\"\"2020-01-20T14:39:10.306Z\"\",\"\"domains\"\":[\"\"www.redfin.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"isSold\"\":\"\"true\"\",\"\"pricePerSquareFoot\"\":199.0},{\"\"amountMax\"\":5530.0,\"\"amountMin\"\":5530.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-09-27T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-12-23T07:06:43.210Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-23T07:06:43.210Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-23T07:06:43.210Z\"\",\"\"domains\"\":[\"\"www.zillow.com\"\"],\"\"isSale\"\":\"\"false\"\",\"\"period\"\":\"\"Per month\"\",\"\"pricePerSquareFoot\"\":2.0},{\"\"amountMax\"\":5200.0,\"\"amountMin\"\":5200.0,\"\"currency\"\":\"\"USD\"\",\"\"date\"\":\"\"2024-09-06T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-01-19T11:13:35.424Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-19T11:13:35.424Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-19T11:13:35.424Z\"\",\"\"domains\"\":[\"\"www.apartmentguide.com\"\"],\"\"isSale\"\":\"\"true\"\",\"\"pricePerSquareFoot\"\":1.58}]\",\"[{\"\"amount\"\":9516.0,\"\"currency\"\":\"\"USD\"\",\"\"year\"\":2025,\"\"dateSeen\"\":[\"\"2025-02-02T06:32:00.000Z\"\",\"\"2025-01-31T02:06:00.000Z\"\",\"\"2025-02-03T15:11:26.758Z\"\",\"\"2025-03-04T18:23:34.869Z\"\",\"\"2025-03-12T15:23:51.912Z\"\",\"\"2025-02-27T15:09:21.440Z\"\",\"\"2025-03-13T06:22:00.000Z\"\"]},{\"\"amount\"\":7194.0,\"\"currency\"\":\"\"USD\"\",\"\"year\"\":2023,\"\"dateSeen\"\":[\"\"2025-03-12T15:23:51.912Z\"\"]},{\"\"amount\"\":9516.0,\"\"currency\"\":\"\"USD\"\",\"\"year\"\":2025,\"\"dateSeen\"\":[\"\"2025-03-14T12:42:00.000Z\"\"]}]\",\"Single Family Dwelling\",\"MN\",,\"Age 8 Years or Less,Age Over 8 Years Asphalt Pitched\",\"No Pets Allowed\",\"Merriam Park Second Add\",\"[{\"\"date\"\":\"\"2024-07-31T05:12:53.116Z\"\",\"\"dateSeen\"\":[\"\"2024-07-31T05:12:53.116Z\"\"],\"\"firstDateSeen\"\":\"\"2024-07-31T05:12:53.116Z\"\",\"\"lastDateSeen\"\":\"\"2024-07-31T05:12:53.116Z\"\",\"\"isUnderContract\"\":\"\"false\"\",\"\"type\"\":\"\"Off Market\"\"},{\"\"date\"\":\"\"2025-03-12T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-03-14T12:41:33.289Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-14T12:41:33.289Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-14T12:41:33.289Z\"\",\"\"type\"\":\"\"For Sale\"\"},{\"\"date\"\":\"\"2009-08-24T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2009-08-24T00:00:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2009-08-24T00:00:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2009-08-24T00:00:00.000Z\"\",\"\"type\"\":\"\"For Sale\"\"},{\"\"date\"\":\"\"2025-01-30T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-03-01T10:42:55.486Z\"\",\"\"2025-01-31T02:05:45.567Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-31T02:05:45.567Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-01T10:42:55.486Z\"\",\"\"type\"\":\"\"For Sale\"\"},{\"\"date\"\":\"\"2022-08-04T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2022-08-11T07:54:00.000Z\"\",\"\"2022-08-04T14:16:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2022-08-04T14:16:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2022-08-11T07:54:00.000Z\"\",\"\"isUnderContract\"\":\"\"true\"\",\"\"type\"\":\"\"Pending\"\"},{\"\"date\"\":\"\"2022-11-14T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2022-11-14T20:40:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2022-11-14T20:40:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2022-11-14T20:40:00.000Z\"\",\"\"isUnderContract\"\":\"\"true\"\",\"\"type\"\":\"\"Pending\"\"},{\"\"date\"\":\"\"2022-08-12T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2023-06-30T01:22:09.435Z\"\",\"\"2023-07-09T05:42:14.096Z\"\"],\"\"firstDateSeen\"\":\"\"2023-06-30T01:22:09.435Z\"\",\"\"lastDateSeen\"\":\"\"2023-07-09T05:42:14.096Z\"\",\"\"type\"\":\"\"Sold\"\"},{\"\"date\"\":\"\"2024-09-06T20:37:29.325Z\"\",\"\"dateSeen\"\":[\"\"2024-11-16T10:28:28.373Z\"\"],\"\"firstDateSeen\"\":\"\"2024-11-16T10:28:28.373Z\"\",\"\"lastDateSeen\"\":\"\"2024-11-16T10:28:28.373Z\"\",\"\"isUnderContract\"\":\"\"false\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-03-12T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-03-13T06:22:21.581Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-13T06:22:21.581Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-13T06:22:21.581Z\"\",\"\"type\"\":\"\"For Sale\"\"},{\"\"date\"\":\"\"2024-09-06T20:37:29.325Z\"\",\"\"dateSeen\"\":[\"\"2024-12-06T19:08:47.090Z\"\",\"\"2024-12-06T20:25:04.638Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-06T19:08:47.090Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-06T20:25:04.638Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2022-04-08T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2022-05-20T21:02:00.000Z\"\",\"\"2022-05-14T21:15:00.000Z\"\",\"\"2022-04-09T19:01:00.000Z\"\",\"\"2022-05-20T21:01:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2022-04-09T19:01:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2022-05-20T21:02:00.000Z\"\",\"\"type\"\":\"\"For Sale\"\"},{\"\"date\"\":\"\"2025-01-01T15:05:06.389Z\"\",\"\"dateSeen\"\":[\"\"2025-02-06T19:57:50.016Z\"\",\"\"2025-02-05T15:20:05.604Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-05T15:20:05.604Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-06T19:57:50.016Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-02-04T04:27:56.473Z\"\",\"\"dateSeen\"\":[\"\"2025-03-11T01:20:37.260Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-11T01:20:37.260Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-11T01:20:37.260Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-01-01T15:05:06.389Z\"\",\"\"dateSeen\"\":[\"\"2025-02-03T07:23:16.363Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-03T07:23:16.363Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-03T07:23:16.363Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-09-06T20:37:29.325Z\"\",\"\"dateSeen\"\":[\"\"2024-11-07T00:25:25.655Z\"\",\"\"2024-11-06T09:06:10.401Z\"\"],\"\"firstDateSeen\"\":\"\"2024-11-06T09:06:10.401Z\"\",\"\"lastDateSeen\"\":\"\"2024-11-07T00:25:25.655Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"dateSeen\"\":[\"\"2021-04-25T23:56:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2021-04-25T23:56:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2021-04-25T23:56:00.000Z\"\",\"\"type\"\":\"\"Off Market\"\"},{\"\"date\"\":\"\"2024-12-27T21:02:51.430Z\"\",\"\"dateSeen\"\":[\"\"2024-12-30T22:17:50.497Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-30T22:17:50.497Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-30T22:17:50.497Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-01-01T15:05:06.389Z\"\",\"\"dateSeen\"\":[\"\"2025-01-11T09:26:26.516Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-11T09:26:26.516Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-11T09:26:26.516Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-03-02T03:53:04.171Z\"\",\"\"dateSeen\"\":[\"\"2025-03-02T03:53:04.171Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-02T03:53:04.171Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-02T03:53:04.171Z\"\",\"\"type\"\":\"\"Off Market\"\"},{\"\"date\"\":\"\"2025-01-30T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-02-02T06:31:38.562Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-02T06:31:38.562Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-02T06:31:38.562Z\"\",\"\"type\"\":\"\"For Sale\"\"},{\"\"date\"\":\"\"2022-11-14T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2022-11-18T18:49:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2022-11-18T18:49:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2022-11-18T18:49:00.000Z\"\",\"\"isUnderContract\"\":\"\"true\"\",\"\"type\"\":\"\"Pending\"\"},{\"\"date\"\":\"\"2009-10-30T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2009-10-30T00:00:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2009-10-30T00:00:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2009-10-30T00:00:00.000Z\"\",\"\"type\"\":\"\"Sold\"\"},{\"\"date\"\":\"\"2024-12-31T08:39:15.986Z\"\",\"\"dateSeen\"\":[\"\"2024-12-31T08:39:15.986Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-31T08:39:15.986Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-31T08:39:15.986Z\"\",\"\"type\"\":\"\"Off Market\"\"},{\"\"date\"\":\"\"2024-09-06T20:37:29.325Z\"\",\"\"dateSeen\"\":[\"\"2024-12-09T02:01:18.592Z\"\",\"\"2024-12-26T09:50:04.269Z\"\",\"\"2024-12-27T12:33:41.036Z\"\",\"\"2025-01-17T01:19:23.603Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-09T02:01:18.592Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-17T01:19:23.603Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-25T21:21:44.408Z\"\",\"\"dateSeen\"\":[\"\"2024-12-25T21:21:44.408Z\"\",\"\"2024-12-25T23:45:45.255Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-25T21:21:44.408Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-25T23:45:45.255Z\"\",\"\"type\"\":\"\"Off Market\"\"},{\"\"date\"\":\"\"2024-09-06T20:37:29.325Z\"\",\"\"dateSeen\"\":[\"\"2024-09-07T03:20:48.923Z\"\"],\"\"firstDateSeen\"\":\"\"2024-09-07T03:20:48.923Z\"\",\"\"lastDateSeen\"\":\"\"2024-09-07T03:20:48.923Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-27T21:02:51.430Z\"\",\"\"dateSeen\"\":[\"\"2024-12-28T17:25:16.694Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-28T17:25:16.694Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-28T17:25:16.694Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-09-06T20:37:29.325Z\"\",\"\"dateSeen\"\":[\"\"2024-09-10T22:26:33.779Z\"\"],\"\"firstDateSeen\"\":\"\"2024-09-10T22:26:33.779Z\"\",\"\"lastDateSeen\"\":\"\"2024-09-10T22:26:33.779Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2009-09-01T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2009-09-01T00:00:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2009-09-01T00:00:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2009-09-01T00:00:00.000Z\"\",\"\"type\"\":\"\"Off Market\"\"},{\"\"date\"\":\"\"2024-09-06T20:37:29.325Z\"\",\"\"dateSeen\"\":[\"\"2024-12-25T07:28:09.670Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-25T07:28:09.670Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-25T07:28:09.670Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-01-01T15:05:06.389Z\"\",\"\"dateSeen\"\":[\"\"2025-02-04T11:48:52.452Z\"\",\"\"2025-02-12T14:37:49.819Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-04T11:48:52.452Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-12T14:37:49.819Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-01-01T15:05:06.389Z\"\",\"\"dateSeen\"\":[\"\"2025-01-23T12:25:44.493Z\"\",\"\"2025-01-22T21:08:02.681Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-22T21:08:02.681Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-23T12:25:44.493Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-03-09T05:17:45.063Z\"\",\"\"dateSeen\"\":[\"\"2025-03-12T19:40:17.825Z\"\",\"\"2025-03-09T05:17:45.063Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-09T05:17:45.063Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-12T19:40:17.825Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-01-01T15:05:06.389Z\"\",\"\"dateSeen\"\":[\"\"2025-01-27T11:47:34.043Z\"\",\"\"2025-01-28T14:10:01.552Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-27T11:47:34.043Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-28T14:10:01.552Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-27T21:02:51.430Z\"\",\"\"dateSeen\"\":[\"\"2024-12-29T20:12:51.152Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-29T20:12:51.152Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-29T20:12:51.152Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2021-04-16T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2021-07-04T01:48:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2021-07-04T01:48:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2021-07-04T01:48:00.000Z\"\",\"\"type\"\":\"\"For Sale\"\"},{\"\"date\"\":\"\"2025-01-01T15:05:06.389Z\"\",\"\"dateSeen\"\":[\"\"2025-02-11T10:25:36.593Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-11T10:25:36.593Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-11T10:25:36.593Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-01-01T15:05:06.389Z\"\",\"\"dateSeen\"\":[\"\"2025-01-12T11:30:12.414Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-12T11:30:12.414Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-12T11:30:12.414Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2021-07-30T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2021-07-30T00:00:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2021-07-30T00:00:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2021-07-30T00:00:00.000Z\"\",\"\"type\"\":\"\"Sold\"\"},{\"\"date\"\":\"\"2025-01-30T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2025-02-12T12:29:36.222Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-12T12:29:36.222Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-12T12:29:36.222Z\"\",\"\"type\"\":\"\"For Sale\"\"},{\"\"date\"\":\"\"2024-12-27T21:02:51.430Z\"\",\"\"dateSeen\"\":[\"\"2025-01-01T01:37:25.692Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-01T01:37:25.692Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-01T01:37:25.692Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-02-04T04:27:56.473Z\"\",\"\"dateSeen\"\":[\"\"2025-03-14T09:55:31.720Z\"\",\"\"2025-03-13T08:25:57.385Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-13T08:25:57.385Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-14T09:55:31.720Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-02-04T04:27:56.473Z\"\",\"\"dateSeen\"\":[\"\"2025-03-08T18:35:43.001Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-08T18:35:43.001Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-08T18:35:43.001Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2023-05-11T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2023-05-11T03:21:00.000Z\"\"],\"\"firstDateSeen\"\":\"\"2023-05-11T03:21:00.000Z\"\",\"\"lastDateSeen\"\":\"\"2023-05-11T03:21:00.000Z\"\",\"\"type\"\":\"\"Off Market\"\"},{\"\"date\"\":\"\"2025-02-04T04:27:56.473Z\"\",\"\"dateSeen\"\":[\"\"2025-03-03T22:59:10.522Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-03T22:59:10.522Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-03T22:59:10.522Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-01-01T15:05:06.389Z\"\",\"\"dateSeen\"\":[\"\"2025-01-20T13:24:56.575Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-20T13:24:56.575Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-20T13:24:56.575Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2023-05-11T00:00:00.000Z\"\",\"\"dateSeen\"\":[\"\"2024-06-09T20:17:59.492Z\"\"],\"\"firstDateSeen\"\":\"\"2024-06-09T20:17:59.492Z\"\",\"\"lastDateSeen\"\":\"\"2024-06-09T20:17:59.492Z\"\",\"\"type\"\":\"\"Off Market\"\"},{\"\"date\"\":\"\"2024-06-23T20:20:25.543Z\"\",\"\"dateSeen\"\":[\"\"2024-06-23T20:20:25.543Z\"\"],\"\"firstDateSeen\"\":\"\"2024-06-23T20:20:25.543Z\"\",\"\"lastDateSeen\"\":\"\"2024-06-23T20:20:25.543Z\"\",\"\"isUnderContract\"\":\"\"false\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2025-01-01T15:05:06.389Z\"\",\"\"dateSeen\"\":[\"\"2025-01-13T15:07:57.075Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-13T15:07:57.075Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-13T15:07:57.075Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2021-08-09T07:00:00.000Z\"\",\"\"type\"\":\"\"Sold\"\"},{\"\"date\"\":\"\"2009-11-18T08:00:00.000Z\"\",\"\"type\"\":\"\"Sold\"\"},{\"\"date\"\":\"\"2021-08-09T07:00:00.000Z\"\",\"\"type\"\":\"\"Sold\"\"},{\"\"date\"\":\"\"2021-07-30T07:00:00.000Z\"\",\"\"type\"\":\"\"Sold\"\"},{\"\"date\"\":\"\"2009-11-18T08:00:00.000Z\"\",\"\"type\"\":\"\"Sold\"\"},{\"\"date\"\":\"\"2021-07-30T07:00:00.000Z\"\",\"\"type\"\":\"\"Sold\"\"},{\"\"date\"\":\"\"2022-08-12T00:00:00.000Z\"\",\"\"type\"\":\"\"Sold\"\"}]\",,\"042823220093\",,,\"[{\"\"saleDate\"\":\"\"2021-08-09T07:00:00.000Z\"\",\"\"price\"\":470000.0},{\"\"saleDate\"\":\"\"2009-11-18T08:00:00.000Z\"\",\"\"price\"\":342500.0},{\"\"saleDate\"\":\"\"2021-08-09T07:00:00.000Z\"\",\"\"price\"\":470000.0},{\"\"saleDate\"\":\"\"2021-07-30T07:00:00.000Z\"\",\"\"price\"\":470000.0},{\"\"saleDate\"\":\"\"2009-11-18T08:00:00.000Z\"\",\"\"price\"\":342500.0},{\"\"saleDate\"\":\"\"2021-07-30T07:00:00.000Z\"\",\"\"price\"\":470000.0},{\"\"saleDate\"\":\"\"2022-08-12T00:00:00.000Z\"\",\"\"sellerFirstName\"\":\"\"Eric\"\",\"\"sellerLastName\"\":\"\"Jacques\"\",\"\"buyerFirstName\"\":\"\"Eric\"\",\"\"buyerLastName\"\":\"\"Jacques\"\",\"\"parcelNumber\"\":\"\"04-28-23-22-0093\"\"}]\",,,1910,\"Residential-Single Family\""
    ]
}

You can write the following code in your code editor for JSON (replace the dummy API token with your real API token):

# Illustrates an API call to Datafiniti's Product Database for hotels.
import requests
import urllib.parse
import json

# Set your API parameters here.
API_token = 'AAAXXXXXXXXXXXX'
format = 'JSON'
query = 'country:US'
num_records = 1
download = False

request_headers = {
	'Authorization': 'Bearer ' + API_token,
	'Content-Type': 'application/json',
}
request_data = {
    'query': query,
    'format': format,
    'num_records': num_records,
    'download': download
}

# Make the API call.
r = requests.post('https://api.datafiniti.co/v4/properties/search',json=request_data,headers=request_headers);

# Do something with the response.
if r.status_code == 200:
	print(r.content)
else:
	print('Request failed')

You should get a response similar to this for JSON format:

{
  "num_found": 7983205,
  "total_cost": 1,
  "records": [
    {
      "address": "711 Kent Ave",
      "brokers": [
        {
          "agent": "Raj Singh",
          "company": "YOUR REALTY INC.",
          "dateSeen": [
            "2016-06-06T18:09:28Z"
          ],
        }
      ],
      "city": "Catonsville",
      "country": "US",
      "dateAdded": "2016-06-06T18:09:28Z",
      "features": [
        {
          "key": "Air Conditioning",
          "value": [
            "Heat Pumps"
          ]
        },
        {
          "key": "Sewer Type",
          "value": [
            "Public"
          ]
        }
      ],
      "latitude": "39.284462",
      "listingName": "711 Kent Ave, Catonsville, Md 21228",
      "longitude": "-76.734069",
      "lotSizeValue": 0.16,
      "lotSizeUnit": "Acres",
      "mlsNumber": "BC9677283",
      "numBathroom": 2,
      "numBedroom": 4,
      "postalCode": "21228",
      "prices": [
        {
          "amountMax": 199900,
          "amountMin": 199900,
          "currency": "USD",
          "dateSeen": [
            "2016-08-08T00:00:00Z",
            "2016-08-03T00:00:00Z"
          ],
          "isSale": "false",
        },
        {
          "amountMax": 212000,
          "amountMin": 212000,
          "currency": "USD",
          "dateSeen": [
            "2016-06-06T00:00:00Z"
          ],
          "isSale": "false",
        }
      ],
      "propertyTaxes": [
        {
          "amount": 3195,
          "currency": "USD",
          "dateSeen": [
            "2016-06-06T18:09:28Z"
          ],
        }
      ],
      "propertyType": "Single Family Dwelling",
      "province": "MD",
      "statuses": [
        {
          "dateSeen": [
            "2016-08-09T09:16:10Z"
          ],
          "isUnderContract": "false",
          "type": "For Sale"
        }
      ],
      "id": "AV9WzHyO_RWkykBuv11F"
    }
  ]
]

Let's break down each of the parameters we sent in our request:

API Call ComponentDescription
"query": "country:US"query tells the API what you want to search. In this case, you're telling the API you want to search by country. Any property in the US will be returned.
"num_records": 1num_records tells the API how many records to return in its response. In this case, you just want to see 1 matching record.
"format":"xxxx""format" tells the API what format to output the data in the response. Can be either CSV or JSON.

Now let's dive through the response the API returned:

Response FieldDescription
"num_found"The total number of available records in the database that match your query. If you end up downloading the entire data set, this is how many records you'll use.
"total_cost"The number of credits this request has cost you. Property records only cost 1 credit per record.
"records"The first available matches to your query. If there are no matches, this field will be empty.

Within each record returned, you'll see multiple fields shown. This is the data for each record.

Within the records field, you'll see a single property returned with multiple fields and the values associated with that property. The JSON response will show all fields that have a value. It won't show any fields that don't have a value.

Each property record will have multiple fields associated with it. You can see a full list of available fields in our Property Data Schema.

4. Refine your search

If you think about the original query we made, you'll realize we didn't really specify we only wanted homes for sale. There are several other types of properties (e.g., commercial, rentals) that may also be in the data. Since we only want homes for sale, we should narrow our search appropriately. Modify your code to look like this. Note you can choose between CSV or JSON for the format field.

# Illustrates an API call to Datafiniti's Product Database for hotels.
import requests
import urllib.parse
import json

# Set your API parameters here.
API_token = 'AAAXXXXXXXXXXXX'
# format can choose either CSV or JSON
format = 'JSON'
query = 'country:US AND propertyType:\"Single Family Dwelling\"'
num_records = 10
download = False

request_headers = {
	'Authorization': 'Bearer ' + API_token,
	'Content-Type': 'application/json',
}
request_data = {
    'query': query,
    'format': format,
    'num_records': num_records,
    'download': download
}

# Make the API call.
r = requests.post('https://api.datafiniti.co/v4/properties/search',json=request_data,headers=request_headers);

# Do something with the response.
if r.status_code == 200:
	print(r.content)
else:
	print('Request failed')

This code is different in a couple ways:

  1. It adds AND propertyType:"Single Family Dwelling" to narrow down results to just US hotels.
  2. It changes records=1 to records=10 so we can look at more sample matches.

Datafiniti lets you construct very refined boolean queries. If you wanted to do more complicated searches, you could use OR operations, negation, and more.

If you would like to narrow your search to just exact matches you can place the search term in quotation marks.

5. Initiate a download of the data

Once we like what we see from the sample matches, it's time to download a larger data set! To do this, we're going to update our code a fair bit (an explanation follows):

# Illustrates an API call to Datafiniti's Product Database for hotels.
import requests
import urllib.parse
import json
import time

# Set your API parameters here.
API_token = 'AAAXXXXXXXX'
# format can choose either CSV or JSON
format = 'JSON'
query = 'country:US AND propertyType:\\"Single Family Dwelling\\"'
num_records = 50
download = True

request_headers = {
	'Authorization': 'Bearer ' + API_token,
	'Content-Type': 'application/json',
}
request_data = {
    'query': query,
    'format': format,
    'num_records': num_records,
    'download': download
}

# Make the API call.
r = requests.post('https://api.datafiniti.co/v4/properties/search',json=request_data,headers=request_headers);

# Do something with the response.
if r.status_code == 200:
	request_response = r.json()
	print(request_response)

	# Keep checking the request status until the download has completed
	download_id = request_response['id']
	download_status = request_response['status']

	while (download_status != 'completed'):
		time.sleep(5)
		download_r = requests.get('https://api.datafiniti.co/v4/downloads/' + str(download_id),headers=request_headers);
		download_response = download_r.json()
		download_status = download_response['status']
		print('Records downloaded: ' + str(download_response['num_downloaded']))

	# Once the download has completed, get the list of links to the result files and download each file
	if download_status == 'completed':
		result_list = download_response['results']
		i = 1;
		for result in result_list:
			filename = str(download_id) + '_' + str(i) + '.' + format
			urllib.request.urlretrieve(result,filename)
			print('File: ' + str(i) + ' out of ' + str(len(result_list)) + ' saved: ' + filename)
			i += 1

else:
	print('Request failed')
	print(r)

A couple things to pay attention to in the above code:

  1. We changed num_records from 10 to 50. This will download the first 50 matching records. If we wanted to download all matching records, we would remove num_records. num_records will tell the API to default to all available records.
  2. We changed download from false to true.

🚧

Num_records

If num_records is not specified, ALL of the records matching the query will be downloaded.

Since we've handled multiple steps of the download process in this code, we won't go into the details here, but we do recommend you familiarize yourself with those steps. Checking them out in our Property Data with Postman and CSV guide.

6. Parse the CSV/JSON data

The download code will save one or more result files to your project folder.

📘

JSON format

The JSON data will actually be a text file, instead of a single JSON object. Each line in the text file is a JSON object. We format the data this way because most programming languages won't handle parsing the entire data set as a JSON object with their standard system calls very well.

We'll need to parse the file into an array of JSON objects. We can use code similar to this to handle the parsing:

import json

# Set the location of your file here
filename = 'xxxx_x.txt'

records = []

with open(filename) as myFile:
	for line in myFile:
		records.append(json.loads(line))

for record in records:
	# Edit these lines to do more with the data
	print json.dumps(record, indent=4, sort_keys=True)

You can edit the code in the for loop above to do whatever you'd like with the data, such as store the data in a database, writing it out to your console, etc.

7. Using parsed data

For this example, we will utilize the following query.

query = 'name:Nike React Flyknit'

Now we will create a python script to parse through the data using the technique in step 6

# Illustrates an API call to Datafiniti's Product Database.
import requests
import urllib.parse
import json

# Set your API parameters here.
API_token = 'API_key_here'
format = 'JSON'
query = 'name:Nike React Flyknit'
num_records = 1
download = False

request_headers = {
    'Authorization': 'Bearer ' + API_token,
    'Content-Type': 'application/json',
}

request_data = {
    'query': query,
    'format': format,
    'num_records': num_records,
    'download': download
}

# Make the API call.
r = requests.post('https://api.datafiniti.co/v4/products/search',json=request_data,headers=request_headers);

# Do something with the response.
if r.status_code == 200:
    print(r.content)
else:
    print('Request failed')

#parse JSON response to select specific data fields. 
parsedR = json.loads(r.content)
record = parsedR["records"][0]

#set price to mostRecentPriceAmount field
price = record["mostRecentPriceAmount"]
print("Your most recent price is: " + str(price))
 
#set color to colors in the data record
color = record["colors"]
print("Your color is: " + color)

#set where it is sold from
soldFrom = record["mostRecentPriceSourceURL"]
print("sold here: " + soldFrom)