Numbeo API endpoint
Returns one city's data for a Numbeo index family (quality of life, crime, health care, pollution, traffic, or property investment): headline indices, and (depending on the family) titled sub-index sections and/or itemized prices.
/numbeo/indices/city/{slug}Path parameters:
slug (required) — Numbeo city slug, e.g. Los-Angeles. Discover valid slugs from Numbeo Indices Country or Numbeo Indices Rankings — Numbeo has no public city search/autocomplete endpoint.Query parameters:
index (required). Allowed values: quality-of-life, crime, health-care, pollution, traffic, property-investment.Response shape varies by index, all sharing the same envelope:
headline_indices[] (name, value) — always present. 1–2 metrics for crime/health-care/pollution/traffic, 1 for quality-of-life, up to 7 for property-investment.sections[] (title, rows[] with name, value, qualifier) — present for crime, health-care, pollution, traffic (titled sub-index tables, e.g. "Crime rates in X", "Safety in X") and quality-of-life (a single untitled section breaking down its six sibling indices). Absent for property-investment.price_categories[] (same shape as Numbeo Cost Of Living City's categories[]) — present only for property-investment (itemized rent/buy prices alongside its headline ratios).contributors_note, last_update — raw metadata text; format varies by family.Example response (index=crime):
{"code":200,"msg":"OK","data":{"index":"crime","city":"Los Angeles, CA","city_slug":"Los-Angeles","country":"United States","headline_indices":[{"name":"Crime Index","value":53.83},{"name":"Safety Index","value":46.17}],"sections":[{"title":"Crime rates in Los Angeles, CA, United States","rows":[{"name":"Level of crime","value":61.08,"qualifier":"High"}]},{"title":"Safety in Los Angeles, CA, United States","rows":[{"name":"Safety walking alone during daylight","value":65.90,"qualifier":"High"}]}],"contributors_note":"Contributors: 486","last_update":"13 June 2026","source_url":"https://www.numbeo.com/crime/in/Los-Angeles"}}
| Field | Filled in, of 2 checked | Values in the sample |
|---|---|---|
| name | 2 | “Crime Index” and 1 other value |
| value | 2 | 46.07 to 53.93, median 46.07 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug (path) | string | Yes | Numbeo city slug | Los-Angeles | |
| index | string | Yes | Index family Allowed values: quality-of-life, crime, health-care, pollution, traffic, property-investment. | quality-of-life | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/numbeo/indices/city/Los-Angeles?index=quality-of-life" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"index": "crime",
"city": "Los Angeles, CA",
"city_slug": "Los-Angeles",
"country": "United States",
"headline_indices": [
{
"name": "Crime Index",
"value": 53.83
},
{
"name": "Safety Index",
"value": 46.17
}
],
"sections": [
{
"title": "Crime rates in Los Angeles, CA, United States",
"rows": [
{
"name": "Level of crime",
"value": 61.08,
"qualifier": "High"
}
]
},
{
"title": "Safety in Los Angeles, CA, United States",
"rows": [
{
"name": "Safety walking alone during daylight",
"value": 65.9,
"qualifier": "High"
}
]
}
],
"contributors_note": "Contributors: 486",
"last_update": "13 June 2026",
"source_url": "https://www.numbeo.com/crime/in/Los-Angeles"
}
}Request schema
No body schema
Response schema
#/definitions/numbeo.indicesCityResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | numbeo.IndicesCityResponse | No | ||||
| data.city | string | No | ||||
| data.city_slug | string | No | ||||
| data.contributors_note | string | No | ||||
| data.country | string | No | ||||
| data.headline_indices | array | No | ||||
| data.headline_indices[].name | string | No | Name of the index, as Numbeo labels it, such as `Crime Index`. | |||
| data.headline_indices[].value | number | No | Value of the index named in `name`. | |||
| data.index | string | No | ||||
| data.last_update | string | No | ||||
| data.price_categories | array | No | PriceCategory record, 7 fields: category, items. Described under Numbeo Cost Of Living City API. | |||
| data.sections | array | No | ||||
| data.sections[].rows | array | No | ||||
| data.sections[].rows[].name | string | No | ||||
| data.sections[].rows[].qualifier | string | No | ||||
| data.sections[].rows[].value | number | No | ||||
| data.sections[].title | string | No | ||||
| data.source_url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/numbeo/indices/city/Los-Angeles?index=quality-of-life" \
-H "x-api-key: $CRAWLORA_API_KEY"