Proximitii Documentation Last updated: 2026-06-26

Use this documentation to install, configure and customize Proximitii widgets, APIs, maps and AI-powered local insights across listing pages, neighborhood pages and real estate platforms.

Introduction

The following products from Proximitii were designed to be easy to use and fully customizable. Before you begin, make sure that you have obtained your public or private key(s) as they are required to authenticate any of the products listed in this document.

Products

Authentication

In order to use any of the Proximitii products, you will need a key. The keys will authenticate your access to the widgets or API. We have two different types of authentication, depending on which product is being called.

Public Key (Widget):

When using a widget, you’ll be asked for the URL of the website you want to put it on, and given a public key in return. Use this public key in your widget, and as long as it’s installed on the correct site, the key will work.

Private Key (API):

When using the API, a public key and a private key is required to authenticate the API. Send these together in your API calls. Do not expose the private key in code or on publicly viewable endpoints.

If you do not have a key, please contact info@proximitii.com.

Service Areas

These are the areas that we currently cover:

USA All 50 states and D.C.
Canada Full Coverage of all Provinces and Territories.

Local Lifestyle Widget

The Local Lifestyle Widget provides detailed information and scores on nearby points of interest from up to 12 categories.

Local Lifestyle Widget

Installation

Add the following embed code to your page or template. In order for the widget to render, you must add your own public key and you must pass the latitude and longitude.

<script src="https://widget-api.proximitii.com/proximitii-embed.js?v=2.0.2"></script>
<div id="prox-map"></div>
<script type="module">
window.onProximitiiLoad = () => {
let proximitiiMap = new Proximitii('prox-map')

//Make sure to put in your own public key!
proximitiiMap.setPublicKey("YOUR OWN KEY HERE")

proximitiiMap.setCenter(43.66068291135164, -79.34739798021833)

proximitiiMap.setOptions({
    primaryColor: '#607EB8',   
    titleSize: '22px',
    hideScores: false, 
    hideTitle: false, 
    hideRadius: false, 
    hideBackgroundImage: false, 
    markerIconColor: 'white',
    language: 'en',
    height: '500px',
    customOrderCategories: false,
    disableGestureHandling: false
})

proximitiiMap.setColors({
    scoreCircle: "primary",
    locationMarker: "primary",
})

proximitiiMap.render()
}
</script>

How to Install the Widget:


First, start by importing the Proximitii script.

<script src="https://widget-api.proximitii.com/proximitii-embed.js"></script>

And a div for the map to fill.

<div id="prox-map"></div>

Next, you can access the onProximitiiLoad function and pass in a callback, where you create a new instance of Proximitii.

<div id="prox-map"></div>
<script type="module">
window.onProximitiiLoad = () => {
    let proximitiiMap = new Proximitii('prox-map')

    //Make sure to put in your own public key!
    proximitiiMap.setPublicKey('KEY')

    proximitiiMap.setCenter(44.656834, -63.5982224)

    proximitiiMap.render()
}
</script>

You can also set and reset options, including the center, at any time, if you call render after. Various colors may also be changed.

proximitiiMap.setOptions({
        primaryColor: '#02a0e9', 
        title: 'Proximitii Score',
        hideScores: false, 
        hideTitle: false, 
        hideRadius: false, 
        hideBackgroundImage: false, 
        markerIconColor: 'white',
	language: 'en',
        height: '500px',
        sortCategoriesScore: false,
        gestureHandling: false
    })
    
proximitiiMap.setColors({
        scoreCircle: "#189CAD",
        locationMarker: "#537BBE",
        link: "#02a0e9",
        categoryScore: "primary",
        categoryScoreText: "#ffffff"
    })

Always be sure to call render AFTER setting or resetting any options.

Customization

There are many customization options. See below for how to customize the widget.


General Options:

Name Description Default Value Accepted Values Variable / Function
Latitude Sets the latitude of center N/A Decimal between -90 and 90 setCenter(latitude, longitude)
Longitude Sets the longitude of center N/A Decimal between -180 and 180 setCenter(latitude, longitude)
Custom Title Sets the title text Proximitii Score Any valid text setOptions({title})
Title Size Sets the CSS size for the title 24px Any valid CSS value setOptions({titleSize})
Height Sets the height for desktop 500px Any valid CSS value (min. height is 450px) setOptions({height})


Display Options:

Name Description Default Value Accepted Values Variable / Function
Hide Scores Hides the score circles for each category false true/false setOptions({hideScores})
Hide Title Hides the top text & the overall score false true/false setOptions({hideTitle})
Hide Radius Hides all the radius options false true/false setOptions({hideRadius})
Hide Background Hides the background image in the header false true/false setOptions({hideBackgroundImage})
Categories Specifies which categories to display N/A true/false setOptions({categories})
Custom Order Categories Orders categories based on input order false true/false setOptions({customCategoryOrder})
Disable Gesture Handling Enables scroll wheel zoom and map interaction false true/false setOptions({disableGestureHandling})
Select Language Sets the language to English or French en en/fr setOptions({language})


Color Options:

Name Description Default Value Accepted Values Variable / Function
Primary Brand Color Sets the color of the score bars, link hover color and location marker color #607EB8 null or hex color setOptions({primaryColor})
Score Bar Color Sets the color of the bars for the overall and category scores null null or hex color setColors({scoreCircle})
Location Marker Color Sets the color of the marker pins on the map null null or hex color setColors({locationMarker})
Marker Icon Color Sets the icon color of the marker pins white "white" or "black" setOptions({markerIconColor})
Category Circle Color Sets the color of the category circle null null or hex color setColors({categoryScore})
Category Score Color Sets the color of the score inside the category circle #FFFFFF null or hex color setColors({categoryScoreText})
Link Hover Color Sets the color of the category name hover null hex color setColors({link})


Tech Options:

Name Description Variable / Function
Public Key The public key provided to you setPublicKey(key)
Extreme Defer If page speeds are a concern, you can select this option, which will defer loading of the widget on your page until the first user interaction. This almost completely bypasses any page speed testers. To manually use this option, link to ‘https://widget-api.proximitii.com/proximitii-embed-defer.js’ instead of ‘https://widget-api.proximitii.com/proximitii-embed.js’
Version The version of the widget to load. Unless you have a very specialized implementation which requires a specific build, it’s recommended to stick with “latest”, which will auto update which version of the widget loads as new versions come out. To manually use this option, you can append the embed link with the version number, i.e. “https://widget-api.proximitii.com/1.1.1/proximitii-embed.js”

Categories

These are the categories that are available in the Local Lifestyle Widget.

Category Type Category Name Variable
Main Walkability walkability
Main Education education
Main Active Living activeLiving
Main Transit Access transitAccess
Sub Child Care childcare
Sub Coffee Shops coffee
Sub Elementary Schools elem
Sub Entertainment entertainment
Sub Fitness fitness
Sub Food & Drink food
Sub Groceries grocery
Sub Health & Safety health
Sub High Schools high
Sub Parks park
Sub Shops shop
Sub Transit transit

Local Lifestyle API

The Proximitii Local Lifestyle API (Application Programming Interface), allows you to connect directly to our servers to download data. It returns structured points of interest like parks, transit stops, schools, restaurants and cafés, groceries, fitness, entertainment, and more—so you can power listing pages, neighborhood pages, and search filters with fresh local context at scale.

Example Calls

node.js

const url = 'https://widget-api.proximitii.com/api/map/locations?lat=43.659251&long=-79.345218&dataType=all&radius=6400&limit=2&categories=coffee,park,elem';
const options = {
  method: 'GET',
  headers: {
    'public_key': '{public_key}',
    'private_key': '{private_key}'
  }
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));


PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => 'https://widget-api.proximitii.com/api/map/locations?lat=43.659251&long=-79.345218&dataType=all&radius=6400&limit=2&categories=coffee,park,elem',
  CURLOPT_HTTPHEADER => [
    'public_key: {public_key}',
    'private_key: {private_key}'
  ],
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;

Keys

In order to call the API successfully, you will need a public and private key. Make sure to store the keys safely and call the API on the backend so the keys are not exposed to the public.

Values

Name Description Default Value Accepted Values Variable
Latitude Sets the latitude of center N/A Decimal between -90 and 90 lat
Longitude Sets the longitude of center N/A Decimal between -180 and 180 long
Data Type Type of data to return all all, scores, locations, main_categories, sub_categories, overall_score dataType
Radius Sets maximum search radius (meters) 6400 1 - 20000 radius
Limit Sets the maximum number of results 12 1 - 25 limit
Categories Selects specific categories only N/A comma delimited (see table below) categories
Public Key Your public key N/A N/A public_key (Header)
Private Key Your private key N/A N/A private_key (Header)


Categories:

Main Categories Variable Text (Changes according to score)
Walkability walkability "Highly walkable with lots of daily essentials nearby."
Active Living activeLiving "Some wellness and outdoor options are within reach."
Education education "Limited education options nearby; most require travel."
Transit Access transitAccess "Several transit options are conveniently close by."

Sub Categories Variable
Child Care childcare
Coffee Shops coffee
Elementary Schools elem
Entertainment entertainment
Fitness fitness
Food & Drink food
Groceries grocery
Health & Safety health
High Schools high
Parks park
Shops shop
Transit transit

Sample Output

{
    "OverallScore": 94,
    "Data": {
        "Walkability": {
            "Category": "Walkability",
            "Score": 10,
            "Text": "Highly walkable with lots of daily essentials nearby."
        },
        "Active Living": {
            "Category": "Active Living",
            "Score": 10,
            "Text": "Great access to wellness, fitness, and outdoor spaces."
        },
        "Education": {
            "Category": "Education",
            "Score": 9,
            "Text": "Excellent education options close by and easy to reach."
        },
        "Transit Access": {
            "Category": "Transit Access",
            "Score": 9,
            "Text": "Excellent transit access with plenty of options nearby."
        },
        "coffee": {
            "Category": "coffee",
            "Score": 10,
            "Count": 5,
            "Locations": [
                {
                    "AmenityID": "29295",
                    "Name": "Starbucks",
                    "Address": " ",
                    "Category": "coffee",
                    "Dist": 245,
                    "Tag": "Coffee Shop",
                    "District": null,
                    "WalkingTime": 4,
                    "Coord": {
                        "Lat": 43.6603708,
                        "Long": -79.3425969
                    }
                },
                {
                    "AmenityID": "14002",
                    "Name": "Purple Penguin Cafe",
                    "Address": "889 Queen Street East",
                    "Category": "coffee",
                    "Dist": 271,
                    "Tag": "Coffee Shop",
                    "District": null,
                    "WalkingTime": 4,
                    "Coord": {
                        "Lat": 43.6604252,
                        "Long": -79.3422613
                    }
                },
                {
                    "AmenityID": "26668",
                    "Name": "Starbucks",
                    "Address": " ",
                    "Category": "coffee",
                    "Dist": 289,
                    "Tag": "Coffee Shop",
                    "District": null,
                    "WalkingTime": 5,
                    "Coord": {
                        "Lat": 43.6607025,
                        "Long": -79.3422363
                    }
                },
                {
                    "AmenityID": "25207",
                    "Name": "The Dock",
                    "Address": "932 Queen Street East",
                    "Category": "coffee",
                    "Dist": 346,
                    "Tag": "Coffee Shop",
                    "District": null,
                    "WalkingTime": 6,
                    "Coord": {
                        "Lat": 43.6608715,
                        "Long": -79.3415515
                    }
                },
                {
                    "AmenityID": "4373",
                    "Name": "Mercury Espresso",
                    "Address": "915 Queen Street East",
                    "Category": "coffee",
                    "Dist": 347,
                    "Tag": "Coffee Shop",
                    "District": null,
                    "WalkingTime": 6,
                    "Coord": {
                        "Lat": 43.660667,
                        "Long": -79.3413718
                    }
                }
            ]
        },
        "park": {
            "Category": "park",
            "Score": 10,
            "Count": 5,
            "Locations": [
                {
                    "AmenityID": "1142535",
                    "Name": null,
                    "Address": null,
                    "Category": "park",
                    "Dist": 15,
                    "Tag": "Playground",
                    "District": null,
                    "WalkingTime": 1,
                    "Coord": {
                        "Lat": 43.6592602297925,
                        "Long": -79.3454005968036
                    }
                },
                {
                    "AmenityID": "1000098",
                    "Name": "McCleary Playground",
                    "Address": "80 McGee Street",
                    "Category": "park",
                    "Dist": 17,
                    "Tag": "Park",
                    "District": null,
                    "WalkingTime": 1,
                    "Coord": {
                        "Lat": 43.6593088127695,
                        "Long": -79.3454086596916
                    }
                },
                {
                    "AmenityID": "1009659",
                    "Name": "Saulter Street Parkette",
                    "Address": "25 Saulter Street",
                    "Category": "park",
                    "Dist": 200,
                    "Tag": "Park",
                    "District": null,
                    "WalkingTime": 3,
                    "Coord": {
                        "Lat": 43.6577088206208,
                        "Long": -79.3465032129895
                    }
                },
                {
                    "AmenityID": "858978",
                    "Name": "Jimmie Simpson Park",
                    "Address": "870 Queen Street East",
                    "Category": "park",
                    "Dist": 222,
                    "Tag": "Park",
                    "District": null,
                    "WalkingTime": 4,
                    "Coord": {
                        "Lat": 43.6612131263222,
                        "Long": -79.3447192120837
                    }
                },
                {
                    "AmenityID": "906145",
                    "Name": "Bruce Mackey Park",
                    "Address": "55 Wardell Street",
                    "Category": "park",
                    "Dist": 327,
                    "Tag": "Park",
                    "District": null,
                    "WalkingTime": 5,
                    "Coord": {
                        "Lat": 43.6621705282381,
                        "Long": -79.3457540944358
                    }
                }
            ]
        },
        "elem": {
            "Category": "elem",
            "Score": 9,
            "Count": 4,
            "Locations": [
                {
                    "NCESDistrictID": null,
                    "AmenityID": "153214-CA",
                    "Name": "Dundas Junior Public School",
                    "Address": "935 Dundas St E",
                    "Category": "elem",
                    "Dist": 416,
                    "Tag": "Elementary",
                    "District": null,
                    "LowGrade": "JK",
                    "HighGrade": "5",
                    "SchoolScore": "74.5",
                    "Site": "http:\/\/schoolweb.tdsb.on.ca\/dundas",
                    "City": "Toronto",
                    "StateAbbr": "ON",
                    "ZIP": "M4M 1R4",
                    "Phone": "416-393-9565",
                    "IsPre": "0",
                    "IsElem": "1",
                    "IsMid": "0",
                    "IsHigh": "0",
                    "ProfMath": "67",
                    "ProfLang": "82",
                    "WalkingTime": 7,
                    "Coord": {
                        "Lat": 43.6620635986328,
                        "Long": -79.3486251831055
                    },
                    "Assigned": false
                },
                {
                    "NCESDistrictID": null,
                    "AmenityID": "374733-CA",
                    "Name": "Morse Street Junior Public School",
                    "Address": "180 Carlaw Ave",
                    "Category": "elem",
                    "Dist": 420,
                    "Tag": "Elementary",
                    "District": null,
                    "LowGrade": "JK",
                    "HighGrade": "6",
                    "SchoolScore": "71.5",
                    "Site": "http:\/\/schoolweb.tdsb.on.ca\/morsestreet",
                    "City": "Toronto",
                    "StateAbbr": "ON",
                    "ZIP": "M4M 2R9",
                    "Phone": "416-393-9494",
                    "IsPre": "0",
                    "IsElem": "1",
                    "IsMid": "0",
                    "IsHigh": "0",
                    "ProfMath": "57",
                    "ProfLang": "86",
                    "WalkingTime": 7,
                    "Coord": {
                        "Lat": 43.6601181030273,
                        "Long": -79.3401336669922
                    },
                    "Assigned": false
                },
                {
                    "NCESDistrictID": null,
                    "AmenityID": "461830-CA",
                    "Name": "Queen Alexandra Middle School",
                    "Address": "181 Broadview Ave",
                    "Category": "elem",
                    "Dist": 467,
                    "Tag": "Elementary",
                    "District": null,
                    "LowGrade": "6",
                    "HighGrade": "8",
                    "SchoolScore": "61.5",
                    "Site": "http:\/\/schoolweb.tdsb.on.ca\/queenalexandra",
                    "City": "Toronto",
                    "StateAbbr": "ON",
                    "ZIP": "M4M 2G3",
                    "Phone": "416-393-9535",
                    "IsPre": "0",
                    "IsElem": "1",
                    "IsMid": "1",
                    "IsHigh": "0",
                    "ProfMath": "43",
                    "ProfLang": "80",
                    "WalkingTime": 7,
                    "Coord": {
                        "Lat": 43.6614952087402,
                        "Long": -79.3501281738281
                    },
                    "Assigned": false
                },
                {
                    "NCESDistrictID": null,
                    "AmenityID": "067547-CA",
                    "Name": "Bruce Public School",
                    "Address": "51 Larchmount Ave",
                    "Category": "elem",
                    "Dist": 975,
                    "Tag": "Elementary",
                    "District": null,
                    "LowGrade": "JK",
                    "HighGrade": "8",
                    "SchoolScore": "62.125",
                    "Site": "http:\/\/schoolweb.tdsb.on.ca\/bruce",
                    "City": "Toronto",
                    "StateAbbr": "ON",
                    "ZIP": "M4M 2Y6",
                    "Phone": "416-393-0670",
                    "IsPre": "0",
                    "IsElem": "1",
                    "IsMid": "1",
                    "IsHigh": "0",
                    "ProfMath": "49",
                    "ProfLang": "75.25",
                    "WalkingTime": 16,
                    "Coord": {
                        "Lat": 43.6610527038574,
                        "Long": -79.3333511352539
                    },
                    "Assigned": false
                }
            ]
        }
    },
    "Active": 1

Demographics API

The Proximitii Demographics API (Application Programming Interface) provides hyperlocal demographic data within a small radius around any location. The API returns structured insights such as population, density, age, income, education, housing, commute patterns, and more—making it easy to enhance listing pages, neighborhood profiles, maps, and search experiences with detailed local context. Help users better understand who lives nearby and what the surrounding community looks like before they move.

Demographic data is available for both the United States and Canada. Available data points vary slightly by country, and the API will default to U.S. data if no country parameter is specified.

Example Calls

node.js

const baseUrl = 'https://api.proximitii.com/v1/demographics/';

const keyPublic = 'YOUR PUBLIC KEY';
const keyPrivate = 'YOUR PRIVATE KEY';

const headers = new Headers({
  'Public-Key': keyPublic,
  'Private-Key': keyPrivate
});

const params = new URLSearchParams({
  country: 'us',
  lat: '42.3444676',
  lon: '-71.0691738',
  radius: '1',
  munit: 'mi',
  categories: 'all'
});

async function getDemographics() {
  try {
    const requestUrl = `${baseUrl}?${params.toString()}`;
    const response = await fetch(requestUrl, {
      method: 'GET',
      headers: headers
    });
    
    const data = await response.json();
    console.log(data);
    return data;
  } catch (error) {
    console.error('Error fetching data:', error);
  }
}

getDemographics();


PHP

<?PHP	
	$url = "https://api.proximitii.com/v1/demographics/";

	$key_public = 'YOUR PUBLIC KEY';
	$key_private = 'YOUR PRIVATE KEY';

	$headers = [
		"Public-Key: {$key_public}",
		"Private-Key: {$key_private}"
	];			

	$params = array(
		'country' =>  'us',
		'lat' => '42.3444676',
		'lon' => '-71.0691738',
		'radius' =>  '1',
		'munit' => 'mi',
		'categories'=>'all'
	);

	$ch = curl_init ($url . '?' . http_build_query($params));
	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

	$data = curl_exec($ch);
	$data = json_decode ($data, true);	
?>

Response Codes

When calling the API, you will receive a 'status' object as part of the returned data that indicates whether the request was successful, returned no data, or encountered an error. The response codes below explain the most common outcomes.

Response codes beginning with 4 are caused by an invalid request, missing information, authentication issue, or usage limit, and can usually be corrected on your end. Response codes beginning with 5 indicate a temporary server-side issue on our end. If you receive a response code that is not listed below, please contact Proximitii support for assistance.

Response Code Description
201 Created Data was successfully generated.
204 No Content No data is available for this location.
400 Bad Request Wrong or insufficient parameters were set.
401 Unauthorized Authentication failed. Check that the correct API keys are being sent with the request.
402 Key Inactive The API key is inactive or has been blocked.
429 Too Many Requests Too many requests have been sent in a short period. Slow down and try again. No data will be sent with this response.
503 Service Unavailable The service is temporarily offline. Please try again later.

Keys

In order to call the API successfully, you will need a public and private key. Make sure to store the keys safely and call the API on the backend so the keys are not exposed to the public.

Values

Name Description Accepted Values Variable
Country Sets the country us, ca country
Latitude Sets the latitude of center Decimal between -90 and 90 lat
Longitude Sets the longitude of center Decimal between -180 and 180 lon
Radius Sets the radius 500 - 3200 (500-1000 meters is recommended) radius
Radius Unit Sets the radius to meters or miles m, mi munit
Categories Selects specific categories only comma delimited (see table below) categories


Categories:

Use the category variables below when requesting US demographics data.

Category Variable Type Description
Community Snapshot population Population and community profile
Population Population number Population of the area
Population Density Density number People per square mile
Ethnicity PctWhite percent White
Ethnicity PctBlack percent Black or African American
Ethnicity PctNative percent American Indian
Ethnicity PctAsian percent Asian
Ethnicity PctHawaiian percent Hawaiian or Pacific Islander
Ethnicity PctOtherRaceAlone percent Other Ethnicity Alone
Ethnicity PctMultiRacial percent Multi Racial
Ethnicity HispanicOrLatino percent Hispanic or Latino
Age MedianAge number Median age of the population
Married Couples PctMarried percent Married couples (over 15 years)
Families with Kids PctWithKids percent Families with kids (under 18 years)
Poverty Level PctPoverty percent People below the poverty line
Speak Another Language PctOtherLang percent People who speak another language
Age Breakdown age Breakdown of all age groups
Age PctUnder5 percent People under 5 years
Age PctBetween5_14 percent People 5 to 14 years
Age PctBetween15_19 percent People 15 to 19 years
Age PctBetween20_24 percent People 20 to 24 years
Age PctBetween25_34 percent People 25 to 34 years
Age PctBetween35_44 percent People 35 to 44 years
Age PctBetween45_54 percent People 45 to 54 years
Age PctBetween55_64 percent People 55 to 64 years
Age PctBetween65_84 percent People 64 to 84 years
Age PctOver85Plus percent People 85 years and over
Languages Spoken languages Breakdown of language spoken at home
Languages PctSpeakEnglish percent People who speak English
Languages PctSpeakSpanish percent People who speak Spanish
Languages PctSpeakEuropean percent People who speak a European language
Languages PctSpeakAsianPacific percent People who speak an Asian/Pacific language
Languages PctSpeakOther percent People who speak another language
Economic Profile economy Income distribution and employment
Income Per Capita IncomePerCapita number Per capita income
Median Household Income MedHouseholdIncome number Household income per family
Unemployment Rate PctUnemployed percent Percent of unemployed workers
Income Breakdown PctInc10K_Less percent People who earn 10k or less
Income Breakdown PctInc10K_25K percent People who earn between 10k-25k
Income Breakdown PctInc25K_40K percent People who earn between 25k-40k
Income Breakdown PctInc40K_60K percent People who earn between 40k-60k
Income Breakdown PctInc60K_100K percent People who earn between 60k-100k
Income Breakdown PctInc100K_150K percent People who earn between 100k-150k
Income Breakdown PctInc150K_200K percent People who earn between 150k-200k
Income Breakdown PctInc200K_More percent People who earn more than 200k
Education Breakdown education Education level achieved
Education Level PctCompleted8thGrade percent Completed 8th grade
Education Level PctCompletedHighSchool percent Completed high school
Education Level PctSomeCollege percent Completed some college
Education Level PctAssocDegree percent Completed associate's degree
Education Level PctBachelorsDegree percent Completed bachelor's degree
Education Level PctProSchoolDegree percent Completed professional degree
Education Level PctDoctorateDegree percent Completed doctorate's degree
Housing housing Housing & Household Profile
Housing Units HousingUnits number Number of physical housing structures
Households Households number Number of total occupied housing units
Home Value MedValueOwnerOccupied number Median home value
Rent Value MedRent number Median rent value
Average Household Size AvgHouseholdSize number Average number of people per household
Owner Occupied PctOwnerOccupied percent People who own a home
Renter Occupied PctRenterOccupied percent People who rent a home
Home Price Breakdown PctPrice50k percent Home price of 50k or less
Home Price Breakdown PctPrice100k percent Home price between 50k-100k
Home Price Breakdown PctPrice150k percent Home price between 100k-150k
Home Price Breakdown PctPrice200k percent Home price between 150k-200k
Home Price Breakdown PctPrice300k percent Home price between 200k-300k
Home Price Breakdown PctPrice500k percent Home price between 300k-500k
Home Price Breakdown PctPrice1m percent Home price between 500k-1M
Home Price Breakdown PctPrice2m percent Home price between 1M-2M
Home Price Breakdown PctPrice2mPlus percent Home price over 2M
Year Moved In PctMovedIn2021Plus percent Moved in after 2021
Year Moved In PctMovedIn2018 percent Moved in between 2018-2021
Year Moved In PctMovedIn2010 percent Moved in between 2010-2017
Year Moved In PctMovedIn2000 percent Moved in between 2000-2009
Year Moved In PctMovedIn1990 percent Moved in between 1990-1999
Year Moved In PctMovedIn1989Earlier percent Moved in between before 1989
Home Type PctSingleFamily percent Single-detached house
Home Type PctSemiDetached percent Semi-detached house
Home Type PctTownhouse percent Townhouse or row house
Home Type PctSmallApt percent Small apartment
Home Type PctLargeApt percent Large apartment
Commute Method commute How people get to work
Average Commute AvgCommuteTime percent Average commute time
Commute Method PctDrive percent People who drive to work
Commute Method PctCarpool percent People who carpool to work
Commute Method PctPublicTrans percent People who take public transit to work
Commute Method PctMotorcycle percent People who ride a motorcycle to work
Commute Method PctBicycle percent People who ride a bicycle to work
Commute Method PctWalk percent People who walk to work
Commute Method PctWorkHome percent People who work from home
Workforce Breakdown workforce Breakdown of jobs in the workforce
Workforce Industry PctInAgriOrForestOrFishOrHuntOrMining percent People who work in agriculture, forest, fishing, etc.
Workforce Industry PctInConstruction percent People who work in construction
Workforce Industry PctInManufacturing percent People who work in manufacturing
Workforce Industry PctInWholesaleOrRetail percent People who work in wholesale or retail
Workforce Industry PctInTransportationOrWharehousingOrUtilities percent People who work in transportation, warehousing, utilities
Workforce Industry PctInInformation percent People who work in information technology
Workforce Industry PctInFinanceOrInsurance percent People who work in finance or insurance
Workforce Industry PctInRealEstateOrRentals percent People who work in real estate, rentals or leasing
Workforce Industry PctInProOrSciOrTechServices percent People who work in professional, scientific or tech services
Workforce Industry PctInAdminAndWasteMgmt percent People who work in waste management
Workforce Industry PctInEduOrHealthOrSocialServices percent People who work in education, health or social services
Workforce Industry PctInArtsOrEntOrRecOrFoodServices percent People who work in arts, entertainment, recreation or food services
Workforce Industry PctInOtherServices percent People who work in other services
Workforce Industry PctInPublicAdmin percent People who work in public administration

Use the category variables below when requesting Canada demographics data.

Category Variable Type Description
Community Snapshot population Population and community profile
Population Population number Population of the area
Population Density Density number People per square kilometre
Ethnicity PctSouthAsian percent South Asian
Ethnicity PctEastAsian percent Chinese, Korean or Japanese
Ethnicity PctSoutheastAsian percent Southeast Asian or Filipino
Ethnicity PctBlack percent Black or African American
Ethnicity PctMiddleEasternWestAsian percent Arab or West Asian
Ethnicity PctLatinAmerican percent Latin American
Ethnicity PctOtherMinorities percent Multiple visible minorities
Ethnicity PctNotMinority percent Not a visible minority
Age MedianAge number Median age of the population
Married Couples PctMarried percent Married couples (over 15 years)
Families with Kids PctWithKids percent Families with kids (under 18 years)
Poverty Level PctPoverty percent Prevalance of Low Income
Age Breakdown age Breakdown of all age groups
Age PctUnder5 percent People under 5 years
Age PctBetween5_14 percent People 5 to 14 years
Age PctBetween15_19 percent People 15 to 19 years
Age PctBetween20_24 percent People 20 to 24 years
Age PctBetween25_34 percent People 25 to 34 years
Age PctBetween35_44 percent People 35 to 44 years
Age PctBetween45_54 percent People 45 to 54 years
Age PctBetween55_64 percent People 55 to 64 years
Age PctBetween65_84 percent People 65 to 84 years
Age PctOver85Plus percent People 85 years and over
Languages Spoken languages Breakdown of language spoken at home
Languages PctSpeakEnglish percent People who speak only English
Languages PctSpeakFrench percent People who speak only French
Languages PctSpeakEnglish_French percent People who speak English and French
Languages PctSpeakNeither percent People who speak neither English or French
Economic Profile economy Income distribution and employment
Income Per Capita IncomePerCapita number Per capita income
Median Household Income MedHouseholdIncome number Household income per family
Unemployment Rate PctUnemployed percent Percent of unemployed workers
Income Breakdown PctInc10K_Less percent People who earn 10k or less
Income Breakdown PctInc10K_20K percent People who earn between 10k-20k
Income Breakdown PctInc20K_40K percent People who earn between 20k-40k
Income Breakdown PctInc40K_60K percent People who earn between 40k-60k
Income Breakdown PctInc60K_80K percent People who earn between 60k-80k
Income Breakdown PctInc80K_100K percent People who earn between 80k-100k
Income Breakdown PctInc100K_150K percent People who earn between 100k-150k
Income Breakdown PctInc150K_More percent People who earn more than 150k
Education Breakdown education Education level achieved
Education Level PctNoCertificate_Diploma percent No certificate, diploma or degree
Education Level PctCompletedHighSchool percent Completed high school
Education Level PctApprenticeship_Trades percent Completed apprenticeship or trades diploma
Education Level PctCollegeDegree percent Completed college degree
Education Level PctBachelorsDegree percent Completed bachelor's degree
Education Level PctMastersDegree percent Completed master's degree
Education Level PctDoctorateDegree percent Completed doctorate's degree
Housing housing Housing & Household Profile
Housing Units HousingUnits number Number of physical housing structures
Households Households number Number of total occupied housing units
Home Value MedValueOwnerOccupied number Median home value
Rent Value MedRent number Median rent value
Average Household Size AvgHouseholdSize number Average number of people per household
Owner Occupied PctOwnerOccupied percent People who own a home
Renter Occupied PctRenterOccupied percent People who rent a home
Year Moved In PctMovedInOneYearAgo percent Moved in one year ago or less
Year Moved In PctMovedFiveYearsAgo percent Moved in five years ago or less
Home Type PctSingleFamily percent Single-datached house
Home Type PctSemiDetached percent Semi-detached house
Home Type PctTownhouse percent Townhouse or row house
Home Type PctSmallApt percent Small apartment fewer than 5 storeys
Home Type PctLargeApt percent Large apartment 5 storeys or more
Home Type PctOther percent Other single-attached house
Home Type PctMovableDwelling percent Movable dwelling
Commute Method commute How people get to work
Commute Method PctDrive percent People who drive to work
Commute Method PctCarpool percent People who carpool to work
Commute Method PctPublicTrans percent People who take public transit to work
Commute Method PctWalk percent People who walk to work
Commute Method PctBicycle percent People who bicycle to work
Commute Method PctWorkHome percent People who work from home
Commute Method PctOther percent People who take another method to work
Commute Time PctUnder15Min percent Under 15 minutes
Commute Time PctBetween15_29Min percent Between 15-29 minutes
Commute Time PctBetween30_44Min percent Between 30-44 minutes
Commute Time PctBetween45_59Min percent Between 45-59 minutes
Commute Time PctOver60Min percent Over 60 minutes
Workforce Breakdown workforce Breakdown of jobs in the workforce
Workforce Industry PctInAgriOrForestOrFishOrHuntOrMining percent People who work in agriculture, forest, fishing, etc.
Workforce Industry PctInConstruction percent People who work in construction
Workforce Industry PctInManufacturing percent People who work in manufacturing
Workforce Industry PctInWholesaleOrRetail percent People who work in wholesale or retail
Workforce Industry PctInTransportationOrWharehousingOrUtilities percent People who work in transportation, warehousing, utilities
Workforce Industry PctInInformation percent People who work in information technology
Workforce Industry PctInFinanceOrInsurance percent People who work in finance or insurance
Workforce Industry PctInRealEstateOrRentals percent People who work in real estate, rentals or leasing
Workforce Industry PctInProOrSciOrTechServices percent People who work in professional, scientific or tech services
Workforce Industry PctInManagement percent People who work in management
Workforce Industry PctInAdminAndWasteMgmt percent People who work in waste management
Workforce Industry PctInEduOrHealthOrSocialServices percent People who work in education, health or social services
Workforce Industry PctInArtsOrEntOrRecOrFoodServices percent People who work in arts, entertainment, recreation or food services
Workforce Industry PctInOtherServices percent People who work in other services
Workforce Industry PctInPublicAdmin percent People who work in public administration

Sample Output

Toggle between the United States and Canada to view a sample Demographics API response.

{
    "data": {
        "population": {
            "Population": "1560",
            "Density": 13569,
            "PctWhite": 61.7,
            "PctBlack": 8.38,
            "PctNative": 0.28,
            "PctAsian": 16.95,
            "PctHawaiian": 0.22,
            "PctOtherRaceAlone": 4.44,
            "PctMultiRacial": 8.03,
            "HispanicOrLatino": null,
            "MedianAge": 38.05,
            "PctMarried": 34.81,
            "PctWithKids": 10.14,
            "PctPoverty": 20.85,
            "PctOtherLang": 33.09
        },
        "age": {
            "PctUnder5": 3.5,
            "PctBetween5_14": 4.99,
            "PctBetween15_19": 5.11,
            "PctBetween20_24": 10.55,
            "PctBetween25_34": 24.13,
            "PctBetween35_44": 12.3,
            "PctBetween45_54": 11.47,
            "PctBetween55_64": 11.52,
            "PctBetween65_84": 14.34,
            "PctOver85Plus": 2.08
        },
        "languages": {
            "PctSpeakEnglish": 66.91,
            "PctSpeakSpanish": 9.98,
            "PctSpeakEuropean": 7.69,
            "PctSpeakAsianPacific": 12.81,
            "PctSpeakOther": 2.61
        },
        "economy": {
            "IncomePerCapita": "106139.90",
            "MedHouseholdIncome": "119509.02",
            "PctUnemployed": 3.55,
            "PctInc10K_Less": 10.83,
            "PctInc10K_25K": 13.95,
            "PctInc25K_40K": 5.31,
            "PctInc40K_60K": 8.72,
            "PctInc60K_100K": 11.77,
            "PctInc100K_150K": 12.02,
            "PctInc150K_200K": 8.77,
            "PctInc200K_More": 28.63
        },
        "education": {
            "PctCompleted8thGrade": 94.61,
            "PctCompletedHighSchool": 90.54,
            "PctSomeCollege": 80.81,
            "PctAssDegree": 73.06,
            "PctBachelorsDegree": 69.81,
            "PctMastersDegree": 37.39,
            "PctProSchoolDegree": 16.44,
            "PctDoctorateDegree": 6.35
        },
        "housing": {
            "HousingUnits": "822",
            "Households": "761",
            "MedValueOwnerOccupied": "1330327",
            "MedRent": "2330",
            "AvgHouseholdSize": 1.76,
            "PctOwnerOccupied": 31.36,
            "PctRenterOccupied": 68.64,
            "PctPrice50k": 4.02,
            "PctPrice100k": 0.42,
            "PctPrice150k": 0,
            "PctPrice200k": 0.83,
            "PctPrice300k": 2.45,
            "PctPrice500k": 5.99,
            "PctPrice1m": 27.45,
            "PctPrice2m": 32.74,
            "PctPrice2mPlus": 26.1,
            "PctMovedIn2021Plus": 5.51,
            "PctMovedIn2018": 18.6,
            "PctMovedIn2010": 35.58,
            "PctMovedIn2000": 22.42,
            "PctMovedIn1990": 10.68,
            "PctMovedIn1989Earlier": 7.19,
            "PctSingleFamily": 1.38,
            "PctSemiDetached": 7.4,
            "PctTownhouse": 15.71,
            "PctSmallApt": 29.36,
            "PctLargeApt": 46.06
        },
        "commute": {
            "AvgCommuteTime": null,
            "PctDrive": 19.37,
            "PctCarpool": 2.84,
            "PctPublicTrans": 21.02,
            "PctMotorcycle": 0.03,
            "PctBicycle": 2.28,
            "PctWalk": 34.33,
            "PctWorkHome": 18.59
        },
        "workforce": {
            "PctInAgriOrForestOrFishOrHuntOrMining": 0.05,
            "PctInConstruction": 1.46,
            "PctInManufacturing": 5.05,
            "PctInWholesaleOrRetail": 7.35,
            "PctInTransportationOrWharehousingOrUtilities": 1.77,
            "PctInInformation": 2.38,
            "PctInFinanceOrInsurance": 13.01,
            "PctInRealEstateOrRentals": 2.23,
            "PctInProOrSciOrTechServices": 21.01,
            "PctInManagement": 0.18,
            "PctInAdminAndWasteMgmt": 2.76,
            "PctInEduOrHealthOrSocialServices": 28.99,
            "PctInArtsOrEntOrRecOrFoodServices": 8.37,
            "PctInOtherServices": 3.47,
            "PctInPublicAdmin": 1.92
        }
    },
    "status": {
        "code": "201",
        "message": "Created"
    }
}
{
    "data": {
        "population": {
            "Population": "1510",
            "Density": 3933,
            "PctSouthAsian": 1.13,
            "PctEastAsian": 12.2,
            "PctSoutheastAsian": 1.8,
            "PctBlack": 0.9,
            "PctMiddleEasternWestAsian": 2.27,
            "PctLatinAmerican": 2.73,
            "PctOtherMinorities": 0,
            "PctNotMinority": 74.03,
            "MedianAge": 45.2,
            "PctMarried": 56.63,
            "PctWithKids": 45.47,
            "PctPoverty": 5.53
        },
        "age": {
            "PctUnder5": 4.1,
            "PctBetween5_14": 13.6,
            "PctBetween15_19": 7.4,
            "PctBetween20_24": 5.9,
            "PctBetween25_34": 7.3,
            "PctBetween35_44": 12.23,
            "PctBetween45_54": 14.3,
            "PctBetween55_64": 11.73,
            "PctBetween65_84": 19.87,
            "PctOver85Plus": 2.3
        },
        "languages": {
            "PctSpeakEnglish": 92.07,
            "PctSpeakFrench": 0,
            "PctSpeakEnglishFrench": 6.37,
            "PctSpeakNeither": 1.13
        },
        "economy": {
            "IncomePerCapita": "39933.33",
            "MedHouseholdIncome": "124666.67",
            "PctUnemployed": 10.57,
            "PctInc10K_Less": 8.4,
            "PctInc10K_20K": 10.67,
            "PctInc20K_40K": 25.6,
            "PctInc40K_60K": 20.33,
            "PctInc60K_80K": 11.2,
            "PctInc80K_100K": 9.5,
            "PctInc100K_150K": 10.6,
            "PctInc150K_More": 3.63
        },
        "education": {
            "PctNoCertificateDiploma": 14.07,
            "PctCompletedHighSchool": 85.67,
            "PctApprenticeshipTrades": 50.83,
            "PctCollegeDegree": 43.5,
            "PctBachelorsDegree": 21,
            "PctMastersDegree": 5.13,
            "PctDoctorateDegree": 0
        },
        "housing": {
            "HousingUnits": "593",
            "Households": "574",
            "MedValueOwnerOccupied": "913333",
            "MedRent": null,
            "AvgHouseholdSize": 2.8,
            "PctOwnerOccupied": 93.1,
            "PctRenterOccupied": 7.3,
            "PctMovedInOneYearAgo": 4.67,
            "PctMovedFiveYearsAgo": 36.67,
            "PctSingleFamily": 45.5,
            "PctSemiDetached": 9.1,
            "PctTownhouse": 23.87,
            "PctSmallApt": 19.87,
            "PctLargeApt": 0,
            "PctOther": 0,
            "PctMovableDwelling": 0
        },
        "commute": {
            "PctDrive": 79.9,
            "PctCarpool": 5.4,
            "PctPublicTrans": 1.13,
            "PctWalk": 3.6,
            "PctBicycle": 1.33,
            "PctOther": 2,
            "PctUnder15Min": 25.6,
            "PctBetween15_29Min": 32.63,
            "PctBetween30_44Min": 24.47,
            "PctBetween45_59Min": 8.17,
            "PctOver60Min": 4.57
        },
        "workforce": {
            "PctInAgriOrForestOrFishOrHuntOrMining": 0,
            "PctInConstruction": 11.57,
            "PctInManufacturing": 5.83,
            "PctInWholesaleOrRetail": 19.17,
            "PctInTransportationOrWharehousingOrUtilities": 5.67,
            "PctInInformation": 2.57,
            "PctInFinanceOrInsurance": 4.27,
            "PctInRealEstateOrRentals": 0.87,
            "PctInProOrSciOrTechServices": 5.6,
            "PctInManagement": 0,
            "PctInAdminAndWasteMgmt": 2.13,
            "PctInEduOrHealthOrSocialServices": 14.9,
            "PctInArtsOrEntOrRecOrFoodServices": 10.7,
            "PctInOtherServices": 5.97,
            "PctInPublicAdmin": 3.07
        }
    },
    "status": {
        "code": "201",
        "message": "Created"
    }
}

Community Snapshot API

The Proximitii Community Snapshot API combines AI with proprietary hyperlocal data to generate polished, data-driven community summaries for listings, neighborhood pages, rental platforms, and other real estate experiences—providing meaningful local context beyond the property itself.

The API returns written content that can be adjusted by radius, paragraph count, tone, content style, audience, audience type and language. Use only the supported parameter values below; otherwise, the default value for that parameter will be used.

Example Calls

node.js

const gps = req.query.gps.split(',');
const lat = gps[0];
const lon = gps[1];

const params = new URLSearchParams({
    lat: lat,
    lon: lon,
    radius: 500,
    munit: 'm',
    country: 'us',
    paragraphs: 3,
    tone: 'professional',
    audience: 'general',
    audience_type: 'general',
    content_style: 'lifestyle',
    language: 'en'
});

const response = await fetch(
    `https://api.proximitii.com/v1/com-snapshot/?${params.toString()}`,
    {
        method: 'GET',
        headers: {
            'Public-Key': 'YOUR_PUBLIC_KEY',
            'Private-Key': 'YOUR_PRIVATE_KEY'
        }
    }
);

const body = await response.json();

console.log(body);


PHP

<?php

	$url = "https://api.proximitii.com/v1/com-snapshot/";

	$key_public = 'YOUR PUBLIC KEY';
	$key_private = 'YOUR PRVIATE KEY';

	
	$headers = [
		"Public-Key: {$key_public}",
		"Private-Key: {$key_private}"
	];
		
	$gps = explode (',', $_GET['gps']);
	$g_lat = $gps[0];
	$g_lon = $gps[1];
	
	$params = array(
		'lat' => $g_lat,
		'lon' => $g_lon,
		'radius' =>  '500',
		'munit' => 'm',
		'country' => 'us',
		'paragraphs' => 3,
		'tone' => 'professional',
		'audience' => 'general',
		'audience_type' => 'general',
		'content_style' => 'lifestyle',
		'language' => 'en'
	);
	
	$ch = curl_init ($url . '?' . http_build_query($params));
	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HEADER, 1);

	$data = curl_exec($ch);
	$json_data = json_decode ($data, true);

	$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
	$headers = trim(substr($data, 0, $header_size));
	$body = substr($data, $header_size);
	
	$body = json_decode ($body);
	$headers = explode("\n", $headers);
	
?>

Keys

In order to call the Community Snapshot API successfully, you will need a public and private key. Make sure to store the keys safely and call the API on the backend so the private key is not exposed to the public.

Values

Please use only the supported parameter values listed below. If a parameter is omitted, the default value will be used automatically.

Name Description Default Value Accepted Values Variable
LatitudeSets the latitude of the locationN/ADecimal between -90 and 90lat
LongitudeSets the longitude of the locationN/ADecimal between -180 and 180lon
RadiusSets the search radius around the location500Numerical values up to 3200 metersradius
Radius UnitSets the radius to meters or milesmm, mimunit
CountrySets the country used for local datausus, cacountry
ParagraphsSets the number of paragraphs returned51, 2, 3, 4, 5paragraphs
ToneSets the writing tone of the snapshotprofessionalprofessional, conversational, friendly, neutraltone
Content StyleSets the overall style and angle of the snapshotlifestylelifestyle, data-driven, editorial, seo, neighborhoodcontent_style
AudienceSets the intended audience for the contentgeneralgeneral, buyers, renters, investors, agentsaudience
Audience TypeRefines the content for a specific audience segmentgeneralgeneral, first-time buyers, luxury buyers, families, young professionals, students, retirees, relocation clientsaudience_type
LanguageSets the output languageenen, frlanguage

Sample Output

{
    "title": "Everyday Convenience With Local Access",
    "content": [
        "Just a short stroll from your door, you will find many of the conveniences that make everyday life easier. Whether you are picking up a quick meal at Jersey Mikes, meeting friends for coffee at Goddess and the Baker, or running daily errands nearby, the neighborhood offers a highly walkable environment where essentials are always within reach. Multiple bus stops located just minutes away provide convenient access throughout the city, making commuting, appointments, and weekend outings simple without relying heavily on a vehicle. The areas strong walkability helps residents enjoy a more connected lifestyle, with dining, services, and everyday amenities woven naturally into the surrounding streetscape.",
        "For those who value an active and balanced lifestyle, the neighborhood offers a variety of recreation and wellness options close to home. Northern Trust open space provides a welcome escape for walking, relaxing, or enjoying time outdoors, while CorePower Yoga offers a convenient destination for fitness and wellness routines. Nearby health clinics, pharmacies, and essential services add another layer of convenience, making it easy to manage day-to-day needs. Combined with its mix of amenities, accessibility, and urban energy, the area delivers a lifestyle that balances convenience, connectivity, and well-being."
    ],
    "status": {
        "code": "201",
        "message": "Created"
    }
}

Community Highlights API

The Proximitii Community Highlights API combines AI with proprietary hyperlocal data to generate concise, data-driven community highlights and scores for listings, neighborhood pages, rental platforms and other real estate experiences.

The API returns highlights, benefits, considerations and scores that can be adjusted by radius, paragraph count, tone, content style, audience, audience type and language. Use only the supported parameter values below; otherwise, the default value for that parameter will be used.

Example Calls

node.js

const gps = req.query.gps.split(',');
const lat = gps[0];
const lon = gps[1];

const params = new URLSearchParams({
    lat: lat,
    lon: lon,
    radius: 500,
    munit: 'm',
    country: 'us',
    results: 5,
    tone: 'professional',
    audience: 'general',
    audience_type: 'general',
    language: 'en'
});

const response = await fetch(
    `https://api.proximitii.com/v1/com-highlights/?${params.toString()}`,
    {
        method: 'GET',
        headers: {
            'Public-Key': 'YOUR_PUBLIC_KEY',
            'Private-Key': 'YOUR_PRIVATE_KEY'
        }
    }
);

const body = await response.json();

console.log(body);


PHP

<?php
	
	$url = "https://api.proximitii.com/v1/com-highlights/";

	$key_public = 'YOUR PUBLIC KEY';
	$key_private = 'YOUR PRIVATE KEY';
	
	$headers = [
		"Public-Key: {$key_public}",
		"Private-Key: {$key_private}"
	];
		
	$gps = explode (',', $_GET['gps']);
	$g_lat = $gps[0];
	$g_lon = $gps[1];
	
	$params = array(
		'lat' => $g_lat,
		'lon' => $g_lon,
		'radius' =>  '500',
		'munit' => 'm',
		'country' => 'us',
		'results' => 5,
		'tone' => 'professional',
		'audience' => 'general',
		'audience_type' => 'general',
		'language' => 'en'
	);
	
	$ch = curl_init ($url . '?' . http_build_query($params));
	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HEADER, 1);

	$data = curl_exec($ch);
	$json_data = json_decode ($data, true);

	$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
	$headers = trim(substr($data, 0, $header_size));
	$body = substr($data, $header_size);
	
	$body = json_decode ($body);
	$headers = explode("\n", $headers);
	
?>

Keys

In order to call the Community Highlights API successfully, you will need a public and private key. Make sure to store the keys safely and call the API on the backend so the private key is not exposed to the public.

The API returns written content that can be adjusted by radius, paragraph count, tone, content style, audience, audience type and language. Use only the supported parameter values below; otherwise, the default value for that parameter will be used.

Values

Please use only the supported parameter values listed below. If a parameter is omitted, the default value will be used automatically.

Name Description Default Value Accepted Values Variable
Latitude Sets the latitude of the location N/A Decimal between -90 and 90 lat
Longitude Sets the longitude of the location N/A Decimal between -180 and 180 lon
Radius Sets the search radius around the location 500 Numerical values up to 3200 meters radius
Radius Unit Sets the radius to meters or miles m m, mi munit
Country Sets the country for the request us us, ca country
Results Sets the number of community highlights to return 5 1 - 10 results
Tone Sets the writing tone for the generated highlights professional professional, conversational, friendly, neutral tone
Audience Sets the intended audience for the generated highlights general general, buyers, renters, investors, agents audience
Audience Type Sets the specific audience type for the generated highlights general general, first-time buyers, luxury buyers, families, young professionals, students, retirees, relocation clients audience_type
Language Sets the response language en en, fr language

Sample Output

 [data] => stdClass Object
        (
            [highlights] => Array
                (
                    [0] => stdClass Object
                        (
                            [tag] => Convenient Transit Access
                            [icon] => fa-bus
                            [description] => Multiple bus stops are within a two-minute walk, providing excellent public transit options.
                        )

                    [1] => stdClass Object
                        (
                            [tag] => Nearby Shopping Essentials
                            [icon] => fa-shopping-cart
                            [description] => Walmart, Dollarama, and beauty salons are all within a six-minute walk, making errands easy and convenient.
                        )

                    [2] => stdClass Object
                        (
                            [tag] => Local Parks and Playgrounds
                            [icon] => fa-tree
                            [description] => Several nearby parks and playgrounds offer green spaces within a five to six-minute walk, supporting outdoor activities.
                        )

                    [3] => stdClass Object
                        (
                            [tag] => Family-Friendly Childcare
                            [icon] => fa-child
                            [description] => A preschool center is located just five minutes away on foot, ideal for families with young children.
                        )

                    [4] => stdClass Object
                        (
                            [tag] => Diverse Food Choices
                            [icon] => fa-utensils
                            [description] => Fast food options like McDonalds and KFC, along with an LCBO, are easily accessible within a five-minute walk.
                        )

                )

            [benefits] => Array
                (
                    [0] => stdClass Object
                        (
                            [tag] => Active Lifestyle Support
                            [icon] => fa-running
                            [description] => High scores in active living and park access encourage a wellness-focused daily routine.
                        )

                    [1] => stdClass Object
                        (
                            [tag] => Strong Transit Connectivity
                            [icon] => fa-train
                            [description] => Excellent transit access offers flexibility for commuting and reduces dependence on cars.
                        )

                    [2] => stdClass Object
                        (
                            [tag] => Educational Opportunities Nearby
                            [icon] => fa-school
                            [description] => Access to quality elementary education supports lifelong learning and community growth.
                        )

                    [3] => stdClass Object
                        (
                            [tag] => Community Diversity
                            [icon] => fa-users
                            [description] => A culturally diverse population contributes to a vibrant and inclusive neighbourhood atmosphere.
                        )

                    [4] => stdClass Object
                        (
                            [tag] => Balanced Urban Environment
                            [icon] => fa-city
                            [description] => Walkability and transit scores combine with quieter parks to create a mix of urban energy and peacefulness.
                        )

                )

            [considerations] => Array
                (
                    [0] => stdClass Object
                        (
                            [tag] => Moderate Noise Level
                            [icon] => fa-volume-low
                            [description] => While the area is active, nearby parks and residential stability help maintain a relatively calm environment.
                        )

                    [1] => stdClass Object
                        (
                            [tag] => Limited Entertainment Venues
                            [icon] => fa-film
                            [description] => Entertainment options are scarce locally, so residents may travel outside the area for nightlife and cultural activities.
                        )

                    [2] => stdClass Object
                        (
                            [tag] => Car Usage Commonplace
                            [icon] => fa-car
                            [description] => A majority of residents rely on driving, which may influence traffic levels during peak hours.
                        )

                    [3] => stdClass Object
                        (
                            [tag] => Mixed Income Levels
                            [icon] => fa-wallet
                            [description] => Household incomes vary widely, supporting a diverse economic community with different lifestyle needs.
                        )

                    [4] => stdClass Object
                        (
                            [tag] => Older Median Age
                            [icon] => fa-hourglass-half
                            [description] => With a median age of 44, the community includes a significant number of mature adults alongside younger families.
                        )

                )

            [scores] => stdClass Object
                (
                    [getting_around] => stdClass Object
                        (
                            [walkability] => stdClass Object
                                (
                                    [tag] => Walkability
                                    [icon] => fa-shoe-prints
                                    [score] => 7
                                    [description] => Daily essentials and amenities are easily reachable on foot, supporting a pedestrian-friendly lifestyle.
                                )

                            [transit_connectivity] => stdClass Object
                                (
                                    [tag] => Transit Connectivity
                                    [icon] => fa-bus
                                    [score] => 9
                                    [description] => Multiple nearby bus stops provide excellent access to public transit options.
                                )

                            [bike_access] => stdClass Object
                                (
                                    [tag] => Bike Access
                                    [icon] => fa-bicycle
                                    [score] => 4
                                    [description] => Limited data on bike infrastructure and usage suggests moderate accommodation for cyclists.
                                )

                            [car_friendliness] => stdClass Object
                                (
                                    [tag] => Car Friendliness
                                    [icon] => fa-car
                                    [score] => 6
                                    [description] => Road connectivity supports driving, though higher density could affect parking and traffic.
                                )

                        )

                    [community_personality] => stdClass Object
                        (
                            [noise_level] => stdClass Object
                                (
                                    [tag] => Noise Level
                                    [icon] => fa-volume-off
                                    [score] => 7
                                    [description] => Residential areas and parks help keep noise levels moderate despite urban activity.
                                )

                            [urban_energy] => stdClass Object
                                (
                                    [tag] => Urban Energy
                                    [icon] => fa-city
                                    [score] => 5
                                    [description] => A balance of walkability and fewer nightlife venues creates a moderate urban vibe.
                                )

                            [community_feel] => stdClass Object
                                (
                                    [tag] => Community Feel
                                    [icon] => fa-home
                                    [score] => 7
                                    [description] => Stable homeownership and local schools foster a connected and steady community environment.
                                )

                            [outdoor_lifestyle] => stdClass Object
                                (
                                    [tag] => Outdoor Lifestyle
                                    [icon] => fa-tree
                                    [score] => 9
                                    [description] => Plentiful parks and playgrounds encourage outdoor recreation and active living.
                                )

                            [economic_stability] => stdClass Object
                                (
                                    [tag] => Economic Stability
                                    [icon] => fa-chart-line
                                    [score] => 5
                                    [description] => Income diversity and employment rates indicate a mixed but stable economic base.
                                )

                            [school_quality] => stdClass Object
                                (
                                    [tag] => School Quality
                                    [icon] => fa-graduation-cap
                                    [score] => 7
                                    [description] => Strong elementary education and accessible schools contribute to good academic opportunities.
                                )

                        )

                )

        )

    [status] => stdClass Object
        (
            [code] => 201
            [message] => Created
        )

)

Crime Widget

The Proximitii Crime Widget provides real-time crime data on a block group level.

Local Lifestyle Widget

Installation

Add the following embed code to your page or template. In order for the widget to render, you must add your own public key and you must pass the latitude and longitude.

<script src="https://widget-api.proximitii.com/crime/embed.js"></script>
<div id="prox-crime-map"></div>
<script type="module">
window.onProximitiiCrimeLoad = () => {
let proximitiiCrimeMap = new ProximitiiCrimeMap('prox-crime-map')

//Make sure to put in your own public key!
proximitiiCrimeMap.setPublicKey("YOUR OWN KEY HERE")

proximitiiCrimeMap.setCenter(37.772079370456495, -122.42953237968246)

proximitiiCrimeMap.setOptions({
    centerMarker: false,
    height: '500px',
    zoom: 10
})
        
proximitiiCrimeMap.render()
}
</script>

Values

Variable Description Default Value Accepted Values Paramater Name
Latitude Sets the latitude of center N/A Decimal between -90 and 90 setCenter(latitude, longitude)
Longitude Sets the longitude of center N/A Decimal between -180 and 180 setCenter(latitude, longitude)
Height Sets the height for desktop 500px Any valid CSS value (min. height is 450px) setOptions({height})
Pin Displays a pin false "true" or "false" centerMarker:
Zoom Sets the default zoom level 13 Any number between 1 and 19 zoom:13
Extreme Defer Defers loading not set N/A /embed-defer.js

Proximitii Maps

The Proximitii Maps platform provides an easy to embed dynamic mapping solution.

Proximitii Maps

Installation

Add the following to the head of your page.

<!-- Proximitii script	-->
<script src="https://proximitiimaps.com/proxinit/"></script>	
		
<!-- Your script -->
<script src="prox-map.js"></script>

Add the following to the body of your page.

<div id="my-map" class="leaflet-pane:leaflet-map-pane"></div>

Add the following .js file to your server.

window.onload = () => {
	
	const gps = [43.654087, -79.38549];		//center of the map
	const opts = {					//map options	
		id:     'my-map',			//DIV id
		key:    'my-key-here',		        //your private key
		gps:    gps,
		zoom:   14,				//zoom level
		style:  'init_style_light',		//map style
		func:   onMapReady			//callback
	};
	
	var map_init = new ProxMap (opts);		//create the map
	map_init.create_map ();

	function onMapReady ()
	{
		var map = map_init.get_map ();	        //get map object
		if (map)
		{
			L.marker(gps)			//create marker	
				.bindPopup("Hello <b>Map</b>")
				.addTo(map)
				.openPopup();

			var popup = L.popup();		//popup onMapClick event func
			function onMapClick(e) {		
				popup
				.setLatLng(e.latlng)
				.setContent("Click at " + e.latlng.toString())
				.openOn(map);
			}
			map.on('click', onMapClick);	//click event
		}
	}
}

Here is a sample .html file.

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Proximitii Maps</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta charset="utf-8">

		<style>
			html, body {
				width: 100%;
				height: 100%;
				padding: 0;
				margin:0;
			}	
			#my-map { position: relative; width: 100%; height: 100%;}
		</style>
	  
		<script src="https://proximitiimaps.com/proxinit/"></script>	
		<script src="prox-map.js"></script>
	</head>

	<body>	
		<div id="my-map" class="leaflet-pane:leaflet-map-pane"></div>
	</body>
</html>

Values

General Options:

Variable Description Accepted Values Variable / Function
Latitude Sets the latitude of center Decimal between -90 and 90 const gps = [latitude, longitude]
Longitude Sets the longitude of center Decimal between -180 and 180 const gps = [latitude, longitude]
ID Sets your DIV id Any valid text id: 'my-map'
Key Sets your authentication key Any valid key key: 'YOUR KEY HERE'
Zoom Sets the default zoom level Any number between 1 and 19 zoom: 14
Map Style Sets the map style light, bright, modern, baseline style: 'init_style_light'

Map Styles

Light

Proximitii Maps


Bright

Proximitii Maps


Modern

Proximitii Maps


Baseline

Proximitii Maps