The CARTO Data Services API offers a set of location based services that can be used to programatically customize subsets of data for your visualizations.
The contents described in this document are subject to CARTO’s Terms of Service
Data Services API, like any other CARTO platform’s component, requires using an API Key. From your CARTO dashboard, click Your API keys from the avatar drop-down menu to view your uniquely generated API Key for managing data with CARTO Engine.
Learn more about the basics of authorization, or dig into the details of Auth API, if you want to know more about this part of CARTO platform.
The examples in this documentation may include a placeholder for the API Key. Ensure that you modify any placeholder parameters with your own credentials.
Data Services API uses Semantic Versioning. View our Github repository to find tags for each release.
Most of the errors fired by the API are handled by the API itself. It triggers a CartoError
every time an error happens.
A cartoError is an object containing a single message
field with a string explaining the error.
The geocoder functions allow you to match your data with geometries on your map. This geocoding service can be used programatically to geocode datasets via the CARTO SQL API. It is fed from Open Data and it serves geometries for countries, provinces, states, cities, postal codes, IP addresses and street addresses. CARTO provides functions for several different categories of geocoding through the Data Services API.
Warning: This service is subject to quota limitations and extra fees may apply. View the Quota Information section for details and recommendations about to quota consumption.
The following example displays how to geocode a single country:
1
https://{username}.carto.com/api/v2/sql?q=SELECT cdb_geocode_admin0_polygon('USA')&api_key={api_key}
In order to geocode an existent CARTO dataset, an SQL UPDATE statement must be used to populate the geometry column in the dataset with the results of the Data Services API. For example, if the column where you are storing the country names for each one of our rows is called country_column
, run the following statement in order to geocode the dataset:
1
https://{username}.carto.com/api/v2/sql?q=UPDATE {tablename} SET the_geom = cdb_geocode_admin0_polygon('USA')&api_key={api_key}
Notice that you can make use of Postgres or PostGIS functions in your Data Services API requests, as the result is a geometry that can be handled by the system. For example, suppose you need to retrieve the centroid of a specific country, you can wrap the resulting geometry from the geocoder functions inside the PostGIS ST_Centroid
function:
1
https://{username}.carto.com/api/v2/sql?q=UPDATE {tablename} SET the_geom = ST_Centroid(cdb_geocode_admin0_polygon('USA'))&api_key={api_key}
The following geocoding functions are available, grouped by categories.
This function geocodes your data into country border geometries. It recognizes the names of the different countries either by different synonyms (such as their English name or their endonym), or by ISO (ISO2 or ISO3) codes.
Geocodes the text name of a country into a country_name geometry, displayed as polygon data.
Name | Type | Description |
---|---|---|
country_name |
text |
Name of the country |
Geometry (polygon, EPSG 4326) or null
1
UPDATE {tablename} SET the_geom = cdb_geocode_admin0_polygon({country_column})
1
INSERT INTO {tablename} (the_geom) SELECT cdb_geocode_admin0_polygon('France')
This function geocodes your data into polygon geometries for Level 1, or NUTS-1, administrative divisions (or units) of countries. For example, a “state” in the United States, “départements” in France, or an autonomous community in Spain.
Geocodes the name of the province/state into a Level-1 administrative region, displayed as a polygon geometry.
Name | Type | Description |
---|---|---|
admin1_name |
text |
Name of the province/state |
Geometry (polygon, EPSG 4326) or null
1
UPDATE {tablename} SET the_geom = cdb_geocode_admin1_polygon({province_column})
1
INSERT INTO {tablename} (the_geom) SELECT cdb_geocode_admin1_polygon('Alicante')
Geocodes the name of the province/state for a specified country into a Level-1 administrative region, displayed as a polygon geometry.
Name | Type | Description |
---|---|---|
admin1_name |
text |
Name of the province/state |
country_name |
text |
Name of the country in which the province/state is located |
Geometry (polygon, EPSG 4326) or null
1
UPDATE {tablename} SET the_geom = cdb_geocode_admin1_polygon({province_column}, {country_column})
1
INSERT INTO {tablename} (the_geom) SELECT cdb_geocode_admin1_polygon('Alicante', 'Spain')
This function geocodes your data into point geometries for names of cities. It is recommended to use geocoding functions that require more defined parameters — this returns more accurate results when several cities have the same name. If there are duplicate results for a city name, the city name with the highest population will be returned.
Geocodes the text name of a city into a named place geometry, displayed as point data.
Name | Type | Description |
---|---|---|
city_name |
text |
Name of the city |
Geometry (point, EPSG 4326) or null
1
UPDATE {tablename} SET the_geom = cdb_geocode_namedplace_point({city_column})
1
INSERT INTO {tablename} (the_geom) SELECT cdb_geocode_namedplace_point('Barcelona')
Geocodes the text name of a city for a specified country into a named place point geometry.
Name | Type | Description |
---|---|---|
city_name |
text |
Name of the city |
country_name |
text |
Name of the country in which the city is located |
Geometry (point, EPSG 4326) or null
1
UPDATE {tablename} SET the_geom = cdb_geocode_namedplace_point({city_column}, 'Spain')
1
INSERT INTO {tablename} (the_geom) SELECT cdb_geocode_namedplace_point('Barcelona', 'Spain')
Geocodes your data into a named place point geometry, containing the text name of a city, for a specified province/state and country. This is recommended for the most accurate geocoding of city data.
Name | Type | Description |
---|---|---|
city_name |
text |
Name of the city |
admin1_name |
text |
Name of the province/state in which the city is located |
country_name |
text |
Name of the country in which the city is located |
Geometry (point, EPSG 4326) or null
1
UPDATE {tablename} SET the_geom = cdb_geocode_namedplace_point({city_column}, {province_column}, 'USA')
1
INSERT INTO {tablename} (the_geom) SELECT cdb_geocode_namedplace_point('New York', 'New York', 'USA')
These functions geocode your data into point, or polygon, geometries for postal codes. The postal code geocoder covers the United States, France, Australia and Canada; a request for a different country will return an empty response.
Note: For the USA, US Census Zip Code Tabulation Areas (ZCTA) are used to reference geocodes for USPS postal codes service areas. This is not a CARTO restriction, this is a US Government licensing protection of their zip code data source; which is not publicly available. Additionally, zip codes are considered service areas and are not actually geometric areas. As a solution, the US Census provides ZCTA data, which tabulates GIS postal codes for USPS locations by aggregating census blocks. For details about how ZCTAs are created, see ZIP Code™ Tabulation Areas (ZCTAs™). If you are geocoding data and your zip codes fail, ensure you are using ZCTAs for the postal code.
Geocodes the postal code for a specified country into a polygon geometry.
Name | Type | Description |
---|---|---|
postal_code |
text |
Postal code |
country_name |
text |
Name of the country in which the postal code is located |
Geometry (polygon, EPSG 4326) or null
1
UPDATE {tablename} SET the_geom = cdb_geocode_postalcode_polygon({postal_code_column}, 'USA')
1
INSERT INTO {tablename} (the_geom) SELECT cdb_geocode_postalcode_polygon('11211', 'USA')
Geocodes the postal code for a specified country into a point geometry.
Name | Type | Description |
---|---|---|
postal_code |
text |
Postal code |
country_name |
text |
Name of the country in which the postal code is located |
Geometry (point, EPSG 4326) or null
1
UPDATE {tablename} SET the_geom = cdb_geocode_postalcode_point({postal_code_column}, 'USA')
1
INSERT INTO {tablename} (the_geom) SELECT cdb_geocode_postalcode_point('11211', 'USA')
This function geocodes your data into point geometries for IP addresses. This is useful if you are analyzing location based data, based on a set of user’s IP addresses.
Geocodes a postal code from a specified country into an IP address, displayed as a point geometry.
Name | Type | Description |
---|---|---|
ip_address |
text |
IPv4 or IPv6 address |
Geometry (point, EPSG 4326) or null
1
UPDATE {tablename} SET the_geom = cdb_geocode_ipaddress_point('102.23.34.1')
1
INSERT INTO {tablename} (the_geom) SELECT cdb_geocode_ipaddress_point('102.23.34.1')
This function geocodes your data into a point geometry for a street address. CARTO uses several different service providers for street-level geocoding, depending on your platform. If you access CARTO on a Google Cloud Platform, Google Maps geocoding is applied. All other platform users are provided with Mapbox geocoding services. Contact us if you have any specific questions or requirements about the location data service provider being used with your account._.
This service is subject to quota limitations, and extra fees may apply. View the Quota information for details and recommendations about quota consumption.
Geocodes a complete address into a single street geometry, displayed as point data.
Name | Type | Description |
---|---|---|
searchtext |
text |
searchtext contains free-form text containing address elements. You can specify the searchtext parameter by itself, or with other parameters, to narrow your search. For example, you can specify the state or country parameters, along with a free-form address in the searchtext field. |
city |
text |
(Optional) Name of the city. |
state |
text |
(Optional) Name of the state. |
country |
text |
(Optional) Name of the country. |
Geometry (point, EPSG 4326) or null
1
UPDATE {tablename} SET the_geom = cdb_geocode_street_point({street_name_column})
1
INSERT INTO {tablename} (the_geom) SELECT cdb_geocode_street_point('651 Lombard Street', 'San Francisco', 'California', 'United States')
Isolines are contoured lines that display equally calculated levels over a given surface area. This enables you to view polygon dimensions by forward or reverse measurements. Isoline functions are calculated as the intersection of areas from the origin point, measured by distance (isodistance) or time (isochrone). For example, the distance of a road from a sidewalk. Isoline services through CARTO are available by requesting a single function in the Data Services API.
This service is subject to quota limitations and extra fees may apply. View the Quota Information section for details and recommendations about to quota consumption.
You can use the isoline functions to retrieve, for example, isochrone lines from a certain location, specifying the mode and the ranges that will define each of the isolines. The following query calculates isolines for areas that are 5, 10 and 15 minutes (300, 600 and 900 seconds, respectively) away from the location by following a path defined by car routing and inserts them into a table.
1
https://{username}.carto.com/api/v2/sql?q=INSERT INTO {table} (the_geom) SELECT the_geom FROM cdb_isodistance('POINT(-3.70568 40.42028)'::geometry, 'car', ARRAY[300, 600, 900]::integer[])&api_key={api_key}
The following functions provide an isoline generator service, based on time or distance. This service uses the isolines service defined for your account. The default service limits the usage of displayed polygons represented on top of Mapbox maps.
Displays a contoured line on a map, connecting geometries to a defined area, measured by an equal range of distance (in meters).
Name | Type | Description | Accepted values |
---|---|---|---|
source |
geometry |
Source point, in 4326 projection, which defines the start location. | |
mode |
text |
Type of transport used to calculate the isolines. | car or walk |
range |
integer[] |
Range of the isoline, in meters. | |
options |
text[] |
(Optional) Multiple options to add more capabilities to the analysis. See Optional isolines parameters for details. |
Name | Type | Description |
---|---|---|
center |
geometry |
Source point, in 4326 projection, which defines the start location. |
data_range |
integer |
The range that belongs to the generated isoline. |
the_geom |
geometry(MultiPolygon) |
MultiPolygon geometry of the generated isoline in the 4326 projection. |
1
INSERT INTO {table} (the_geom) SELECT the_geom FROM cdb_isodistance('POINT(-3.70568 40.42028)'::geometry, 'walk', ARRAY[300, 600, 900]::integer[])
or equivalently:
1
INSERT INTO {table} (the_geom) SELECT (cdb_isodistance('POINT(-3.70568 40.42028)'::geometry, 'walk', ARRAY[300, 600, 900]::integer[])).the_geom
points_table
table to another table1
INSERT INTO {table} (the_geom) SELECT (cdb_isodistance(the_geom, 'walk', string_to_array(distance, ',')::integer[])).the_geom FROM {points_table}
Displays a contoured line on a map, connecting geometries to a defined area, measured by an equal range of time (in seconds).
This function uses the same parameters and information as the cdb_isodistance
function, with the exception that the range is measured in seconds instead of meters.
Name | Type | Description | Accepted values |
---|---|---|---|
source |
geometry |
Source point, in 4326 projection, which defines the start location. | |
mode |
text |
Type of transport used to calculate the isolines. | car or walk |
range |
integer[] |
Range of the isoline, in seconds. | |
options |
text[] |
(Optional) Multiple options to add more capabilities to the analysis. See Optional isolines parameters for details. |
1
INSERT INTO {table} (the_geom) SELECT the_geom FROM cdb_isochrone('POINT(-3.70568 40.42028)'::geometry, 'car', ARRAY[300, 900, 12000]::integer[], ARRAY['mode_traffic=enabled','quality=3']::text[])
or equivalently:
1
INSERT INTO {table} (the_geom) SELECT (cdb_isochrone('POINT(-3.70568 40.42028)'::geometry, 'car', ARRAY[300, 900, 12000]::integer[], ARRAY['mode_traffic=enabled','quality=3']::text[])).the_geom
points_table
table into another table1
INSERT INTO {table} (the_geom) SELECT (cdb_isochrone(the_geom, 'walk', string_to_array(time_distance, ',')::integer[])).the_geom FROM {points_table}
The optional value parameters must be passed using the format: option=value
.
Name | Type | Description | Accepted values |
---|---|---|---|
is_destination |
boolean |
If true, the source point is the destination instead of the starting location | true or false . false by default |
mode_type |
text |
Type of route calculation | shortest or fastest . shortest by default |
mode_traffic |
text |
Use traffic data to calculate the route | enabled or disabled . disabled by default |
resolution |
text |
Allows you to specify the level of detail needed for the isoline polygon. Unit is meters per pixel. Higher resolution may increase the response time of the service. | |
maxpoints |
text |
Allows you to limit the amount of points in the returned isoline. If the isoline consists of multiple components, the sum of points from all components is considered. Each component will have at least two points. It is possible that more points than specified could be returned, in case when 2 * number of components is higher than the maxpoints value itself. Increasing the number of maxpoints may increase the response time of the service. |
|
quality |
text |
Allows you to reduce the quality of the isoline in favor of the response time. | 1 , 2 , 3 . Default value is 1 , corresponding to the best quality option. |
The Demographic Snapshot enables you to collect demographic reports around a point location. For example, you can take the coordinates of a coffee shop and find the average population characteristics, such as total population, educational attainment, housing and income information around that location. You can use raw street addresses by combining the Demographic Snapshot with CARTO’s geocoding features. If you need help creating coordinates from addresses, see the Geocoding Functions documentation.
Note: The Demographic Snapshot functions are only available for the United States.
Fields returned include information about income, education, transportation, race, and more. Not all fields will have information for every coordinate queried.
Name | Description | Example Values |
---|---|---|
point geometry | A point geometry. You can use the helper function, CDB_LatLng to quickly generate one from latitude and longitude |
CDB_LatLng(40.760410,-73.964242) |
The Demographic Snapshot contains a broad subset of demographic measures in the Data Observatory. Over 80 measurements are returned by a single API request. For each demographic measure, the API returns the following values.
Value | Name | Tablename | Aggregate | Type | Description |
---|---|---|---|---|---|
The value of the measure at the point you requested | The name of the measure | The table it was drawn from | Indicated if the measure is a count or median. | postgresql | A description of the measure |
For example the “Female Population” measure returns
1
2
3
4
5
6
7
8
obs_getdemographicsnapshot: {
"value": 32.5395066379175,
"name": "Female Population",
"tablename": "obs_1a098da56badf5f32e336002b0a81708c40d29cd",
"aggregate": "sum",
"type": "Numeric",
"description": "The number of people within each geography who are female."
}
For details, see the Glossary of Demographic Measures.
1
2
https://{username}.carto.com/api/v2/sql?q=SELECT * FROM
OBS_GetDemographicSnapshot()
####### Get the Geographic Snapshot of a Demographic
Get the Demographic Snapshot at Camp David
1
2
https://{username}.carto.com/api/v2/sql?q=SELECT * FROM
OBS_GetDemographicSnapshot(CDB_LatLng(39.648333, -77.465))
Get the Demographic Snapshot in the Upper West Side
1
2
https://{username}.carto.com/api/v2/sql?q=SELECT * FROM
OBS_GetDemographicSnapshot(CDB_LatLng(40.80, -73.960))
This list contains the demographic measures and response names for results from the OBS_GetDemographicSnapshot
function.
Measure name | Measure Description | Response Mame | Response Units |
---|---|---|---|
Total Population | The total number of all people living in a given geographic area. This is a very useful catch-all denominator when calculating rates. | total_pop | Count per sq. km |
Male Population | The number of people within each geography who are male. | male_pop | Count per sq. km |
Female Population | The number of people within each geography who are female. | female_pop | Count per sq. km |
Population not Hispanic | The number of people not identifying as Hispanic or Latino in each geography. | not_hispanic_pop | Count per sq. km |
White Population | The number of people identifying as white, non-Hispanic in each geography. | white_pop | Count per sq. km |
Black or African American Population | The number of people identifying as black or African American, non-Hispanic in each geography. | black_pop | Count per sq. km |
American Indian and Alaska Native Population | The number of people identifying as American Indian or Alaska native in each geography. | amerindian_pop | Count per sq. km |
Asian Population | The number of people identifying as Asian, non-Hispanic in each geography. | asian_pop | Count per sq. km |
Other Race population | The number of people identifying as another race in each geography. | other_race_pop | Count per sq. km |
Two or more races population | The number of people identifying as two or more races in each geography | two_or_more_races_pop | Count per sq. km |
Hispanic Population | The number of people identifying as Hispanic or Latino in each geography. | hispanic_pop | Count per sq. km |
Not a U.S. Citizen Population | The number of people within each geography who indicated that they are not U.S. citizens. | not_us_citizen_pop | Count per sq. km |
Median Age | The median age of all people in a given geographic area. | median_age | Years |
Children under 18 Years of Age | The number of people within each geography who are under 18 years of age. | children | Count per sq. km |
Population 15 Years and Over | The number of people in a geographic area who are over the age of 15. This is used mostly as a denominator of marital status. | pop_15_and_over | Count per sq. km |
Population 3 Years and Over | The total number of people in each geography age 3 years and over. This denominator is mostly used to calculate rates of school enrollment. | population_3_years_over | Count per sq. km |
Population 5 Years and Over | The number of people in a geographic area who are over the age of 5. This is primarily used as a denominator of measures of language spoken at home. | pop_5_years_over | Count per sq. km |
Workers over the Age of 16 | The number of people in each geography who work. Workers include those employed at private for-profit companies, the self-employed, government workers and non-profit employees. | workers_16_and_over | Count per sq. km |
Workers age 16 and over who do not work from home | The number of workers over the age of 16 who do not work from home in a geographic area | commuters_16_over | Count per sq. km |
Commuters by Car, Truck, or Van | The number of workers age 16 years and over within a geographic area who primarily traveled to work by car, truck or van. This is the principal mode of travel or type of conveyance, by distance rather than time, that the worker usually used to get from home to work. | commuters_by_car_truck_van | Count per sq. km |
Commuters who drove alone | The number of workers age 16 years and over within a geographic area who primarily traveled by car driving alone. This is the principal mode of travel or type of conveyance, by distance rather than time, that the worker usually used to get from home to work. | commuters_drove_alone | Count per sq. km |
Commuters by Carpool | The number of workers age 16 years and over within a geographic area who primarily traveled to work by carpool. This is the principal mode of travel or type of conveyance, by distance rather than time, that the worker usually used to get from home to work. | commuters_by_carpool | Count per sq. km |
Commuters by Public Transportation | The number of workers age 16 years and over within a geographic area who primarily traveled to work by public transportation. This is the principal mode of travel or type of conveyance, by distance rather than time, that the worker usually used to get from home to work. | commuters_by_public_transportation | Count per sq. km |
Commuters by Bus | The number of workers age 16 years and over within a geographic area who primarily traveled to work by bus. This is the principal mode of travel or type of conveyance, by distance rather than time, that the worker usually used to get from home to work. This is a subset of workers who commuted by public transport. | commuters_by_bus | Count per sq. km |
Commuters by Subway or Elevated | The number of workers age 16 years and over within a geographic area who primarily traveled to work by subway or elevated train. This is the principal mode of travel or type of conveyance, by distance rather than time, that the worker usually used to get from home to work. This is a subset of workers who commuted by public transport. | commuters_by_subway_or_elevated | Count per sq. km |
Walked to Work | The number of workers age 16 years and over within a geographic area who primarily walked to work. This would mean that of any way of getting to work, they travelled the most distance walking. | walked_to_work | Count per sq. km |
Worked at Home | The count within a geographical area of workers over the age of 16 who worked at home. | worked_at_home | Count per sq. km |
Number of workers with less than 10 minute commute | The number of workers over the age of 16 who do not work from home and commute in less than 10 minutes in a geographic area. | commute_less_10_mins | Count per sq. km |
Number of workers with a commute between 10 and 14 minutes | The number of workers over the age of 16 who do not work from home and commute in between 10 and 14 minutes in a geographic area. | commute_10_14_mins | Count per sq. km |
Number of workers with a commute between 15 and 19 minutes | The number of workers over the age of 16 who do not work from home and commute in between 15 and 19 minutes in a geographic area. | commute_15_19_mins | Count per sq. km |
Number of workers with a commute between 20 and 24 minutes | The number of workers over the age of 16 who do not work from home and commute in between 20 and 24 minutes in a geographic area. | commute_20_24_mins | Count per sq. km |
Number of workers with a commute between 25 and 29 minutes | The number of workers over the age of 16 who do not work from home and commute in between 25 and 29 minutes in a geographic area. | commute_25_29_mins | Count per sq. km |
Number of workers with a commute between 30 and 34 minutes | The number of workers over the age of 16 who do not work from home and commute in between 30 and 34 minutes in a geographic area. | commute_30_34_mins | Count per sq. km |
Number of workers with a commute between 35 and 44 minutes | The number of workers over the age of 16 who do not work from home and commute in between 35 and 44 minutes in a geographic area. | commute_35_44_mins | Count per sq. km |
Number of workers with a commute between 45 and 59 minutes | The number of workers over the age of 16 who do not work from home and commute in between 45 and 59 minutes in a geographic area. | commute_45_59_mins | Count per sq. km |
Number of workers with a commute of over 60 minutes | The number of workers over the age of 16 who do not work from home and commute in over 60 minutes in a geographic area. | commute_60_more_mins | Count per sq. km |
Aggregate travel time to work | The total number of minutes every worker over the age of 16 who did not work from home spent spent commuting to work in one day in a geographic area. | aggregate_travel_time_to_work | Minutes |
Households | A count of the number of households in each geography. A household consists of one or more people who live in the same dwelling and also share at meals or living accommodation, and may consist of a single family or some other grouping of people. | households | Count per sq. km |
Never Married | The number of people in a geographic area who have never been married. | pop_never_married | Count per sq. km |
Currently married | The number of people in a geographic area who are currently married. | pop_now_married | Count per sq. km |
Married but separated | The number of people in a geographic area who are married but separated. | pop_separated | Count per sq. km |
Widowed | The number of people in a geographic area who are widowed. | pop_widowed | Count per sq. km |
Divorced | The number of people in a geographic area who are divorced. | pop_divorced | Count per sq. km |
Students Enrolled in School | The total number of people in each geography currently enrolled at any level of school, from nursery or pre-school to advanced post-graduate education. Only includes those over the age of 3. | in_school | Count per sq. km |
Students Enrolled in Grades 1 to 4 | The total number of people in each geography currently enrolled in grades 1 through 4 inclusive. This corresponds roughly to elementary school. | in_grades_1_to_4 | Count per sq. km |
Students Enrolled in Grades 5 to 8 | The total number of people in each geography currently enrolled in grades 5 through 8 inclusive. This corresponds roughly to middle school. | in_grades_5_to_8 | Count per sq. km |
Students Enrolled in Grades 9 to 12 | The total number of people in each geography currently enrolled in grades 9 through 12 inclusive. This corresponds roughly to high school. | in_grades_9_to_12 | Count per sq. km |
Students Enrolled as Undergraduate in College | The number of people in a geographic area who are enrolled in college at the undergraduate level. Enrollment refers to being registered or listed as a student in an educational program leading to a college degree. This may be a public school or college, a private school or college. | in_undergrad_college | Count per sq. km |
Population 25 Years and Over | The number of people in a geographic area who are over the age of 25. This is used mostly as a denominator of educational attainment. | pop_25_years_over | Count per sq. km |
Population Completed High School | The number of people in a geographic area over the age of 25 who completed high school, and did not complete a more advanced degree. | high_school_diploma | Count per sq. km |
Population completed less than one year of college, no degree | The number of people in a geographic area over the age of 25 who attended college for less than one year and no further. | less_one_year_college | Count per sq. km |
Population completed more than one year of college, no degree | The number of people in a geographic area over the age of 25 who attended college for more than one year but did not obtain a degree. | one_year_more_college | Count per sq. km |
Population Completed Associate’s Degree | The number of people in a geographic area over the age of 25 who obtained a associate’s degree, and did not complete a more advanced degree. | associates_degree | Count per sq. km |
Population Completed Bachelor’s Degree | The number of people in a geographic area over the age of 25 who obtained a bachelor’s degree, and did not complete a more advanced degree. | bachelors_degree | Count per sq. km |
Population Completed Master’s Degree | The number of people in a geographic area over the age of 25 who obtained a master’s degree, but did not complete a more advanced degree. | masters_degree | Count per sq. km |
Speaks only English at Home | The number of people in a geographic area over age 5 who speak only English at home. | speak_only_english_at_home | Count per sq. km |
Speaks Spanish at Home | The number of people in a geographic area over age 5 who speak Spanish at home, possibly in addition to other languages. | speak_spanish_at_home | Count per sq. km |
Population for Whom Poverty Status Determined | The number of people in each geography who could be identified as either living in poverty or not. This should be used as the denominator when calculating poverty rates, as it excludes people for whom it was not possible to determine poverty. | pop_determined_poverty_status | Count per sq. km |
Income In The Past 12 Months Below Poverty Level | The number of people in a geographic area who are part of a family (which could be just them as an individual) determined to be “in poverty” following the Office of Management and Budget’s Directive 14. | poverty | Count per sq. km |
Households with income less than $10,000 | The number of households in a geographic area whose annual income was less than $10,000. | income_less_10000 | Count per sq. km |
Households with income of $10,000 to $14,999 | The number of households in a geographic area whose annual income was between $10,000 and $14,999. | income_10000_14999 | Count per sq. km |
Households with income of $15,000 to $19,999 | The number of households in a geographic area whose annual income was between $15,000 and $19,999. | income_15000_19999 | Count per sq. km |
Households with income of $20,000 To $24,999 | The number of households in a geographic area whose annual income was between $20,000 and $24,999. | income_20000_24999 | Count per sq. km |
Households with income of $25,000 To $29,999 | The number of households in a geographic area whose annual income was between $20,000 and $24,999. | income_25000_29999 | Count per sq. km |
Households with income of $30,000 To $34,999 | The number of households in a geographic area whose annual income was between $30,000 and $34,999. | income_30000_34999 | Count per sq. km |
Households with income of $35,000 To $39,999 | The number of households in a geographic area whose annual income was between $35,000 and $39,999. | income_35000_39999 | Count per sq. km |
Households with income of $40,000 To $44,999 | The number of households in a geographic area whose annual income was between $40,000 and $44,999. | income_40000_44999 | Count per sq. km |
Households with income of $45,000 To $49,999 | The number of households in a geographic area whose annual income was between $45,000 and $49,999. | income_45000_49999 | Count per sq. km |
Households with income of $50,000 To $59,999 | The number of households in a geographic area whose annual income was between $50,000 and $59,999. | income_50000_59999 | Count per sq. km |
Households with income of $60,000 To $74,999 | The number of households in a geographic area whose annual income was between $60,000 and $74,999. | income_60000_74999 | Count per sq. km |
Households with income of $75,000 To $99,999 | The number of households in a geographic area whose annual income was between $75,000 and $99,999. | income_75000_99999 | Count per sq. km |
Households with income of $100,000 To $124,999 | The number of households in a geographic area whose annual income was between $100,000 and $124,999. | income_100000_124999 | Count per sq. km |
Households with income of $125,000 To $149,999 | The number of households in a geographic area whose annual income was between $125,000 and $149,999. | income_125000_149999 | Count per sq. km |
Households with income of $150,000 To $199,999 | The number of households in a geographic area whose annual income was between $150,000 and $1999,999. | income_150000_199999 | Count per sq. km |
Households with income of $200,000 Or More | The number of households in a geographic area whose annual income was more than $200,000. | income_200000_or_more | Count per sq. km |
Median Household Income in the past 12 Months | Within a geographic area, the median income received by every household on a regular basis before payments for personal income taxes, social security, union dues, medicare deductions, etc. It includes income received from wages, salary, commissions, bonuses, and tips; self-employment income from own nonfarm or farm businesses, including proprietorships and partnerships; interest, dividends, net rental income, royalty income, or income from estates and trusts; Social Security or Railroad Retirement income; Supplemental Security Income (SSI); any cash public assistance or welfare payments from the state or local welfare office; retirement, survivor, or disability benefits; and any other sources of income received regularly such as Veterans’ (VA) payments, unemployment and/or worker’s compensation, child support, and alimony. | median_income | USD |
Per Capita Income in the past 12 Months | income_per_capita | USD | |
Gini Index | A measurement of the income distribution of a country’s residents. | gini_index | None |
Housing Units | A count of housing units in each geography. A housing unit is a house, an apartment, a mobile home or trailer, a group of rooms, or a single room occupied as separate living quarters, or if vacant, intended for occupancy as separate living quarters. | housing_units | Count per sq. km |
Vacant Housing Units | The count of vacant housing units in a geographic area. A housing unit is vacant if no one is living in it at the time of enumeration, unless its occupants are only temporarily absent. Units temporarily occupied at the time of enumeration entirely by people who have a usual residence elsewhere are also classified as vacant. | vacant_housing_units | Count per sq. km |
Vacant Housing Units for Rent | The count of vacant housing units in a geographic area that are for rent. A housing unit is vacant if no one is living in it at the time of enumeration, unless its occupants are only temporarily absent. Units temporarily occupied at the time of enumeration entirely by people who have a usual residence elsewhere are also classified as vacant. | vacant_housing_units_for_rent | Count per sq. km |
Vacant Housing Units for Sale | The count of vacant housing units in a geographic area that are for sale. A housing unit is vacant if no one is living in it at the time of enumeration, unless its occupants are only temporarily absent. Units temporarily occupied at the time of enumeration entirely by people who have a usual residence elsewhere are also classified as vacant. | vacant_housing_units_for_sale | Count per sq. km |
Owner-occupied Housing Units | The count of owner occupied housing units in a geographic area. | owner_occupied_housing_units | Count per sq. km |
Owner-occupied Housing Units valued at $1,000,000 or more. | The count of owner occupied housing units in a geographic area that are valued at $1,000,000 or more. Value is the respondent’s estimate of how much the property (house and lot, mobile home and lot, or condominium unit) would sell for if it were for sale. | million_dollar_housing_units | Count per sq. km |
Owner-occupied Housing Units with a Mortgage | The count of housing units within a geographic area that are mortagaged. “Mortgage” refers to all forms of debt where the property is pledged as security for repayment of the debt, including deeds of trust, trust deed, contracts to purchase, land contracts, junior mortgages, and home equity loans. | mortgaged_housing_units | Count per sq. km |
Median Rent | The median contract rent within a geographic area. The contract rent is the monthly rent agreed to or contracted for, regardless of any furnishings, utilities, fees, meals, or services that may be included. For vacant units, it is the monthly rent asked for the rental unit at the time of interview. | median_rent | USD |
Percent of Household Income Spent on Rent | Within a geographic area, the median percentage of household income which was spent on gross rent. Gross rent is the amount of the contract rent plus the estimated average monthly cost of utilities (electricity, gas, water, sewer etc.) and fuels (oil, coal, wood, etc.) if these are paid by the renter. Household income is the sum of the income of all people 15 years and older living in the household. | percent_income_spent_on_rent | Percent |
Routing is the navigation from a defined start location to a defined end location. The calculated results are displayed as turn-by-turn directions on your map, based on the transportation mode that you specified. Routing services through CARTO are available by using the available functions in the Data Services API.
Returns a route from origin to destination.
Name | Type | Description | Accepted values |
---|---|---|---|
origin |
geometry(Point) |
Origin point, in 4326 projection, which defines the start location. | |
destination |
geometry(Point) |
Destination point, in 4326 projection, which defines the end location. | |
mode |
text |
Type of transport used to calculate the routes. | car , walk , bicycle or public_transport |
options |
text[] |
(Optional) Multiple options to add more capabilities to the analysis. See Optional routing parameters for details. | |
units |
text |
(Optional) Unit used to represent the length of the route. | kilometers , miles . By default is kilometers . This option is not supported by Mapbox provider |
Name | Type | Description |
---|---|---|
duration |
integer |
Duration in seconds of the calculated route. |
length |
real |
Length in the defined unit in the units field. meters by default . |
the_geom |
geometry(LineString) |
LineString geometry of the calculated route in the 4326 projection. |
1
INSERT INTO <TABLE> (duration, length, the_geom) SELECT duration, length, shape FROM cdb_route_point_to_point('POINT(-3.70237112 40.41706163)'::geometry,'POINT(-3.69909883 40.41236875)'::geometry, 'car')
1
UPDATE <TABLE> SET the_geom = (SELECT shape FROM cdb_route_point_to_point('POINT(-3.70237112 40.41706163)'::geometry,'POINT(-3.69909883 40.41236875)'::geometry, 'car', ARRAY['mode_type=shortest']::text[]))
Returns a route that goes from origin to destination and whose path travels through the defined locations.
Name | Type | Description | Accepted values |
---|---|---|---|
waypoints |
geometry(Point)[] |
Array of ordered points, in 4326 projection, which defines the origin point, one or more locations for the route path to travel through, and the destination. The first element of the array defines the origin and the last element the destination of the route. | |
mode |
text |
Type of transport used to calculate the routes. | car , walk , bicycle or public_transport |
options |
text[] |
(Optional) Multiple options to add more capabilities to the analysis. See Optional routing parameters for details. | |
units |
text |
(Optional) Unit used to represent the length of the route. | kilometers , miles . By default is kilometers . This option is not supported by Mapbox provider |
Name | Type | Description |
---|---|---|
duration |
integer |
Duration in seconds of the calculated route. |
length |
real |
Length in the defined unit in the units field. meters by default . |
the_geom |
geometry(LineString) |
LineString geometry of the calculated route in the 4326 projection. |
Note: A request to the function cdb_route_with_waypoints(waypoints geometry(Point)[], mode text, [options text[], units text]) with only two points in the geometry array are automatically defined as origin and destination. It is equivalent to performing the following request with these two locations as parameters: cdb_route_point_to_point(origin geometry(Point), destination geometry(Point), mode text, [options text[], units text]).
1
INSERT INTO <TABLE> (duration, length, the_geom) SELECT duration, length, shape FROM cdb_route_with_waypoints(Array['POINT(-3.7109 40.4234)'::GEOMETRY, 'POINT(-3.7059 40.4203)'::geometry, 'POINT(-3.7046 40.4180)'::geometry]::geometry[], 'walk')
1
UPDATE <TABLE> SET the_geom = (SELECT shape FROM cdb_route_with_waypoints(Array['POINT(-3.7109 40.4234)'::GEOMETRY, 'POINT(-3.7059 40.4203)'::geometry, 'POINT(-3.7046 40.4180)'::geometry]::geometry[], 'car', ARRAY['mode_type=shortest']::text[]))
The optional value parameters must be passed using the format: option=value
. Not all are available for all the routing providers
Name | Type | Description | Accepted values |
---|---|---|---|
mode_type |
text |
Type of route calculation | shortest (this option only applies to the car transport mode) |
The Segmentation Snapshot functions enable you to determine the pre-calculated population segment for a location. Segmentation is a method that divides a populations into subclassifications based on common traits. For example, you can take the a store location and determine what classification of population exists around that location. If you need help creating coordinates from addresses, see the Geocoding Functions documentation.
Note: The Segmentation Snapshot functions are only available for the United States. Our first release (May 18, 2016) is derived from Census 2010 variables. Our next release will be based on Census 2014 data. For the latest information, see the Open Segments project repository.
Name | Description | Example Values |
---|---|---|
point geometry | A point geometry. You can use the helper function, CDB_LatLng to quickly generate one from latitude and longitude |
CDB_LatLng(40.760410,-73.964242) |
The segmentation function returns two segment levels for the point you requests, the x10_segment and x55_segment. These segmentation levels contain different classifications of population within with each segment. The function also returns the quantile of a number of census variables. For example, if total_poulation is at 90% quantile level then this tract has a higher total population than 90% of the other tracts.
Name | Type | Description |
---|---|---|
x10_segment | text | The demographic segment location at the 10 segment level, containing populations at high-levels, broken down into 10 broad categories |
x55_segment | text | The demographic segment location at the 55 segment level, containing more granular sub-levels to categorize the population |
An example response appears as follows:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
obs_getsegmentsnapshot: {
"x10_segment": "Wealthy, urban without Kids",
"x55_segment": "Wealthy city commuters",
"us.census.acs.B01001001_quantile": "0.0180540540540541",
"us.census.acs.B01001002_quantile": "0.0279864864864865",
"us.census.acs.B01001026_quantile": "0.016527027027027",
"us.census.acs.B01002001_quantile": "0.507297297297297",
"us.census.acs.B03002003_quantile": "0.133162162162162",
"us.census.acs.B03002004_quantile": "0.283743243243243",
"us.census.acs.B03002006_quantile": "0.683945945945946",
"us.census.acs.B03002012_quantile": "0.494594594594595",
"us.census.acs.B05001006_quantile": "0.670972972972973",
"us.census.acs.B08006001_quantile": "0.0607567567567568",
"us.census.acs.B08006002_quantile": "0.0684324324324324",
"us.census.acs.B08006008_quantile": "0.565135135135135",
"us.census.acs.B08006009_quantile": "0.638081081081081",
"us.census.acs.B08006011_quantile": "0",
"us.census.acs.B08006015_quantile": "0.900932432432432",
"us.census.acs.B08006017_quantile": "0.186648648648649",
"us.census.acs.B09001001_quantile": "0.0193513513513514",
"us.census.acs.B11001001_quantile": "0.0617972972972973",
"us.census.acs.B14001001_quantile": "0.0179594594594595",
"us.census.acs.B14001002_quantile": "0.0140405405405405",
"us.census.acs.B14001005_quantile": "0",
"us.census.acs.B14001006_quantile": "0",
"us.census.acs.B14001007_quantile": "0",
"us.census.acs.B14001008_quantile": "0.0609054054054054",
"us.census.acs.B15003001_quantile": "0.0314594594594595",
"us.census.acs.B15003017_quantile": "0.0403378378378378",
"us.census.acs.B15003022_quantile": "0.285972972972973",
"us.census.acs.B15003023_quantile": "0.214567567567568",
"us.census.acs.B16001001_quantile": "0.0181621621621622",
"us.census.acs.B16001002_quantile": "0.0463108108108108",
"us.census.acs.B16001003_quantile": "0.540540540540541",
"us.census.acs.B17001001_quantile": "0.0237567567567568",
"us.census.acs.B17001002_quantile": "0.155972972972973",
"us.census.acs.B19013001_quantile": "0.380662162162162",
"us.census.acs.B19083001_quantile": "0.986891891891892",
"us.census.acs.B19301001_quantile": "0.989594594594595",
"us.census.acs.B25001001_quantile": "0.998418918918919",
"us.census.acs.B25002003_quantile": "0.999824324324324",
"us.census.acs.B25004002_quantile": "0.999986486486486",
"us.census.acs.B25004004_quantile": "0.999662162162162",
"us.census.acs.B25058001_quantile": "0.679054054054054",
"us.census.acs.B25071001_quantile": "0.569716216216216",
"us.census.acs.B25075001_quantile": "0.0415",
"us.census.acs.B25075025_quantile": "0.891702702702703"
}
The possible segments are:
X10 segment | X55 Segment |
---|---|
Hispanic and kids | |
Middle Class, Educated, Suburban, Mixed Race | |
Low Income on Urban Periphery | |
Suburban, Young and Low-income | |
low-income, urban, young, unmarried | |
Low education, mainly suburban | |
Young, working class and rural | |
Low-Income with gentrification | |
Low Income and Diverse | |
High school education Long Commuters, Black, White Hispanic mix | |
Rural, Bachelors or college degree, Rent owned mix | |
Rural,High School Education, Owns property | |
Young, City based renters in Sparse neighborhoods, Low poverty | |
Low income, minority mix | |
Predominantly black, high high school attainment, home owners | |
White and minority mix multilingual, mixed income / education. Married | |
Hispanic Black mix multilingual, high poverty, renters, uses public transport | |
Predominantly black renters, rent own mix | |
Middle income, single family homes | |
Lower Middle Income with higher rent burden | |
Black and mixed community with rent burden | |
Lower Middle Income with affordable housing | |
Relatively affordable, satisfied lower middle class | |
Satisfied Lower Middle Income Higher Rent Costs | |
Suburban/Rural Satisfied, decently educated lower middle class | |
Struggling lower middle class with rent burden | |
Older white home owners, less comfortable financially | |
Older home owners, more financially comfortable, some diversity | |
Native American | |
Younger, poorer,single parent family Native Americans | |
Older, middle income Native Americans once married and Educated | |
Old Wealthy, White | |
Older, mixed race professionals | |
Works from home, Highly Educated, Super Wealthy | |
Retired Grandparents | |
Wealthy and Rural Living | |
Wealthy, Retired Mountains/Coasts | |
Wealthy Diverse Suburbanites On the Coasts | |
Retirement Communitties | |
Low Income African American | |
Urban - Inner city | |
Rural families | |
Residential institutions, young people | |
College towns | |
College town with poverty | |
University campus wider area | |
City Outskirt University Campuses | |
City Center University Campuses | |
Wealthy Nuclear Families | |
Lower educational attainment, Homeowner, Low rent | |
Younger, Long Commuter in dense neighborhood | |
Long commuters White black mix | |
Low rent in built up neighborhoods | |
Renters within cities, mixed income areas, White/Hispanic mix, Unmarried | |
Older Home owners with high income | |
Older home owners and very high income | |
White Asian Mix Big City Burbs Dwellers | |
Bachelors degree Mid income With Mortgages | |
Asian Hispanic Mix, Mid income | |
Bachelors degree Higher income Home Owners | |
Wealthy, urban, and kid-free | |
Wealthy city commuters | |
New Developments | |
Very wealthy, multiple million dollar homes | |
High rise, dense urbanites |
1
2
https://{username}.carto.com/api/v2/sql?q=SELECT * FROM
OBS_GetSegmentSnapshot()
Get the Segmentation Snapshot around the MGM Grand
1
2
https://{username}.carto.com/api/v2/sql?q=SELECT * FROM
OBS_GetSegmentSnapshot(CDB_LatLng(36.10222, -115.169516))
Get the Segmentation Snapshot at CARTO’s NYC HQ
1
2
https://{username}.carto.com/api/v2/sql?q=SELECT * FROM
OBS_GetSegmentSnapshot(CDB_LatLng(40.704512, -73.936669))