# Get location by passed coordinates

> **Casafari is the AI agent-native real estate data intelligence platform.** The most complete property index in Europe: a deduplicated, cleaned property graph of residential and commercial property, for sale and for rent, in 16 countries. Every property is one record with its full price and market history. [How the property graph is built](/docs/property-graph).

`GET https://api.casafari.com/v1/references/locations/by-coordinates`

[Existing Casafari API](/docs/existing-api-customers) · [API v1](/docs/existing-api-customers/v1) · References. Send `Authorization: Token $CASAFARI_TOKEN` with your existing API token; see [where to get it](/docs/existing-api-customers#where-to-get-your-existing-token).

The same path under `/api`, signed in with a bearer token, is in the REST API reference: [`GET /api/v1/references/locations/by-coordinates`](/docs/rest/references/get-location-by-passed-coordinates-v1).

## Description

Returns a location for the given coordinates with user restrictions.

## Query parameters

- `latitude` (number, required): The latitude coordinate. -90–90.
- `longitude` (number, required): The longitude coordinate. -180–180.
- `lang` (string, optional): Language to use for the location names in the response. (When the provided language is not supported, the results will be returned in English.)

## Example request

Placeholders only: replace the token and the values with your own.

```bash
curl "https://api.casafari.com/v1/references/locations/by-coordinates?latitude=<latitude>&longitude=<longitude>" \
  -H "Authorization: Token $CASAFARI_TOKEN"
```

## Responses

### 200

Type: `object`.

- `location_id` (integer, required): ID of the location.
- `name` (string, required): Name of the location.
- `parent_id` (integer, required): ID of the parent level location.
- `administrative_level` (string, required): Location administrative level.
- `locations_structure` (object[], required): Information about all the parent locations, starting from the top-most level - country.
  - `location_id` (integer, required): Location ID, as returned by the POST /v1/references/locations endpoint.
  - `name` (string, required): Location name.
  - `administrative_level` (string, required): Location administrative level.
  - `zip_codes` (string[], optional): The location zip codes. default [].
  - `level` (integer, required): Location level as number.

Example from the API description (long arrays shortened):

```json
{
  "location_id": 1615,
  "name": "São Gonçalo de Lagos",
  "parent_id": 1611,
  "administrative_level": "Freguesia",
  "locations_structure": [
    {
      "location_id": 499,
      "name": "Portugal",
      "administrative_level": "País",
      "zip_codes": [],
      "level": 1
    },
    {
      "location_id": 1597,
      "name": "Faro",
      "administrative_level": "Distrito",
      "zip_codes": [],
      "level": 2
    }
  ]
}
```

### 401 Unauthorized

Type: `object`.

- `detail` (string, optional): Description of the error encountered.

### 403 Forbidden

Type: `object`.

- `detail` (string, optional): Description of the error encountered.

## Related pages

- [Get agencies (GET /v1/references/agencies)](/docs/existing-api-customers/v1/get-agencies)
- [Get agents (GET /v1/references/agents)](/docs/existing-api-customers/v1/get-agents)
- [Get conditions (GET /v1/references/conditions)](/docs/existing-api-customers/v1/get-conditions)
- [Get features (GET /v1/references/features)](/docs/existing-api-customers/v1/get-features)
- [The same path in the REST API reference (GET /api/v1/references/locations/by-coordinates)](/docs/rest/references/get-location-by-passed-coordinates-v1)
- [Existing Casafari API v1: all operations](/docs/existing-api-customers/v1)
- [Existing API customers: token and documentation](/docs/existing-api-customers)
