Radius Reports API - How It Works
The API takes a user-provided latitude and longitude and returns demographics, population projections and geojson for 1, 3 and 5 mile buffers around the supplied point.
Making a request for a Radius Report
All requests are POST requests with a JSON body and an Authorization Token header.
Example Call in curl
curl -X POST \
-H "Authorization: Token API_KEY" \
-H "Content-Type: application/json" \
-d '{"radius_report": {"latitude": 32.361538, "longitude": -86.279118}}' \
https://api.demographicsbyradius.com/api/v1/radius_reports
Requesting an API Key
Send a request to help@cubitplanning.com. The only requirement is a contact email address. We will generate the key and send it to you at the provided address.
Sample Payload
{
"coordinates": { "latitude": 32.361538, "longitude": -86.279118 },
"demographics": [
{
"radius": 1,
"total_population": "9225",
"age_0to9": "1409",
"age_10to19": "1856",
"age_20to29": "1591",
"age_30to39": "936",
"age_40to49": "864",
"age_50to59": "955",
"age_60to69": "743",
"age_70andover": "872",
"household_income_total_households": "3203",
"household_income_lt_24k": "902",
"household_income_25kto49k": "705",
"household_income_50kto74k": "377",
"household_income_75kto99k": "407",
"household_income_100kto199k": "561",
"household_income_gt_200k": "252",
"households_total": "3203",
"households_family_households": "1632",
"households_family_households_married_couple_family": "702",
"households_family_households_other_family": "930",
"households_non_family_households": "1571",
"households_family_households_married_couple_family_with_own_chi": "323",
"households_family_households_other_family_single_male_hh_with_o": "96",
"households_family_households_other_family_single_female_hh_with": "444",
"edu_attainment_total": "4843",
"edu_attainment_no_high_school_diploma": "518",
"edu_attainment_high_school_grad_or_equal": "1148",
"edu_attainment_some_college": "894",
"edu_attainment_associates_degree": "405",
"edu_attainment_bachelors_degree": "941",
"edu_attainment_masters_doctorate_or_professional": "937",
"employment_status_total_pop_16yplus": "7358",
"employment_status_in_labor_force": "3895",
"employment_status_civilian_labor_force": "3871",
"employment_status_civilian_labor_force_employed": "3610",
"employment_status_civilian_labor_force_unemployed": "261",
"employment_status_in_armed_forces": "24",
"employment_status_not_in_labor_force": "3464",
"housing_units_total": "3873",
"housing_units_occupied_units": "3203",
"housing_units_occupied_owner_occupied_units": "1403",
"housing_units_occupied_renter_occupied_units": "1800",
"home_value_total": "1403",
"home_value_lt_100k": "453",
"home_value_100kto199k": "377",
"home_value_200kto299k": "277",
"home_value_300kto399k": "87",
"home_value_400kto499k": "86",
"home_value_500k_to_749k": "64.0",
"home_value_750k_to_999k": "15.0",
"home_value_1000k_to_1499k": "44.0",
"home_value_1500k_to_1999k": "0.0",
"home_value_gt_2000k": "0.0",
"geom": {
"type": "Polygon",
"coordinates": [
[
[-86.262013835, 32.361439069],
[-86.26236548, 32.35860884],
[-86.263360852, 32.355891213],
[-86.264961648, 32.35339061],
[-86.26710632, 32.351203107],
[-86.269712439, 32.349412741],
[-86.272679866, 32.348088292],
[-86.2758946, 32.347280637],
[-86.279233153, 32.347020801],
[-86.282567286, 32.347318765],
[-86.285768927, 32.348163085],
[-86.288715091, 32.349521329],
[-86.29129259, 32.351341322],
[-86.293402381, 32.353553148],
[-86.294963373, 32.356071833],
[-86.295915543, 32.358800604],
[-86.296222248, 32.361634612],
[-86.295871642, 32.364464949],
[-86.294877139, 32.367182841],
[-86.293276908, 32.369683826],
[-86.291132412, 32.371871771],
[-86.288526054, 32.37366257],
[-86.285558008, 32.374987378],
[-86.282342369, 32.375795263],
[-86.279002764, 32.376055165],
[-86.275667592, 32.375757093],
[-86.272465082, 32.374912508],
[-86.269518352, 32.373553882],
[-86.266940678, 32.371733447],
[-86.264831126, 32.369521188],
[-86.263270753, 32.367002144],
[-86.262319488, 32.364273142],
[-86.262013835, 32.361439069]
]
]
},
"median_household_income": "49793"
},
{
"radius": 3,
"total_population": "68663",
"age_0to9": "9405",
"age_10to19": "9168",
"age_20to29": "9865",
"age_30to39": "8967",
"age_40to49": "7850",
"age_50to59": "8112",
"age_60to69": "7811",
"age_70andover": "7484",
"household_income_total_households": "27871",
"household_income_lt_24k": "7661",
"household_income_25kto49k": "6720",
"household_income_50kto74k": "5098",
"household_income_75kto99k": "2576",
"household_income_100kto199k": "4467",
"household_income_gt_200k": "1349",
"households_total": "27871",
"households_family_households": "15299",
"households_family_households_married_couple_family": "7044",
"households_family_households_other_family": "8255",
"households_non_family_households": "12572",
"households_family_households_married_couple_family_with_own_chi": "2691",
"households_family_households_other_family_single_male_hh_with_o": "800",
"households_family_households_other_family_single_female_hh_with": "3661",
"edu_attainment_total": "44926",
"edu_attainment_no_high_school_diploma": "6092",
"edu_attainment_high_school_grad_or_equal": "12495",
"edu_attainment_some_college": "9667",
"edu_attainment_associates_degree": "3542",
"edu_attainment_bachelors_degree": "7627",
"edu_attainment_masters_doctorate_or_professional": "5504",
"employment_status_total_pop_16yplus": "54678",
"employment_status_in_labor_force": "30254",
"employment_status_civilian_labor_force": "29948",
"employment_status_civilian_labor_force_employed": "27725",
"employment_status_civilian_labor_force_unemployed": "2223",
"employment_status_in_armed_forces": "305",
"employment_status_not_in_labor_force": "24424",
"housing_units_total": "34208",
"housing_units_occupied_units": "27871",
"housing_units_occupied_owner_occupied_units": "14538",
"housing_units_occupied_renter_occupied_units": "13333",
"home_value_total": "14538",
"home_value_lt_100k": "5494",
"home_value_100kto199k": "5157",
"home_value_200kto299k": "1920",
"home_value_300kto399k": "749",
"home_value_400kto499k": "516",
"home_value_500k_to_749k": "439.0",
"home_value_750k_to_999k": "80.0",
"home_value_1000k_to_1499k": "88.0",
"home_value_1500k_to_1999k": "87.0",
"home_value_gt_2000k": "9.0",
"geom": {
"type": "Polygon",
"coordinates": [
[
[-86.227805761, 32.361234249],
[-86.228863814, 32.352743888],
[-86.231852531, 32.344591806],
[-86.236656613, 32.337091146],
[-86.243091153, 32.330529959],
[-86.250908787, 32.32516016],
[-86.259809211, 32.321187889],
[-86.269450704, 32.318765613],
[-86.279463211, 32.317986302],
[-86.289462494, 32.318879871],
[-86.299064817, 32.321412035],
[-86.307901612, 32.325485621],
[-86.315633576, 32.330944277],
[-86.321963665, 32.337578457],
[-86.326648494, 32.345133433],
[-86.329507715, 32.353319056],
[-86.330430985, 32.361820877],
[-86.329382286, 32.370312208],
[-86.326401387, 32.378466678],
[-86.321602394, 32.385970781],
[-86.315169441, 32.392535942],
[-86.307349649, 32.397909639],
[-86.298443651, 32.401885141],
[-86.288794018, 32.404309488],
[-86.278772043, 32.405089394],
[-86.268763405, 32.404194854],
[-86.259153265, 32.401660301],
[-86.250311381, 32.397583273],
[-86.24257783, 32.392120643],
[-86.236249899, 32.385482565],
[-86.231570643, 32.377924358],
[-86.228719563, 32.369736664],
[-86.227805761, 32.361234249]
]
]
},
"median_household_income": "47876"
},
{
"radius": 5,
"total_population": "135775",
"age_0to9": "18917",
"age_10to19": "17846",
"age_20to29": "20501",
"age_30to39": "17898",
"age_40to49": "16142",
"age_50to59": "15148",
"age_60to69": "15764",
"age_70andover": "13558",
"household_income_total_households": "55645",
"household_income_lt_24k": "15112",
"household_income_25kto49k": "13812",
"household_income_50kto74k": "10597",
"household_income_75kto99k": "5540",
"household_income_100kto199k": "8568",
"household_income_gt_200k": "2016",
"households_total": "55645",
"households_family_households": "30465",
"households_family_households_married_couple_family": "14216",
"households_family_households_other_family": "16249",
"households_non_family_households": "25181",
"households_family_households_married_couple_family_with_own_chi": "5282",
"households_family_households_other_family_single_male_hh_with_o": "1407",
"households_family_households_other_family_single_female_hh_with": "7918",
"edu_attainment_total": "88889",
"edu_attainment_no_high_school_diploma": "11992",
"edu_attainment_high_school_grad_or_equal": "26117",
"edu_attainment_some_college": "19056",
"edu_attainment_associates_degree": "7386",
"edu_attainment_bachelors_degree": "14227",
"edu_attainment_masters_doctorate_or_professional": "10111",
"employment_status_total_pop_16yplus": "106987",
"employment_status_in_labor_force": "62613",
"employment_status_civilian_labor_force": "61372",
"employment_status_civilian_labor_force_employed": "57146",
"employment_status_civilian_labor_force_unemployed": "4226",
"employment_status_in_armed_forces": "1241",
"employment_status_not_in_labor_force": "44374",
"housing_units_total": "66882",
"housing_units_occupied_units": "55645",
"housing_units_occupied_owner_occupied_units": "26905",
"housing_units_occupied_renter_occupied_units": "28741",
"home_value_total": "26905",
"home_value_lt_100k": "10035",
"home_value_100kto199k": "10839",
"home_value_200kto299k": "3135",
"home_value_300kto399k": "1123",
"home_value_400kto499k": "753",
"home_value_500k_to_749k": "620.0",
"home_value_750k_to_999k": "111.0",
"home_value_1000k_to_1499k": "171.0",
"home_value_1500k_to_1999k": "89.0",
"home_value_gt_2000k": "29.0",
"geom": {
"type": "Polygon",
"coordinates": [
[
[-86.193598042, 32.361020151],
[-86.195366657, 32.346870099],
[-86.200352182, 32.33328463],
[-86.208361797, 32.320785446],
[-86.219086899, 32.309852339],
[-86.232115084, 32.300904836],
[-86.24694603, 32.294286172],
[-86.263010673, 32.29025019],
[-86.279692939, 32.288951667],
[-86.296353227, 32.290440412],
[-86.312352766, 32.294659364],
[-86.327077931, 32.301446766],
[-86.339963649, 32.310542325],
[-86.350514981, 32.321597126],
[-86.358326112, 32.334186955],
[-86.36309599, 32.347828504],
[-86.36464003, 32.361997863],
[-86.3628974, 32.376150612],
[-86.357933589, 32.389742716],
[-86.349938111, 32.402251464],
[-86.339217417, 32.413195608],
[-86.326183239, 32.42215394],
[-86.311336811, 32.428781578],
[-86.295249556, 32.432823311],
[-86.27854099, 32.434123487],
[-86.261854715, 32.432632047],
[-86.245833463, 32.428406459],
[-86.23109416, 32.421609493],
[-86.218204036, 32.412502898],
[-86.207658697, 32.401437267],
[-86.199863047, 32.388838464],
[-86.195115781, 32.375191165],
[-86.193598042, 32.361020151]
]
]
},
"median_household_income": "47733"
}
],
"population_projections": [
{
"state_name": "Alabama",
"citation": "Center for Business and Economic Research, The University of Alabama. County Population Projections, 2025 to 2050. October 2024. \u003cbr\u003eU.S. Census Bureau, Decennial Censuses 2010, and 2020.",
"projections_data": [
{
"name": "Alabama",
"projections": {
"2010-2020": {
"percent_change": 5,
"values": [4779736, 5024279],
"projection": "Grow"
},
"2020-2030": {
"percent_change": 3,
"values": [5024279, 5197874],
"projection": "Grow"
}
}
},
{
"name": "Elmore County",
"projections": {
"2010-2020": {
"percent_change": 11,
"values": [79303, 87977],
"projection": "Grow"
},
"2020-2030": {
"percent_change": 7,
"values": [87977, 94127],
"projection": "Grow"
}
}
},
{
"name": "Montgomery County",
"projections": {
"2010-2020": {
"percent_change": 0,
"values": [229363, 228954],
"projection": "Remain Stable"
},
"2020-2030": {
"percent_change": -2,
"values": [228954, 225218],
"projection": "Decline"
}
}
}
]
}
]
}