Location figures
https://platform.casafari.com/v1/claro/locationSend Authorization: Bearer $CASAFARI_API_KEY: a platform API key or OAuth access token, metered in platform tokens; see platform sign-in and Claro AI. On the platform this is POST https://platform.casafari.com/v1/claro/location; POST /v1/location is Claro's own path, which the platform adds /claro to. The platform forwards the call to Claro unchanged: Claro's Claro-Version header and its error bodies ({"error":{"code","message"}}, with rate_limited and quota_reached on a 429) pass through.
Over MCP: explain_location (equivalent). MCP and REST compared.
Description
Footfall index (an index of pedestrian activity within a 5-minute walk that compares places with each other; not a head count, never people or visitors a day; split into weekday and weekend averages, morning/lunch/afternoon/evening and local/commuter/tourist shares of the index), residents within a 10-minute walk and drive (by age band 0-14, 15-29, 30-44, 45-59, 60+, with households, households per net income quintile and total spending power within a 10-minute walk), and nearby restaurants, fast food, cafes, shops, supermarkets, gyms and transit stops, for a premises id or any point (lat, lon) in Spain. Needs location data access on your account; a point that is not a premises is a live call on your account's location key (about 31 Location Intelligence operations per point). Returns location and location_sources: the same public field names, units and source notes as search_premises and get_premises (a 0 footfall or population is unknown, so null). figures is deprecated: same values as location under stored names; will be removed in a future version. A figure Location Intelligence has no data for is null, never 0.
Request body
Content type application/json. Required. Type: object.
idstringlatnumberlonnumberlangstringen deExample request
Placeholders only: replace the token and the values with your own.
curl -X POST "https://platform.casafari.com/v1/claro/location" \
-H "Authorization: Bearer $CASAFARI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"id": "<id>"
}'Responses
200 Location figures
Type: object.
Show the response shape (7 fields)
pointobject2 properties
latnumberlonnumbersourcestringprecomputed livelocationmap of numberlocation: null = not stated or unknown (a 0 footfall or population is unknown). Footfall is an index for comparing places with each other, not a head count or people a day.location_sourcesobjectlocation, as in search results.figuresobjectdeprecatedlocation under the stored column names; will be removed in a future version.Example from the API description (long arrays shortened)
{
"point": {
"lat": 40.42,
"lon": -3.7
},
"source": "precomputed",
"location": {
"footfall_daily_walk_5min": 50000,
"residents_walk_10min": 20000,
"residents_drive_10min": 300000,
"restaurants_walk_5min": 30,
"fast_food_walk_5min": null,
"cafes_walk_5min": null,
"shops_walk_5min": null,
"supermarkets_walk_5min": null,
"gyms_walk_10min": null,
"transit_stops_walk_5min": 5,
"footfall_weekday_avg_walk_5min": 52000,
"footfall_weekend_avg_walk_5min": 41000,
"footfall_morning_6_12_walk_5min": null,
"footfall_lunch_12_15_walk_5min": null,
"footfall_afternoon_15_19_walk_5min": null,
"footfall_evening_19_01_walk_5min": null,
"footfall_local_under_3km_walk_5min": null,
"footfall_commuter_3_50km_walk_5min": null,
"footfall_tourist_over_50km_walk_5min": 9000,
"residents_age_0_14_walk_10min": null,
"residents_age_15_29_walk_10min": null,
"residents_age_30_44_walk_10min": 5200,
"residents_age_45_59_walk_10min": null,
"residents_age_60_plus_walk_10min": null,
"households_walk_10min": 9000,
"households_income_below_19397_walk_10min": null,
"households_income_19397_29247_walk_10min": null,
"households_income_29247_40162_walk_10min": 1800,
"households_income_40162_57824_walk_10min": null,
"households_income_above_57824_walk_10min": null,
"spending_power_total_eur_walk_10min": 310000000,
"spending_power_per_resident_eur_walk_10min": 15500
},
"location_sources": {
"computed_at": "2026-10-12",
"groups": [
{
"fields": [
"footfall_daily_walk_5min",
"footfall_weekday_avg_walk_5min"
],
"unit": "footfall index: summed per-cell daily count within the walk, not distinct people (weekday/weekend are daily averages; the others split the daily count)",
"source": "Location Intelligence footfall estimates (collection 234)",
"vintage": "2024"
},
{
"fields": [
"residents_walk_10min",
"residents_drive_10min"
],
"unit": "residents",
"source": "Location Intelligence, MB Research sociodemographics (collection 87)",
"vintage": "2024"
}
]
},
"figures": {
"footfall_daily": 50000,
"pop_walk10": 20000,
"pop_drive10": 300000,
"restaurants_walk5": 30,
"transit_walk5": 5,
"footfall_weekday": 52000,
"footfall_weekend": 41000,
"footfall_tourist": 9000,
"pop_age_30_44": 5200,
"households_walk10": 9000,
"income_q3": 1800,
"spending_power_walk10": 310000000
}
}400 Invalid request
Type: object.
Show the response shape (3 fields)
errorobject2 properties
codestringrequiredmessagestringrequired401 Missing or invalid key
Type: object.
Show the response shape (3 fields)
errorobject2 properties
codestringrequiredmessagestringrequired403 No access
Type: object.
Show the response shape (3 fields)
errorobject2 properties
codestringrequiredmessagestringrequired429 Rate limited (`rate_limited`), or today's live location points are used (`quota_reached`, naming live_location_points_daily)
Type: object.
Show the response shape (3 fields)
errorobject2 properties
codestringrequiredmessagestringrequired