Property Data with PHP
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:
- Collect data on homes.
- Sort the data by state.
- Find which states have the most expensive homes.
Your environment and data needs:
- You're working with PHP.
- You want to work with CSV or JSON data.
Here are the steps we'll take:
1. Open a code editor
If you want to use PHP to access the Datafiniti API, we're assuming you'll be using a standard code editor to write your PHP code. Open your code editor to get started.
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), login, and click on your account name and the top-right. From there, you'll see a link to the "My Account" page, which will take you to a page showing your token. Your API token will be a long string of letters and numbers. Copy the API token or store it somewhere you can easily reference.
For security reasons, your API token will be automatically changed whenever you change your password.
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.
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 (replace the dummy API token with your real API token):
<?php
$url = 'https://api.datafiniti.co/v4/properties/search';
$apiToken = 'AAAXXXXXXXXXXXX';
$requestBody = [
'query' => 'country:US',
'format' => 'JSON',
'num_records' => 1,
'download' => false
];
$options = [
'http' => [
'header' => "Authorization: Bearer $apiToken\r\nContent-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($requestBody),
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
if ($response === false) {
echo "Error fetching API data.";
} else {
var_dump(json_decode($response, true));
}
?>
You should get a response similar to this:
{
"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"
}
]
]
And here is the code for CSV:
<?php
$url = 'https://api.datafiniti.co/v4/properties/search';
$apiToken = 'AAAXXXXXXXXXXXX';
$requestBody = [
'query' => 'country:US',
'format' => 'CSV',
'num_records' => 1,
'download' => false
];
$options = [
'http' => [
'header' => "Authorization: Bearer $apiToken\r\nContent-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($requestBody),
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
if ($response === false) {
echo "Error fetching API data.";
} else {
var_dump(json_decode($response, true));
}
?>
You should get a response similar to this:
{
"num_found": 19561301,
"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": [
"\"TZ9V1JMBoOD0_HX2vtNi\",,\"1404 8119 Douglas Ave Unit 1404\",,\"Electric Oven,Gas Range,Dishwasher,Microwave,Water Filter,Built-in Refrigerator,Built-in Gas Range,Disposal,Double Oven,Ice Maker,Plumbed For Gas in Kitchen,Washer\",\"Contemporary/Modern\",,\"[{\"\"agent\"\":\"\"Mills Viehman\"\",\"\"company\"\":\"\"Allie Beth Allman & Assoc.\"\",\"\"dateSeen\"\":\"\"2025-01-28T13:25:58.319Z\"\",\"\"firstName\"\":\"\"Mills\"\",\"\"lastName\"\":\"\"Viehman\"\",\"\"phones\"\":[\"\"4328891793\"\"],\"\"people_key\"\":\"\"mills/viehman/1739492230\"\"}]\",,,,,,,,\"Dallas\",,,,,\"US\",\"Dallas County\",,,\"2024-12-17T11:16:47Z\",\"2025-03-18T15:26:26Z\",\"[{\"\"amount\"\":10000.0,\"\"currency\"\":\"\"USD\"\",\"\"dateSeen\"\":[\"\"2025-03-18T07:16:02.956Z\"\"]},{\"\"amount\"\":10000.0,\"\"currency\"\":\"\"USD\"\",\"\"dateSeen\"\":[\"\"2025-02-04T18:55:31.935Z\"\",\"\"2025-01-23T09:07:12.205Z\"\",\"\"2025-02-19T09:39:41.764Z\"\",\"\"2025-02-09T13:37:38.055Z\"\",\"\"2025-03-16T10:00:44.236Z\"\",\"\"2025-03-09T09:45:18.089Z\"\",\"\"2025-03-06T04:29:12.087Z\"\",\"\"2025-02-05T21:29:34.338Z\"\",\"\"2025-01-07T08:45:49.248Z\"\",\"\"2025-02-01T12:55:14.246Z\"\",\"\"2025-01-13T09:49:44.374Z\"\",\"\"2025-02-22T17:01:14.975Z\"\",\"\"2025-03-05T04:46:48.706Z\"\",\"\"2025-02-25T10:45:12.746Z\"\",\"\"2025-01-19T22:54:27.919Z\"\",\"\"2024-12-22T20:17:59.205Z\"\",\"\"2024-12-26T16:42:58.266Z\"\",\"\"2025-02-24T14:13:19.384Z\"\",\"\"2025-02-19T09:39:41.765Z\"\",\"\"2025-03-04T05:14:48.621Z\"\",\"\"2025-02-10T07:45:58.983Z\"\",\"\"2025-02-01T12:55:14.245Z\"\",\"\"2025-01-21T13:02:17.189Z\"\",\"\"2025-02-22T17:01:14.974Z\"\",\"\"2025-01-02T03:00:08.194Z\"\",\"\"2025-01-17T21:22:43.079Z\"\",\"\"2025-02-07T08:21:57.270Z\"\",\"\"2025-01-11T19:38:34.859Z\"\",\"\"2025-03-05T04:46:48.707Z\"\",\"\"2025-01-01T10:41:48.463Z\"\",\"\"2025-01-21T21:24:07.500Z\"\",\"\"2025-02-07T00:01:38.257Z\"\",\"\"2025-02-23T20:14:13.776Z\"\",\"\"2025-01-19T01:58:36.947Z\"\",\"\"2024-12-23T19:54:01.583Z\"\",\"\"2024-12-27T07:36:16.283Z\"\",\"\"2025-03-14T14:38:13.624Z\"\",\"\"2025-01-30T23:25:55.025Z\"\",\"\"2025-01-03T11:48:22.578Z\"\",\"\"2025-02-03T16:52:21.887Z\"\",\"\"2025-01-14T03:20:50.237Z\"\",\"\"2025-01-12T23:56:30.250Z\"\",\"\"2025-02-11T13:16:44.548Z\"\",\"\"2025-01-01T10:41:48.462Z\"\",\"\"2025-02-09T13:37:38.054Z\"\",\"\"2025-02-23T02:02:47.985Z\"\",\"\"2025-01-20T18:51:40.392Z\"\",\"\"2025-01-12T05:10:39.299Z\"\",\"\"2024-12-30T23:15:54.716Z\"\",\"\"2024-12-20T13:25:28.503Z\"\",\"\"2025-01-11T09:33:17.834Z\"\",\"\"2025-03-18T00:31:42.920Z\"\",\"\"2025-01-24T03:16:18.796Z\"\",\"\"2025-03-03T06:42:18.192Z\"\",\"\"2025-01-07T08:45:49.247Z\"\",\"\"2025-02-20T10:59:45.958Z\"\",\"\"2025-01-07T16:28:40.902Z\"\",\"\"2025-01-30T03:33:01.820Z\"\",\"\"2025-01-27T07:08:04.726Z\"\",\"\"2025-02-21T14:23:36.027Z\"\",\"\"2025-01-29T19:11:59.290Z\"\",\"\"2025-01-09T22:42:28.841Z\"\",\"\"2025-03-17T08:06:21.230Z\"\",\"\"2025-03-11T05:36:41.746Z\"\",\"\"2024-12-28T19:10:00.073Z\"\",\"\"2025-03-04T19:50:14.231Z\"\",\"\"2025-03-16T17:49:33.050Z\"\",\"\"2024-12-27T17:43:16.249Z\"\",\"\"2025-03-16T01:31:02.845Z\"\",\"\"2025-03-02T21:13:09.503Z\"\",\"\"2025-03-07T23:17:18.820Z\"\",\"\"2025-03-10T11:07:52.839Z\"\",\"\"2025-02-05T04:29:27.366Z\"\",\"\"2025-03-01T18:40:25.211Z\"\",\"\"2025-02-21T06:42:52.554Z\"\",\"\"2025-02-07T16:03:35.090Z\"\",\"\"2025-01-29T00:43:08.554Z\"\",\"\"2025-02-20T10:59:45.959Z\"\",\"\"2025-02-17T00:44:48.124Z\"\",\"\"2025-01-28T02:12:48.307Z\"\",\"\"2025-02-25T21:36:04.792Z\"\",\"\"2025-01-20T08:35:01.727Z\"\",\"\"2025-03-15T00:10:03.565Z\"\",\"\"2025-01-06T17:09:48.018Z\"\",\"\"2024-12-17T01:03:43.136Z\"\",\"\"2025-02-12T06:40:09.120Z\"\",\"\"2025-03-12T06:47:48.395Z\"\",\"\"2025-03-16T23:34:25.006Z\"\",\"\"2025-02-03T16:52:21.888Z\"\",\"\"2025-02-22T06:38:10.693Z\"\",\"\"2025-02-21T22:27:05.404Z\"\",\"\"2024-12-18T21:17:02.975Z\"\",\"\"2025-01-23T01:51:27.816Z\"\",\"\"2024-12-28T02:16:48.529Z\"\",\"\"2024-12-25T17:45:42.141Z\"\",\"\"2025-02-20T01:21:40.927Z\"\",\"\"2024-12-26T00:45:36.088Z\"\",\"\"2025-03-08T16:46:03.161Z\"\",\"\"2024-12-27T00:47:39.545Z\"\",\"\"2025-03-11T15:24:17.119Z\"\",\"\"2024-12-23T11:50:44.820Z\"\",\"\"2025-03-09T14:07:43.183Z\"\",\"\"2025-01-12T05:10:39.300Z\"\",\"\"2024-12-28T09:28:53.224Z\"\",\"\"2025-03-13T13:37:11.132Z\"\",\"\"2025-03-02T13:20:01.985Z\"\",\"\"2024-12-17T23:21:07.076Z\"\",\"\"2025-03-09T17:23:09.331Z\"\",\"\"2025-01-29T00:43:08.553Z\"\",\"\"2025-01-22T06:39:19.748Z\"\",\"\"2025-03-12T15:04:53.519Z\"\",\"\"2025-03-10T01:32:29.214Z\"\",\"\"2025-03-10T20:15:34.210Z\"\",\"\"2024-12-24T20:15:04.533Z\"\",\"\"2024-12-29T03:58:31.017Z\"\",\"\"2025-03-13T06:03:03.618Z\"\",\"\"2025-03-02T04:29:51.715Z\"\",\"\"2025-01-15T20:32:47.452Z\"\",\"\"2025-02-17T09:24:14.038Z\"\",\"\"2024-12-19T19:00:18.870Z\"\",\"\"2024-12-25T02:21:30.112Z\"\",\"\"2024-12-20T04:26:57.407Z\"\",\"\"2025-03-15T08:42:57.019Z\"\",\"\"2025-03-05T20:50:47.708Z\"\",\"\"2024-12-22T11:08:39.492Z\"\",\"\"2025-02-13T01:48:57.180Z\"\",\"\"2025-03-02T04:29:51.716Z\"\",\"\"2025-02-24T05:48:47.218Z\"\",\"\"2025-03-07T14:21:21.538Z\"\",\"\"2025-02-18T03:24:54.504Z\"\",\"\"2025-02-17T23:52:39.243Z\"\",\"\"2025-01-14T10:59:54.845Z\"\",\"\"2025-01-01T02:56:31.221Z\"\",\"\"2025-02-08T13:08:05.977Z\"\",\"\"2025-01-02T16:40:26.092Z\"\",\"\"2024-12-26T00:45:36.089Z\"\",\"\"2025-02-09T05:58:41.290Z\"\",\"\"2024-12-27T17:43:16.250Z\"\",\"\"2025-02-19T18:10:15.415Z\"\",\"\"2025-03-17T14:00:27.478Z\"\",\"\"2025-01-07T01:11:06.947Z\"\",\"\"2025-02-28T22:59:16.423Z\"\",\"\"2025-02-05T13:41:14.512Z\"\",\"\"2024-12-20T04:26:57.408Z\"\",\"\"2025-03-14T07:27:24.138Z\"\",\"\"2025-02-17T23:52:39.244Z\"\",\"\"2025-03-15T16:22:35.049Z\"\",\"\"2025-02-19T18:10:15.414Z\"\",\"\"2024-12-17T01:03:43.137Z\"\",\"\"2025-01-31T07:43:21.194Z\"\",\"\"2025-02-10T17:08:20.243Z\"\",\"\"2024-12-29T20:10:13.997Z\"\",\"\"2025-02-06T15:56:48.103Z\"\",\"\"2024-12-25T09:50:16.988Z\"\",\"\"2025-02-08T04:51:30.201Z\"\",\"\"2025-02-09T22:34:13.688Z\"\",\"\"2025-03-07T23:17:18.819Z\"\",\"\"2025-01-12T14:56:54.627Z\"\",\"\"2025-02-07T08:21:57.269Z\"\",\"\"2025-03-03T16:55:14.452Z\"\",\"\"2025-03-16T17:49:33.051Z\"\",\"\"2025-02-06T07:15:28.307Z\"\",\"\"2025-01-21T13:02:17.190Z\"\",\"\"2025-01-19T10:43:25.751Z\"\",\"\"2025-03-12T23:03:58.416Z\"\",\"\"2025-01-27T16:25:32.214Z\"\",\"\"2025-01-23T18:18:16.771Z\"\",\"\"2025-03-08T07:09:16.093Z\"\",\"\"2024-12-25T02:21:30.111Z\"\",\"\"2025-02-09T22:34:13.687Z\"\",\"\"2024-12-31T07:30:12.223Z\"\",\"\"2025-01-29T10:23:54.792Z\"\",\"\"2025-01-24T13:28:59.447Z\"\",\"\"2025-03-04T13:10:30.572Z\"\",\"\"2025-03-01T09:21:03.677Z\"\",\"\"2025-01-13T18:52:50.657Z\"\",\"\"2025-02-12T17:32:03.796Z\"\",\"\"2025-01-11T01:04:49.686Z\"\",\"\"2024-12-31T07:30:12.224Z\"\",\"\"2025-03-01T09:21:03.678Z\"\",\"\"2025-02-20T20:10:46.647Z\"\",\"\"2025-01-28T13:25:58.329Z\"\",\"\"2024-12-31T18:48:40.536Z\"\",\"\"2025-02-11T03:03:09.557Z\"\",\"\"2024-12-21T14:32:49.174Z\"\",\"\"2025-02-24T23:50:47.192Z\"\",\"\"2025-02-18T23:43:08.762Z\"\",\"\"2025-01-22T15:44:24.439Z\"\",\"\"2025-01-18T07:07:12.942Z\"\",\"\"2025-03-07T04:40:27.076Z\"\",\"\"2025-03-13T22:34:59.090Z\"\",\"\"2025-01-12T14:56:54.626Z\"\",\"\"2025-01-01T19:00:06.188Z\"\",\"\"2024-12-24T09:43:26.813Z\"\",\"\"2025-01-14T20:36:09.030Z\"\",\"\"2024-12-24T03:29:36.379Z\"\",\"\"2025-01-30T14:06:59.552Z\"\",\"\"2025-02-08T19:46:33.673Z\"\",\"\"2025-01-03T01:53:16.372Z\"\",\"\"2025-02-18T13:56:34.744Z\"\",\"\"2024-12-21T00:39:14.536Z\"\",\"\"2025-03-09T00:54:59.668Z\"\",\"\"2025-02-23T11:38:32.516Z\"\",\"\"2024-12-23T04:28:54.031Z\"\",\"\"2025-01-18T16:35:10.828Z\"\",\"\"2025-01-21T04:21:12.131Z\"\"]}]\",,,\"Concrete\",\"Outdoor Grill,Balcony,Private Entrance,Courtyard\",\"[{\"\"key\"\":\"\"Private Pool Desc\"\",\"\"value\"\":[\"\"Outdoor Pool\"\",\"\"Pool/Spa Combo\"\",\"\"Heated\"\",\"\"Private\"\",\"\"In Ground\"\"]},{\"\"key\"\":\"\"Porch\"\",\"\"value\"\":[\"\"Roof Top Deck/Patio\"\"]},{\"\"key\"\":\"\"Community Features\"\",\"\"value\"\":[\"\"Common Elevator\"\",\"\"Sauna\"\",\"\"Fitness Center\"\",\"\"Pool\"\",\"\"Sidewalks\"\"]},{\"\"key\"\":\"\"Living\"\",\"\"value\"\":[\"\"1st\"\",\"\"16 4.88 x 164.88(m)\"\"]},{\"\"key\"\":\"\"Dwelling Type\"\",\"\"value\"\":[\"\"Apartment\"\",\"\"Hi Rise\"\"]},{\"\"key\"\":\"\"Number Of Living Area\"\",\"\"value\"\":[\"\"1\"\"]},{\"\"key\"\":\"\"Furnished\"\",\"\"value\"\":[\"\"Cats OK\"\",\"\"Call\"\",\"\"Number Limit\"\",\"\"Dogs OK\"\",\"\"Yes\"\",\"\"Size Limit\"\"]},{\"\"key\"\":\"\"Interior\"\",\"\"value\"\":[\"\"High Speed Internet Available\"\",\"\"Eat-in Kitchen\"\",\"\"Open Floorplan\"\",\"\"Elevator\"\",\"\"Cable TV Available\"\",\"\"Natural Woodwork\"\",\"\"Decorative Lighting\"\",\"\"Flat Screen Wiring\"\",\"\"Kitchen Island\"\",\"\"Walk-In Closet(s)\"\"]},{\"\"key\"\":\"\"Subdivision\"\",\"\"value\"\":[\"\"SMAA\"\"]},{\"\"key\"\":\"\"Listing Status\"\",\"\"value\"\":[\"\"For Rent\"\"]},{\"\"key\"\":\"\"Utility\"\",\"\"value\"\":[\"\"City Water\"\",\"\"City Sewer\"\"]},{\"\"key\"\":\"\"Private Pool\"\",\"\"value\"\":[\"\"Yes\"\"]},{\"\"key\"\":\"\"Dining\"\",\"\"value\"\":[\"\"1st\"\",\"\"13 3.96 x 133.96(m)\"\"]},{\"\"key\"\":\"\"Security System\"\",\"\"value\"\":[\"\"Key Card Entry\"\",\"\"Fire Alarm\"\",\"\"Carbon Monoxide Detector(s)\"\",\"\"Fire Sprinkler System\"\",\"\"Smoke Detector(s)\"\"]}]\",\"[{\"\"amountMax\"\":30.0,\"\"amountMin\"\":30.0,\"\"currency\"\":\"\"USD\"\",\"\"dateSeen\"\":[\"\"2025-01-31T07:43:21.245Z\"\",\"\"2025-02-22T06:38:10.738Z\"\",\"\"2025-01-12T14:56:54.672Z\"\",\"\"2025-02-24T05:48:47.297Z\"\",\"\"2025-01-29T19:11:59.345Z\"\",\"\"2025-01-23T18:18:16.823Z\"\",\"\"2025-03-16T01:31:02.922Z\"\",\"\"2025-01-14T20:36:09.084Z\"\",\"\"2025-03-17T08:06:21.307Z\"\",\"\"2025-02-20T01:21:40.973Z\"\",\"\"2024-12-29T03:58:31.085Z\"\",\"\"2025-02-22T17:01:15.054Z\"\",\"\"2024-12-17T01:03:43.183Z\"\",\"\"2025-02-17T00:44:48.172Z\"\",\"\"2025-02-10T07:45:59.048Z\"\",\"\"2025-03-08T16:46:03.237Z\"\",\"\"2025-02-19T18:10:15.467Z\"\",\"\"2025-02-19T09:39:41.810Z\"\",\"\"2025-01-19T01:58:37.005Z\"\",\"\"2024-12-24T20:15:04.586Z\"\",\"\"2024-12-17T23:21:07.128Z\"\",\"\"2025-01-20T18:51:40.459Z\"\",\"\"2025-03-13T06:03:03.697Z\"\",\"\"2025-03-01T18:40:25.266Z\"\",\"\"2025-01-22T06:39:19.798Z\"\",\"\"2025-01-24T13:28:59.495Z\"\",\"\"2025-01-19T22:54:27.964Z\"\",\"\"2025-01-21T13:02:17.234Z\"\",\"\"2025-01-13T18:52:50.707Z\"\",\"\"2025-02-09T05:58:41.408Z\"\",\"\"2025-03-15T16:22:35.095Z\"\",\"\"2025-02-18T23:43:08.807Z\"\",\"\"2025-03-07T04:40:27.125Z\"\",\"\"2025-01-11T01:04:49.750Z\"\",\"\"2025-01-02T03:00:08.247Z\"\",\"\"2025-02-12T17:32:03.850Z\"\",\"\"2025-02-07T08:21:57.331Z\"\",\"\"2025-03-11T05:36:41.790Z\"\",\"\"2025-01-07T08:45:49.327Z\"\",\"\"2025-03-04T05:14:48.668Z\"\",\"\"2025-02-28T22:59:16.472Z\"\",\"\"2025-01-12T05:10:39.345Z\"\",\"\"2024-12-27T17:43:16.304Z\"\",\"\"2025-01-07T01:11:07.003Z\"\",\"\"2025-03-02T04:29:51.802Z\"\",\"\"2025-02-23T02:02:48.031Z\"\",\"\"2024-12-28T09:28:53.279Z\"\",\"\"2025-03-18T00:31:42.995Z\"\",\"\"2025-03-16T10:00:44.282Z\"\",\"\"2025-03-07T23:17:18.874Z\"\",\"\"2025-03-14T14:38:13.691Z\"\",\"\"2025-03-17T14:00:27.524Z\"\",\"\"2025-01-27T07:08:04.777Z\"\",\"\"2025-03-10T20:15:34.271Z\"\",\"\"2025-02-06T15:56:48.154Z\"\",\"\"2024-12-23T11:50:44.921Z\"\",\"\"2025-01-07T16:28:40.937Z\"\",\"\"2024-12-29T20:10:14.044Z\"\",\"\"2025-02-01T12:55:14.333Z\"\",\"\"2025-01-30T03:33:01.867Z\"\",\"\"2025-01-28T13:25:58.420Z\"\",\"\"2025-03-15T08:42:57.065Z\"\",\"\"2025-03-06T04:29:12.162Z\"\",\"\"2024-12-21T00:39:14.584Z\"\",\"\"2025-03-09T14:07:43.243Z\"\",\"\"2025-01-29T00:43:08.609Z\"\",\"\"2025-02-11T13:16:44.645Z\"\",\"\"2025-03-02T21:13:09.550Z\"\",\"\"2025-02-17T23:52:39.297Z\"\",\"\"2025-01-24T03:16:18.837Z\"\",\"\"2025-03-10T11:07:52.893Z\"\",\"\"2025-02-24T14:13:19.431Z\"\",\"\"2025-02-13T01:48:57.239Z\"\",\"\"2025-01-13T09:49:44.421Z\"\",\"\"2025-03-04T19:50:14.262Z\"\",\"\"2025-03-12T15:04:53.566Z\"\",\"\"2025-01-06T17:09:48.072Z\"\",\"\"2025-03-10T01:32:29.262Z\"\",\"\"2025-02-17T09:24:14.084Z\"\",\"\"2025-03-05T04:46:48.777Z\"\",\"\"2024-12-24T03:29:36.418Z\"\",\"\"2025-02-08T19:46:33.763Z\"\",\"\"2025-03-05T20:50:47.799Z\"\",\"\"2025-02-23T20:14:13.859Z\"\",\"\"2025-01-21T04:21:12.187Z\"\",\"\"2025-02-05T21:29:34.391Z\"\",\"\"2025-01-12T23:56:30.297Z\"\",\"\"2025-02-09T13:37:38.099Z\"\",\"\"2024-12-27T07:36:16.339Z\"\",\"\"2025-02-21T14:23:36.083Z\"\",\"\"2025-02-18T03:24:54.549Z\"\",\"\"2024-12-20T13:25:28.556Z\"\",\"\"2025-02-25T21:36:04.846Z\"\",\"\"2025-01-29T10:23:54.817Z\"\",\"\"2025-01-01T02:56:31.280Z\"\",\"\"2025-01-19T10:43:25.798Z\"\",\"\"2025-03-09T09:45:18.138Z\"\",\"\"2025-02-05T13:41:14.572Z\"\",\"\"2025-03-09T00:54:59.734Z\"\",\"\"2025-01-01T10:41:48.509Z\"\",\"\"2025-03-12T23:03:58.464Z\"\",\"\"2025-03-09T17:23:09.384Z\"\",\"\"2025-02-03T16:52:21.958Z\"\",\"\"2024-12-27T00:47:39.594Z\"\",\"\"2025-01-23T09:07:12.252Z\"\",\"\"2025-02-07T16:03:35.143Z\"\",\"\"2025-01-02T16:40:26.139Z\"\",\"\"2025-02-06T07:15:28.361Z\"\",\"\"2025-03-15T00:10:03.610Z\"\",\"\"2025-01-20T08:35:01.778Z\"\",\"\"2024-12-31T18:48:40.588Z\"\",\"\"2025-03-07T14:21:21.603Z\"\",\"\"2025-03-01T09:21:03.723Z\"\",\"\"2025-03-11T15:24:17.166Z\"\",\"\"2025-03-12T06:47:48.448Z\"\",\"\"2025-02-05T04:29:27.419Z\"\",\"\"2025-01-15T20:32:47.512Z\"\",\"\"2025-01-11T09:33:17.880Z\"\",\"\"2025-02-08T04:51:30.246Z\"\",\"\"2024-12-18T21:17:03.031Z\"\",\"\"2025-01-11T19:38:34.900Z\"\",\"\"2024-12-22T20:17:59.254Z\"\",\"\"2025-01-17T21:22:43.156Z\"\",\"\"2025-02-09T22:34:13.766Z\"\",\"\"2025-03-14T07:27:24.215Z\"\",\"\"2025-01-22T15:44:24.512Z\"\",\"\"2024-12-25T02:21:30.173Z\"\",\"\"2024-12-23T19:54:01.677Z\"\",\"\"2025-02-18T13:56:34.812Z\"\",\"\"2024-12-24T09:43:26.860Z\"\",\"\"2025-03-03T16:55:14.497Z\"\",\"\"2024-12-28T02:16:48.585Z\"\",\"\"2024-12-21T14:32:49.220Z\"\",\"\"2025-03-18T07:16:03.004Z\"\",\"\"2025-01-27T16:25:32.275Z\"\",\"\"2024-12-20T04:26:57.460Z\"\",\"\"2025-03-16T17:49:33.096Z\"\",\"\"2025-01-01T19:00:06.221Z\"\",\"\"2025-01-14T10:59:54.870Z\"\",\"\"2025-02-10T17:08:20.320Z\"\",\"\"2025-01-18T16:35:10.878Z\"\",\"\"2025-02-21T22:27:05.452Z\"\",\"\"2025-03-13T13:37:11.179Z\"\",\"\"2025-01-30T23:25:55.073Z\"\",\"\"2025-02-08T13:08:06.025Z\"\",\"\"2024-12-19T19:00:18.917Z\"\",\"\"2025-02-23T11:38:32.561Z\"\",\"\"2025-02-07T00:01:38.307Z\"\",\"\"2025-01-09T22:42:28.896Z\"\",\"\"2024-12-26T16:42:58.313Z\"\",\"\"2025-01-03T11:48:22.627Z\"\",\"\"2025-02-25T10:45:12.770Z\"\",\"\"2024-12-25T09:50:17.039Z\"\",\"\"2024-12-30T23:15:54.776Z\"\",\"\"2025-03-03T06:42:18.237Z\"\",\"\"2025-03-04T13:10:30.647Z\"\",\"\"2025-02-20T10:59:46.027Z\"\",\"\"2025-01-03T01:53:16.425Z\"\",\"\"2024-12-25T17:45:42.194Z\"\",\"\"2025-01-23T01:51:27.862Z\"\",\"\"2025-03-16T23:34:25.051Z\"\",\"\"2025-02-11T03:03:09.604Z\"\",\"\"2024-12-22T11:08:39.539Z\"\",\"\"2024-12-31T07:30:12.270Z\"\",\"\"2025-03-13T22:34:59.138Z\"\",\"\"2025-01-28T02:12:48.361Z\"\",\"\"2025-02-12T06:40:09.166Z\"\",\"\"2025-02-04T18:55:31.986Z\"\",\"\"2024-12-26T00:45:36.156Z\"\",\"\"2025-01-18T07:07:12.988Z\"\",\"\"2025-01-14T03:20:50.284Z\"\",\"\"2025-02-20T20:10:46.692Z\"\",\"\"2025-01-30T14:06:59.577Z\"\",\"\"2025-02-21T06:42:52.595Z\"\",\"\"2025-02-24T23:50:47.236Z\"\",\"\"2024-12-23T04:28:54.079Z\"\",\"\"2025-03-02T13:20:02.033Z\"\",\"\"2024-12-28T19:10:00.122Z\"\",\"\"2025-03-08T07:09:16.138Z\"\",\"\"2025-01-21T21:24:07.546Z\"\"],\"\"type\"\":\"\"Pet Fee\"\"},{\"\"amountMax\"\":100.0,\"\"amountMin\"\":100.0,\"\"currency\"\":\"\"USD\"\",\"\"dateSeen\"\":[\"\"2025-03-04T13:10:30.646Z\"\",\"\"2025-01-31T07:43:21.245Z\"\",\"\"2025-02-22T06:38:10.738Z\"\",\"\"2025-03-03T06:42:18.236Z\"\",\"\"2025-01-12T14:56:54.672Z\"\",\"\"2025-01-29T19:11:59.345Z\"\",\"\"2025-01-23T18:18:16.823Z\"\",\"\"2025-01-14T20:36:09.084Z\"\",\"\"2025-01-21T13:02:17.233Z\"\",\"\"2025-02-10T07:45:59.048Z\"\",\"\"2025-03-15T16:22:35.094Z\"\",\"\"2025-03-08T16:46:03.237Z\"\",\"\"2025-01-02T03:00:08.246Z\"\",\"\"2025-03-06T04:29:12.160Z\"\",\"\"2025-02-19T18:10:15.467Z\"\",\"\"2025-01-19T01:58:37.005Z\"\",\"\"2024-12-24T20:15:04.586Z\"\",\"\"2024-12-27T17:43:16.303Z\"\",\"\"2025-03-17T08:06:21.306Z\"\",\"\"2025-03-16T01:31:02.921Z\"\",\"\"2025-01-20T18:51:40.459Z\"\",\"\"2025-03-13T06:03:03.697Z\"\",\"\"2025-02-20T01:21:40.972Z\"\",\"\"2025-01-06T17:09:48.070Z\"\",\"\"2024-12-21T14:32:49.219Z\"\",\"\"2024-12-29T03:58:31.084Z\"\",\"\"2025-01-24T13:28:59.495Z\"\",\"\"2025-01-19T22:54:27.964Z\"\",\"\"2025-01-11T19:38:34.899Z\"\",\"\"2025-02-17T00:44:48.171Z\"\",\"\"2025-02-18T23:43:08.807Z\"\",\"\"2025-03-07T04:40:27.125Z\"\",\"\"2024-12-26T16:42:58.312Z\"\",\"\"2025-02-12T17:32:03.850Z\"\",\"\"2025-02-07T08:21:57.331Z\"\",\"\"2025-03-11T05:36:41.790Z\"\",\"\"2024-12-31T07:30:12.269Z\"\",\"\"2025-02-28T22:59:16.472Z\"\",\"\"2025-03-12T06:47:48.447Z\"\",\"\"2025-03-10T11:07:52.892Z\"\",\"\"2025-01-07T01:11:07.003Z\"\",\"\"2025-03-02T04:29:51.802Z\"\",\"\"2025-02-23T02:02:48.031Z\"\",\"\"2025-01-15T20:32:47.511Z\"\",\"\"2024-12-28T09:28:53.279Z\"\",\"\"2025-03-18T00:31:42.995Z\"\",\"\"2024-12-17T23:21:07.127Z\"\",\"\"2025-03-16T10:00:44.282Z\"\",\"\"2025-03-07T23:17:18.874Z\"\",\"\"2025-03-14T14:38:13.691Z\"\",\"\"2025-03-17T14:00:27.524Z\"\",\"\"2025-01-27T07:08:04.777Z\"\",\"\"2025-03-10T20:15:34.271Z\"\",\"\"2025-02-06T15:56:48.154Z\"\",\"\"2025-01-22T06:39:19.797Z\"\",\"\"2024-12-23T11:50:44.921Z\"\",\"\"2025-03-01T18:40:25.265Z\"\",\"\"2025-01-07T16:28:40.937Z\"\",\"\"2025-02-01T12:55:14.333Z\"\",\"\"2025-01-30T03:33:01.867Z\"\",\"\"2025-01-28T13:25:58.420Z\"\",\"\"2025-03-15T08:42:57.065Z\"\",\"\"2025-02-09T05:58:41.407Z\"\",\"\"2024-12-21T00:39:14.584Z\"\",\"\"2025-03-09T14:07:43.243Z\"\",\"\"2025-01-29T00:43:08.609Z\"\",\"\"2025-02-11T13:16:44.645Z\"\",\"\"2025-02-17T23:52:39.297Z\"\",\"\"2024-12-27T07:36:16.338Z\"\",\"\"2025-03-04T05:14:48.667Z\"\",\"\"2025-01-24T03:16:18.837Z\"\",\"\"2024-12-20T13:25:28.555Z\"\",\"\"2025-01-12T05:10:39.344Z\"\",\"\"2025-02-24T14:13:19.431Z\"\",\"\"2025-02-13T01:48:57.239Z\"\",\"\"2025-02-22T17:01:15.053Z\"\",\"\"2025-01-13T09:49:44.421Z\"\",\"\"2025-03-04T19:50:14.262Z\"\",\"\"2025-02-10T17:08:20.296Z\"\",\"\"2025-03-10T01:32:29.262Z\"\",\"\"2024-12-17T01:03:43.182Z\"\",\"\"2025-02-17T09:24:14.084Z\"\",\"\"2025-03-05T04:46:48.777Z\"\",\"\"2024-12-24T03:29:36.418Z\"\",\"\"2025-02-08T19:46:33.763Z\"\",\"\"2025-03-05T20:50:47.799Z\"\",\"\"2025-02-23T20:14:13.859Z\"\",\"\"2024-12-23T19:54:01.675Z\"\",\"\"2025-01-21T04:21:12.187Z\"\",\"\"2025-02-19T09:39:41.809Z\"\",\"\"2025-02-05T21:29:34.391Z\"\",\"\"2025-01-12T23:56:30.297Z\"\",\"\"2025-02-18T13:56:34.789Z\"\",\"\"2025-03-01T09:21:03.722Z\"\",\"\"2025-02-09T13:37:38.099Z\"\",\"\"2025-02-21T14:23:36.083Z\"\",\"\"2025-02-18T03:24:54.549Z\"\",\"\"2025-01-29T10:23:54.817Z\"\",\"\"2024-12-26T00:45:36.155Z\"\",\"\"2025-03-12T15:04:53.565Z\"\",\"\"2025-01-19T10:43:25.798Z\"\",\"\"2025-02-05T13:41:14.572Z\"\",\"\"2025-03-09T00:54:59.734Z\"\",\"\"2025-02-03T16:52:21.958Z\"\",\"\"2025-01-23T09:07:12.252Z\"\",\"\"2024-12-22T20:17:59.253Z\"\",\"\"2025-02-07T16:03:35.143Z\"\",\"\"2025-02-06T07:15:28.361Z\"\",\"\"2025-03-15T00:10:03.610Z\"\",\"\"2025-01-20T08:35:01.778Z\"\",\"\"2025-03-07T14:21:21.603Z\"\",\"\"2024-12-28T02:16:48.584Z\"\",\"\"2025-03-11T15:24:17.166Z\"\",\"\"2025-02-20T10:59:46.009Z\"\",\"\"2025-02-05T04:29:27.419Z\"\",\"\"2025-03-13T13:37:11.178Z\"\",\"\"2025-01-07T08:45:49.326Z\"\",\"\"2025-03-09T09:45:18.137Z\"\",\"\"2025-01-11T09:33:17.880Z\"\",\"\"2025-01-01T10:41:48.508Z\"\",\"\"2025-02-08T04:51:30.246Z\"\",\"\"2024-12-29T20:10:14.043Z\"\",\"\"2024-12-27T00:47:39.593Z\"\",\"\"2025-01-17T21:22:43.156Z\"\",\"\"2025-02-07T00:01:38.306Z\"\",\"\"2025-01-02T16:40:26.138Z\"\",\"\"2025-03-14T07:27:24.215Z\"\",\"\"2025-01-22T15:44:24.512Z\"\",\"\"2024-12-25T02:21:30.173Z\"\",\"\"2025-01-03T11:48:22.626Z\"\",\"\"2024-12-24T09:43:26.860Z\"\",\"\"2025-03-03T16:55:14.497Z\"\",\"\"2024-12-31T18:48:40.587Z\"\",\"\"2025-02-24T05:48:47.263Z\"\",\"\"2025-03-18T07:16:03.004Z\"\",\"\"2024-12-20T04:26:57.460Z\"\",\"\"2025-03-16T23:34:25.050Z\"\",\"\"2025-03-16T17:49:33.096Z\"\",\"\"2025-01-01T19:00:06.221Z\"\",\"\"2025-03-02T21:13:09.549Z\"\",\"\"2025-01-14T10:59:54.870Z\"\",\"\"2025-01-18T16:35:10.878Z\"\",\"\"2024-12-25T17:45:42.193Z\"\",\"\"2025-02-21T22:27:05.452Z\"\",\"\"2025-01-30T23:25:55.073Z\"\",\"\"2024-12-18T21:17:03.030Z\"\",\"\"2024-12-19T19:00:18.917Z\"\",\"\"2025-03-02T13:20:02.032Z\"\",\"\"2025-02-23T11:38:32.561Z\"\",\"\"2025-02-09T22:34:13.765Z\"\",\"\"2025-01-09T22:42:28.896Z\"\",\"\"2025-02-25T10:45:12.770Z\"\",\"\"2024-12-25T09:50:17.039Z\"\",\"\"2024-12-30T23:15:54.776Z\"\",\"\"2025-01-03T01:53:16.425Z\"\",\"\"2025-01-27T16:25:32.274Z\"\",\"\"2025-01-23T01:51:27.862Z\"\",\"\"2025-01-01T02:56:31.279Z\"\",\"\"2025-02-11T03:03:09.604Z\"\",\"\"2024-12-22T11:08:39.539Z\"\",\"\"2025-02-25T21:36:04.845Z\"\",\"\"2025-01-11T01:04:49.749Z\"\",\"\"2025-03-13T22:34:59.138Z\"\",\"\"2025-01-28T02:12:48.361Z\"\",\"\"2025-03-09T17:23:09.382Z\"\",\"\"2025-02-12T06:40:09.166Z\"\",\"\"2025-02-04T18:55:31.986Z\"\",\"\"2025-01-13T18:52:50.705Z\"\",\"\"2025-03-12T23:03:58.463Z\"\",\"\"2025-01-18T07:07:12.988Z\"\",\"\"2025-01-14T03:20:50.284Z\"\",\"\"2025-02-20T20:10:46.692Z\"\",\"\"2025-02-08T13:08:06.024Z\"\",\"\"2025-01-30T14:06:59.577Z\"\",\"\"2025-02-21T06:42:52.595Z\"\",\"\"2025-02-24T23:50:47.236Z\"\",\"\"2024-12-23T04:28:54.079Z\"\",\"\"2024-12-28T19:10:00.122Z\"\",\"\"2025-03-08T07:09:16.138Z\"\",\"\"2025-01-21T21:24:07.546Z\"\"],\"\"type\"\":\"\"Application Fee\"\"}]\",,2022.0,\"sq ft\",\"POINT (-96.810254000 32.861361000)\",,\"Central,Central Air\",,,true,,\"32.861361000\",\"[{\"\"dateSeen\"\":\"\"2025-03-18T07:16:00.000Z\"\",\"\"value\"\":\"\"1 Year Plus, Six Month, Yearly\"\"}]\",,,,\"-96.810254000\",7.51,\"acs\",,\"Mills Viehman\",\"Allie Beth Allman & Assoc.\",,\"4328891793\",\"2025-01-28T13:25:58.319Z\",,,,,,16100.0,\"Per Month\",\"www.har.com\",,\"2024-10-24T00:00:00.000Z\",\"2024-12-20T04:26:57.666Z\",,,,,,\"Rental\",\"2024-12-17T01:03:43.431Z\",\"2024-12-18T21:17:03.316Z\",,,,,,,,,,\"NTREIS-20760273\",,,,2.5,2,1,2,,,,,,\"Garage\",\"Attached Garage\",,\"[{\"\"dateSeen\"\":\"\"2025-01-28T13:25:58.550Z\"\",\"\"name\"\":\"\"Mills Viehman\"\",\"\"title\"\":\"\"Agent\"\"}]\",,,,\"75225\",\"There are too many prices objects to show. Please use a view that flattens this field to see this data.\",,\"Rental Unit\",\"TX\",,,,\"SMAA\",\"[{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2025-03-18T07:16:03.235Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-18T21:17:03.316Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-18T07:16:03.235Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2025-03-17T14:00:27.746Z\"\",\"\"2025-03-18T00:31:43.219Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-17T14:00:27.746Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-18T00:31:43.219Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2025-02-09T22:34:13.975Z\"\",\"\"2025-02-09T13:37:38.339Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-09T13:37:38.339Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-09T22:34:13.975Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2025-02-12T06:40:09.393Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-12T06:40:09.393Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-12T06:40:09.393Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2025-03-17T08:06:21.530Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-17T08:06:21.530Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-17T08:06:21.530Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2025-01-22T15:44:24.716Z\"\",\"\"2025-01-23T01:51:28.095Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-22T15:44:24.716Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-23T01:51:28.095Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2025-03-16T01:31:03.127Z\"\",\"\"2025-03-16T10:00:44.539Z\"\"],\"\"firstDateSeen\"\":\"\"2025-03-16T01:31:03.127Z\"\",\"\"lastDateSeen\"\":\"\"2025-03-16T10:00:44.539Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2024-12-20T04:26:57.734Z\"\",\"\"2024-12-20T13:25:28.803Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-20T04:26:57.734Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-20T13:25:28.803Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2024-12-19T19:00:19.146Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-19T19:00:19.146Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-19T19:00:19.146Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2024-12-31T07:30:12.505Z\"\",\"\"2024-12-30T23:15:55.070Z\"\"],\"\"firstDateSeen\"\":\"\"2024-12-30T23:15:55.070Z\"\",\"\"lastDateSeen\"\":\"\"2024-12-31T07:30:12.505Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2025-01-18T07:07:13.214Z\"\",\"\"2025-01-17T21:22:43.389Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-17T21:22:43.389Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-18T07:07:13.214Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2025-02-12T17:32:04.114Z\"\"],\"\"firstDateSeen\"\":\"\"2025-02-12T17:32:04.114Z\"\",\"\"lastDateSeen\"\":\"\"2025-02-12T17:32:04.114Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2025-01-14T03:20:50.526Z\"\",\"\"2025-01-14T10:59:55.021Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-14T03:20:50.526Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-14T10:59:55.021Z\"\",\"\"type\"\":\"\"Rental\"\"},{\"\"date\"\":\"\"2024-12-17T01:03:43.431Z\"\",\"\"dateSeen\"\":[\"\"2025-01-07T16:28:41.191Z\"\"],\"\"firstDateSeen\"\":\"\"2025-01-07T16:28:41.191Z\"\",\"\"lastDateSeen\"\":\"\"2025-01-07T16:28:41.191Z\"\",\"\"type\"\":\"\"Rental\"\"}]\",,,,,,,,2024,"
]
}
Let's break down each of the parameters we sent in our request:
API Call Component | Description |
---|---|
"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": 1 | num_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 Field | Description |
---|---|
"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 business returned with multiple fields and the values associated with that business. The response from the API will show all fields that have a value. It won't show any fields that don't have a value.
Each business 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:
Format
Note that you have the commented line to change between CSV and JSON format. You may change this by comment out the format you do not want.
<?php
$url = 'https://api.datafiniti.co/v4/properties/search';
$apiToken = 'AAAXXXXXXXXXXXX';
$requestBody = [
'query' => 'country:US AND propertyType"Single Family Dwelling"',
//'format' => 'CSV',
'format' => 'JSON',
'num_records' => 1,
'download' => false
];
$options = [
'http' => [
'header' => "Authorization: Bearer $apiToken\r\nContent-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($requestBody),
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
if ($response === false) {
echo "Error fetching API data.";
} else {
var_dump(json_decode($response, true));
}
?>
This code is different in a couple ways:
- It adds
AND propertyType:"Single Family Dwelling"
to narrow down results to just US hotels. - It changes
records=1
torecords=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):
<?php
$url = 'https://api.datafiniti.co/v4/properties/search';
$apiToken = 'AAAXXXXXXXXXXXX';
$requestBody = [
'query' => 'country:US AND propertyType:"Single Family Dwelling"',
'format' => 'CSV',
//'format' => 'JSON',
'num_records' =>50,
'download' => true
];
$options = [
'http' => [
'header' => "Authorization: Bearer $apiToken\r\nContent-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($requestBody),
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
if ($response === false) {
echo "Error fetching API data.";
} else {
var_dump(json_decode($response, true));
}
?>
A couple things to pay attention to in the above code:
- We changed
num_records
from10
to50
. This will download the first 50 matching records. If we wanted to download all matching records, we would removenum_records
.num_records
will tell the API to default to all available records. - We changed
download
fromfalse
totrue
.
Num_records not specified
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. Checking your download status
You will be presented with a response JSON different from the previous download being false. Whenever your download is true, Datafiniti will provide a download ID in the response file along with your credits used and a status. Below is an example of the response of your property search API. You can gather the following fields from the response JSON:
status
- your status can be: completed, cancelled, queued, or runningnum_downloaded
- you show the amount of records download so farproperty_cost
- cost of credit for this download, will update once status = completedID
- most important to track your download.
{
"status": "queued",
"num_downloaded": 0,
"num_records_suppressed": 0,
"people_cost": 0,
"property_cost": 0,
"product_cost": 0,
"business_cost": 0,
"total_cost": 0,
"fields": [
{
"name": "absenteeOwner",
"flatten": false,
"sub_fields": [
{
"name": "absent"
},
{
"name": "firstDateSeen"
},
{
"name": "lastDateSeen"
}
]
},
{
"name": "address"
},
{
"name": "apiURLs",
"flatten": false
},
{
"name": "appliances",
"flatten": false
},
{
"name": "architecturalStyles",
"flatten": false
},
{
"name": "assessedValues",
"flatten": false,
"sub_fields": [
{
"name": "year"
},
{
"name": "totalAmount"
},
{
"name": "landAmount"
},
{
"name": "improvementsAmount"
}
]
},
{
"name": "brokers",
"flatten": false,
"sub_fields": [
{
"name": "agent"
},
{
"name": "company"
},
{
"name": "dateSeen"
},
{
"name": "emails"
},
{
"name": "licenseType"
},
{
"name": "licenseNumber"
},
{
"name": "phones"
},
{
"name": "role"
},
{
"name": "websites"
},
{
"name": "workEmail"
}
]
},
{
"name": "buildingName"
},
{
"name": "categories",
"flatten": false
},
{
"name": "cbsaName"
},
{
"name": "cbsaCode"
},
{
"name": "censusBlock"
},
{
"name": "censusBlockGroup"
},
{
"name": "censusTract"
},
{
"name": "city"
},
{
"name": "civilDivisionCode"
},
{
"name": "civilDivisionName"
},
{
"name": "companies",
"flatten": false,
"sub_fields": [
{
"name": "dateSeen"
},
{
"name": "startDate"
},
{
"name": "endDate"
},
{
"name": "equity"
},
{
"name": "equityPercent"
},
{
"name": "landline"
},
{
"name": "name"
},
{
"name": "title"
}
]
},
{
"name": "congressionalDistrictHouse"
},
{
"name": "country"
},
{
"name": "county"
},
{
"name": "trustDescription"
},
{
"name": "vacancy",
"flatten": false,
"sub_fields": [
{
"name": "vacant"
},
{
"name": "firstDateSeen"
},
{
"name": "lastDateSeen"
}
]
},
{
"name": "yearBuilt"
},
{
"name": "zoning"
}
],
"sort": true,
"auto_trace": false,
"only_traceable": false,
"format": "json",
"suppressed_fields": [],
"enriched_fields": [],
"query": "country:US AND propertyType:\"Single Family Dwelling\"",
"num_records": 50,
"data_type": "property",
"user": 1226609,
"results": [],
"date_started": "2025-01-23T19:52:25.044Z",
"date_updated": "2025-01-23T19:52:25.044Z",
"_id": 710516,
"is_suppression_job": false,
"is_enrichment_job": false,
"id": "710516"
}
You can track the status of your download via the following method using our GET https://api.datafiniti.co/v4/downloads/:id endpoint
Track your download via the API
The following code can be used to track your download ID:
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.datafiniti.co/v4/downloads/811043?api_key=<your_API_key>",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <your_API_key>",
"accept: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
The response of your code will provide you with the following JSON:
{
"status": "completed",
"num_downloaded": 50,
"num_records_suppressed": 0,
"people_cost": 0,
"property_cost": 50,
"product_cost": 0,
"business_cost": 0,
"total_cost": 50,
"sort": true,
"auto_trace": false,
"only_traceable": false,
"format": "csv",
"suppressed_fields": [],
"enriched_fields": [],
"_id": 710516,
"query": "country:US AND propertyType:\"Single Family Dwelling\""",
"num_records": 50,
"data_type": "property",
"user": 1226609,
"results": [
"https://datafiniti-downloads.s3.amazonaws.com/126609/811043_1.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250317T200355Z&X-Amz-SignedHeaders=host&X-Amz-Expires=604800&X-Amz-Credential=AKIAZSCI425AD5EKHVNH%2F20250317%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=4c14da1d1df9eb490a0ab7c329b6f60f87c87edda2fe3b1a3dc857ea6e639sdfas6dc"
],
"date_started": "2025-03-17T20:00:46.733Z",
"date_updated": "2025-03-17T20:03:55.926Z",
"is_suppression_job": false,
"is_enrichment_job": false,
"id": "811043"
}
Track your download via the portal
You can track the status of your Datafiniti download via the portal in the download page here.
For more information please read our Downloading Result Files.
You can match the ID from your API response to the download ID on the page here:
Track via our reference page
You can track the status of your Datafiniti download via the API reference page Get a Download. You can match the ID from your API response to the download ID on the page here:
Updated 7 days ago