Skip to content

Location Scores

Stable
Available in the US and Canada

Our Location Scores assess the quality of transportation, services, and character characteristics of any latitude/longitude location or neighbourhood in Canada or the US. With the new iteration of our Scores API, clients can now obtain up to 18 location scores for up to 4 different geography levels. Scores returned are on a scale of 0 to 5. Lat/long scores will either be .0 or .5 and neighbourhood,macro-neighbourhood and municipality scores are rounded to the nearest tenth. ie. 4.778 will become 4.8.

These levels are:

  • Lat/Long

  • Neighbourhoods

  • Macro neighbourhoods

  • Municipalities

Local Logic provides the following Location Scores, which can be accessed via the v1/scores and v3/scores endpoints documented below.

Location Scores

Transportation

Location ScoreScoreNameDescription
Pedestrian friendlypedestrian_friendlyRepresents how many stores and institutions are nearby and how pleasant it is to walk to them.
Cycling friendlycycling_friendlyRepresents how suitable the area is for cycling in terms of nearby bicycle infrastructure and calm streets, as well as the number of destinations that can be reached by bicycle.
Transit friendlytransit_friendlyRepresents the frequency and level of service of public transit.
Car friendlycar_friendlyRepresents how well traffic flows, and how easy it is to park.

Services

Location ScoreScoreNameDescription
ParksparksQuantity and area of parks nearby.
GroceriesgroceriesDistance to closest grocery store and quantity of grocery stores nearby.
ShoppingshoppingQuantity and diversity of shops nearby.
NightlifenightlifeQuantity and diversity of bars nearby.
RestaurantsrestaurantsQuantity and diversity of restaurants nearby.
CafescafesQuantity and diversity of cafés.
DaycaresdaycaresDistance to closest daycare school.
Primary Schoolsprimary_schoolsDistance to closest elementary school.
High Schoolshigh_schoolsDistance to closest high school.

Character

Location ScoreScoreNameDescription
QuietquietLevel of noise nearby.
GreengreeneryQuantity of nearby green spaces and tree canopy coverage.
HistorichistoricPresence of heritage buildings and building age in the area.
VibrantvibrantLevel of street activity nearby.
WellnesswellnessPresence of healthy POIs (fitness/sports, healthy restaurants/stores & parks) nearby and how pedestrian-friendly the location is.

This PDF describes what the values of 0-10 mean for their respective scores.

Not all Location Scores are available in all locations.

When scores are missing from the response, it means that Local Logic has insufficient information about the location to be able to provide those scores.

GET v3/scores

Location Scores for a specific coordinate point location and neighbourhood, macro neighbourhood, and municipality which contains it, can be retrieved using a latitude/longitude request.

Scores for the latitude/longitude point location are returned as a score out of 5, with a precision to the nearest .5. Scores for the neighbourhood, macro neighbourhood, and municipality geography scores are also returned as a score out of 5, but with a precision to the nearest .1.

GET v3/scores

V3 Header Request Parameters

This API uses JWT token based authentication. This JWT Bearer token is what is used to populate the Authorization header below.

Instructions on how to retrieve this token can be found at Accessing the API → V3 API Authorization.

HeaderStatusDescription
AuthorizationrequiredYour bearer token retrieved from our authorization API, ex. Bearer eyJhbGci...
AcceptrequiredThe datatype to request, this API will return application/json.

V3 QueryString Request Parameters

The region to be queried by the endpoint can be defined two ways: (1) by specifying a lat/lng coordinate, with optional radius/radius_unit parameters, (2) or by providing a polygon parameter.

When using the lat/lng coordinate query method without specifying radius/radius_unit parameters, the endpoint will return data for residents living within a five minute walk of the coordinate. When including radius/radius_unit parameters, the resulting circular area around the lat/lng coordinate will be queried. radius_unit can be either meter or mile.

When using the polygon query method, the score data returned will cover residents of the region defined by the polygon area. Polygons are specified using the WKT format. The only accepted type is POLYGON, and holes are not supported. Each polygon point must be defined as a lng/lat coordinate.

API Limitations

  1. The polygon query string has been limited to 5000 chars.
  2. The max north/south east/west distance accepted is 0.5 degrees.
  3. The max count of north/south east/west level 6 geohashes is 1000.

Warning

⚠️ WKT works on x/y planes. Therefore, the coordinates must be sent as lng/lat instead of lat/lng.

ParameterStatusDescription
latoptionalA decimal number between -90 and 90, representing the latitude.
lngoptionalA decimal number between -180 and 180, representing the longitude.
geography_idsoptional*A comma separated list of geography ids, ex. g30_dpz89rm7 or g30_dpz89rm7,g10_dpz89rm7. If this parameter is provided, the lat and lng parameters are optional.
geography_levelsoptionalA list of geography levels to include, ex. 10,30. If no geography levels are provided, no geography scores will be returned.

Available: Neighbourhood: 10
Macro-Neighbourhood or Borough: 20
Municipality: 30
includeoptionalA list ScoreNames to return, ex. car_friendly,pedestrian_friendly. If no names are provided, all scores included in your agreement will be returned.
languageoptionalString value representing the two letter ISO 361-1 language code to return the scores in, ex. fr

Available: en and fr
location_scores_roundingoptionalThe type of rounding to apply to the scores returned under data.location. Either .5 (default) to round at the nearest 0.5, or none, to disable rounding.
radiusoptionalA positive float number (Circle radius)
radius_unitoptionalThe unit type of the radius.
Available: meter, mile.
Default: meter
polygonoptionalList of 2D lng/lat points that define a 2D polygon, using the WKT representation
* If geography ids are provided, the lat and lng arguments are optional

V3 NodeJS Example

require('node-fetch')('https://api.locallogic.co/v3/scores?' + new URLSearchParams({
lat: 41.847206,
lng: -87.668825,
geography_ids: 'g30_f25dv0me',
geography_levels: '10,20,30',
include: 'transit_friendly,quiet',
language: 'en',
}), {
method: 'GET',
headers: {
Accept: 'application/json',
Authorization: 'Bearer eyJhbGciOiJ...'
}
})
.then(response => response.json())
.then(body => {
console.log(body)
})
.catch(error => {
console.log(error)
})

V3 Python Example

import requests
response = requests.get(
"https://api.locallogic.co/v3/scores",
headers={
"Accept": "application/json",
"Authorization": "Bearer eyJhbGciOiJ..."},
params={
"lat": 43.593611,
"lng": -79.536194,
"geography_ids": "g30_f25dv0me",
"geography_levels": "10,20,30",
"include": "transit_friendly,quiet",
"language": "en",
}
)
print(response.json())
# See response example below

200 - V3 Response Example

{
"data": {
"type": "scores",
"location": {
"transit_friendly": {
"value": "4.5",
"text": "Within walking distance of a subway and frequent bus lines"
},
"quiet": { "value": "1.0", "text": "Many sources of noise nearby" }
},
"geographies": [
{
"geog_id": "g30_f25dv0me",
"name": "Westmount",
"geog_level_type": "municipality",
"scores": {
"transit_friendly": {
"value": "4.5",
"text": "Within walking distance of a subway and frequent bus lines"
},
"quiet": {
"value": "2.7",
"text": "Multiple sources of noise nearby"
}
}
},
// Plus other geography score objects
]
},
"meta": {
"message": "Successfully called v3/scores API.",
"type": "LocalLogic.API.Success",
"statusCode": 200
}
}

GET v1/scores

⚠️ The v1/scores API is deprecated.

Location Scores for a specific address can be retrieved using a latitude/longitude request.

GET v1/scores

V1 QueryString Request Parameters

ParameterStatusDescription
latrequiredA decimal number between -90 and 90 (Latitude).
lngrequiredA decimal number between -180 and 180 (Longitude).
keyrequiredThe API Key provided to you.
includeoptionalScoreNames separated by commas. See a full list of ScoreNames above. If no names are provided, all scores will be returned.
fieldsoptionalUser defined fields separated by commas.
Available: value,text,name,description,category,icon.
Default: value,text.
localeoptionalString value representing the language to return the scores.
Available: fr (French), en (English).
Default: en

V1 NodeJS Example

require('request')({
method: 'GET',
url: 'https://api.locallogic.co/v1/scores',
qs: {
lat: 45.5656,
lng: -73.5656,
key: 'YOUR_API_KEY',
include: 'transit_friendly,quiet',
fields: 'value,text,description,category,name',
locale: 'en'
}
}, function (err, response, body) {
// See response example
})

200 - V1 Response Example

{
"data": {
"type": "LocationScores",
"attributes": {
"transit_friendly": {
"value": 4.5,
"text": "Good levels of bus and rapid-transit service, but low levels of commuter rail service.",
"name": "Transit friendly",
"description": "Represents the frequency and level of service of public transit",
"category": "Transportation"
},
"quiet": {
"value": 3.5,
"text": "A little bit noisy, due to many businesses and several bars in the area.",
"name": "Quiet",
"description": "Level of noise nearby",
"category": "Character"
}
}
}
}
© Local Logic 2024