---
title: "GetLocationFromCells"
method: POST
path: "/location/cell"
tags: ["Cell Location"]
---

# GetLocationFromCells

`POST /location/cell`

<div class="nrf-note">
<p><b>Cloud-to-cloud — authorize with an Organization Auth Token.</b><br><code>https://api.location.nrfcloud.com/v1/organizations/{organizationSlug}/projects/{projectSlug}/location/cell</code></p>
<p><b>Device-to-cloud — authorize with a JSON Web Token.</b><br><code>https://api.location.nrfcloud.com/v1/location/cell</code></p>
</div>

<div style="background-color: #fff3cd; color: #856404; text-align: center; border: 1px solid #ffeeba; border-radius: .25rem; padding: .75rem 1.25rem">This endpoint has an alternative. See the <a href="#tag/Ground-Fix">ground fix endpoint</a> for more details.</div>

Gets the lat, lon, and uncertainty values for the LTE, GSM, or WCDMA cell(s) passed. If the optional `nmr` parameter is passed the endpoint operates in a "multi-cell" mode, using
more than one cell to determine a more accurate location. At least one cell is required. An empty `lte`, `ltecatm`, `nbiot`, `gsm`, or `wcdma` array is treated the same as an omitted field.

__Basic Request__:
```sh
curl -X POST "$API_HOST/v1/location/cell" -H "Authorization: Bearer $JWT" -H "Content-Type: application/json" -d "{\"lte\":[{\"mcc\": 244, \"mnc\": 91,\"tac\": 4099,\"eci\":36078631}]}"
```

__Save device location and silence response__:
```sh
curl --verbose -X POST "$API_HOST/v1/location/cell?doReply=0" -H "Authorization: Bearer $JWT" -H "Content-Type: application/json" -d "{\"lte\":[{\"mcc\": 244, \"mnc\": 91,\"tac\": 4099,\"eci\":36078631}]}"
```

## Query parameters

- `doReply` union — Controls the response body. If boolean false or number 0, response body will be empty.
  - boolean
  - number, double
- `fallback` boolean — nRF Cloud will always return the most accurate response based on cell tower location or AP location for wifi, if available. When not available, nRF Cloud falls back to area-level location estimate based on cell tower tracking area code. To disable this behavior, set fallback=false. This will ignore cell tracking area and return a 404 in event a higher accuracy response cannot be provided.
- `hiConf` boolean — nRF Cloud automatically uses a 68% confidence interval when estimating the Horizontal Positioning Error (HPE) for a location. This means that there is a 68% probability that the device's actual location is within the HPE radius of the returned coordinates. Enabling this flag will use a 95% confidence interval instead, resulting in a larger HPE radius, and a higher probability that the device's actual location is within the circle.

## Headers

- `x-custom-device-id` string — User-defined device ID, used to identify requests when using a cloud-to-cloud integration. Ignored if using a device token.

## Request body

- CellRequest
  - `lte` LteCell[]
    - `rsrp` number, double — Reference Signal Received Power. Measured in dBm. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -157..-44
    - `rsrq` number, double — Reference Signal Received Quality. Measured in dB. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -34.5..3.5
    - `mcc` integer, required — Mobile Country Code. As defined in <a href="https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2018-PDF-E.pdf" target="_blank">ITU-T E.212</a>.
    - `mnc` union, required — Mobile Network Code. A number or string: 120 | 1 | "001" | "01" | "000". As defined in <a href="https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2018-PDF-E.pdf" target="_blank">ITU-T E.212</a>.
      - number, double
      - string
    - `eci` integer, required — E-UTRA Cell Identifier (ECI), 28 bits (20 bits eNodeB and 8 bits Cell ID). Calculated using "(eNodeB-ID * 256) + Sector-ID". Range 0 .. 268435455. See <a href="https://www.etsi.org/deliver/etsi_ts/123000_123099/123003/17.09.00_60/ts_123003v170900p.pdf" target="_blank">ETSI TS 123 003, section 19.6</a> for more details.
    - `tac` integer, required — Tracking Area Code (TAC). Identifies a group of LTE cells in a certain region (Tracking Area). See <a href="https://www.etsi.org/deliver/etsi_ts/123000_123099/123003/17.09.00_60/ts_123003v170900p.pdf" target="_blank">ETSI TS 123 003, section 19.4.2.3</a> for more details.
    - `pci` integer — Physical Cell Identity (PCI). Used in the physical layer of E-UTRA systems to identify a cell. Range: 0..503
    - `earfcn` integer — Evolved Absolute Radio Frequency Channel (E-ARFCN). Range: 0..262143. See <a href="https://www.etsi.org/deliver/etsi_ts/136100_136199/136106/17.00.00_60/ts_136106v170000p.pdf" target="_blank">ETSI TS 136 106, section 5.7.3</a> for more details.
    - `adv` number, double — The length of time a signal takes to reach the base station from a mobile phone (half of rtt=round trip time). The units are symbols (Ts) as specified in 3GPP TS 36.211 (LTE). The expected resolution for nRF Cloud API is 1 Ts. Range 0..20512.
    - `nmr` LteNeighborMeasurement[]
      - `rsrp` number, double — Reference Signal Received Power. Measured in dBm. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -157..-44
      - `rsrq` number, double — Reference Signal Received Quality. Measured in dB. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -34.5..3.5
      - `earfcn` integer, required — Evolved Absolute Radio Frequency Channel (E-ARFCN). Range: 0..262143. See <a href="https://www.etsi.org/deliver/etsi_ts/136100_136199/136106/17.00.00_60/ts_136106v170000p.pdf" target="_blank">ETSI TS 136 106, section 5.7.3</a> for more details.
      - `pci` integer, required — Physical Cell Identity (PCI). Used in the physical layer of E-UTRA systems to identify a cell. Range: 0..503
      - `eci` integer — E-UTRA Cell Identifier (ECI), 28 bits (20 bits eNodeB and 8 bits Cell ID). Calculated using "(eNodeB-ID * 256) + Sector-ID". Range 0 .. 268435455. See <a href="https://www.etsi.org/deliver/etsi_ts/123000_123099/123003/17.09.00_60/ts_123003v170900p.pdf" target="_blank">ETSI TS 123 003, section 19.6</a> for more details.
      - `timeDiff` number, double — Milliseconds that the neighbor cell was observed after the serving cell was observed. Improves accuracy for devices in motion.
  - `ltecatm` LteCatMCell[]
    - `rsrp` number, double — Reference Signal Received Power. Measured in dBm. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -157..-44
    - `rsrq` number, double — Reference Signal Received Quality. Measured in dB. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -34.5..3.5
    - `mcc` integer, required — Mobile Country Code. As defined in <a href="https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2018-PDF-E.pdf" target="_blank">ITU-T E.212</a>.
    - `mnc` union, required — Mobile Network Code. A number or string: 120 | 1 | "001" | "01" | "000". As defined in <a href="https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2018-PDF-E.pdf" target="_blank">ITU-T E.212</a>.
      - number, double
      - string
    - `eci` integer, required — E-UTRA Cell Identifier (ECI), 28 bits (20 bits eNodeB and 8 bits Cell ID). Calculated using "(eNodeB-ID * 256) + Sector-ID". Range 0 .. 268435455. See <a href="https://www.etsi.org/deliver/etsi_ts/123000_123099/123003/17.09.00_60/ts_123003v170900p.pdf" target="_blank">ETSI TS 123 003, section 19.6</a> for more details.
    - `tac` integer, required — Tracking Area Code (TAC). Identifies a group of LTE cells in a certain region (Tracking Area). See <a href="https://www.etsi.org/deliver/etsi_ts/123000_123099/123003/17.09.00_60/ts_123003v170900p.pdf" target="_blank">ETSI TS 123 003, section 19.4.2.3</a> for more details.
    - `pci` integer — Physical Cell Identity (PCI). Used in the physical layer of E-UTRA systems to identify a cell. Range: 0..503
    - `earfcn` integer — Evolved Absolute Radio Frequency Channel (E-ARFCN). Range: 0..262143. See <a href="https://www.etsi.org/deliver/etsi_ts/136100_136199/136106/17.00.00_60/ts_136106v170000p.pdf" target="_blank">ETSI TS 136 106, section 5.7.3</a> for more details.
    - `adv` number, double — The length of time a signal takes to reach the base station from a mobile phone (half of rtt=round trip time). The units are symbols (Ts) as specified in 3GPP TS 36.211 (LTE). The expected resolution for nRF Cloud API is 1 Ts. Range 0..20512.
    - `nmr` LteNeighborMeasurement[]
      - `rsrp` number, double — Reference Signal Received Power. Measured in dBm. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -157..-44
      - `rsrq` number, double — Reference Signal Received Quality. Measured in dB. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -34.5..3.5
      - `earfcn` integer, required — Evolved Absolute Radio Frequency Channel (E-ARFCN). Range: 0..262143. See <a href="https://www.etsi.org/deliver/etsi_ts/136100_136199/136106/17.00.00_60/ts_136106v170000p.pdf" target="_blank">ETSI TS 136 106, section 5.7.3</a> for more details.
      - `pci` integer, required — Physical Cell Identity (PCI). Used in the physical layer of E-UTRA systems to identify a cell. Range: 0..503
      - `eci` integer — E-UTRA Cell Identifier (ECI), 28 bits (20 bits eNodeB and 8 bits Cell ID). Calculated using "(eNodeB-ID * 256) + Sector-ID". Range 0 .. 268435455. See <a href="https://www.etsi.org/deliver/etsi_ts/123000_123099/123003/17.09.00_60/ts_123003v170900p.pdf" target="_blank">ETSI TS 123 003, section 19.6</a> for more details.
      - `timeDiff` number, double — Milliseconds that the neighbor cell was observed after the serving cell was observed. Improves accuracy for devices in motion.
  - `nbiot` NbIoTCell[]
    - `rsrp` number, double — Reference Signal Received Power. Measured in dBm. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -157..-44
    - `rsrq` number, double — Reference Signal Received Quality. Measured in dB. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -34.5..3.5
    - `mcc` integer, required — Mobile Country Code. As defined in <a href="https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2018-PDF-E.pdf" target="_blank">ITU-T E.212</a>.
    - `mnc` union, required — Mobile Network Code. A number or string: 120 | 1 | "001" | "01" | "000". As defined in <a href="https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2018-PDF-E.pdf" target="_blank">ITU-T E.212</a>.
      - number, double
      - string
    - `eci` integer, required — E-UTRA Cell Identifier (ECI), 28 bits (20 bits eNodeB and 8 bits Cell ID). Calculated using "(eNodeB-ID * 256) + Sector-ID". Range 0 .. 268435455. See <a href="https://www.etsi.org/deliver/etsi_ts/123000_123099/123003/17.09.00_60/ts_123003v170900p.pdf" target="_blank">ETSI TS 123 003, section 19.6</a> for more details.
    - `tac` integer, required — Tracking Area Code (TAC). Identifies a group of LTE cells in a certain region (Tracking Area). See <a href="https://www.etsi.org/deliver/etsi_ts/123000_123099/123003/17.09.00_60/ts_123003v170900p.pdf" target="_blank">ETSI TS 123 003, section 19.4.2.3</a> for more details.
    - `pci` integer — Physical Cell Identity (PCI). Used in the physical layer of E-UTRA systems to identify a cell. Range: 0..503
    - `earfcn` integer — Evolved Absolute Radio Frequency Channel (E-ARFCN). Range: 0..262143. See <a href="https://www.etsi.org/deliver/etsi_ts/136100_136199/136106/17.00.00_60/ts_136106v170000p.pdf" target="_blank">ETSI TS 136 106, section 5.7.3</a> for more details.
    - `adv` number, double — The length of time a signal takes to reach the base station from a mobile phone (half of rtt=round trip time). The units are symbols (Ts) as specified in 3GPP TS 36.211 (LTE). The expected resolution for nRF Cloud API is 1 Ts. Range 0..20512.
    - `nmr` LteNeighborMeasurement[]
      - `rsrp` number, double — Reference Signal Received Power. Measured in dBm. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -157..-44
      - `rsrq` number, double — Reference Signal Received Quality. Measured in dB. See <a href="https://www.rfwireless-world.com/Terminology/LTE-RSRP-vs-RSRQ.html" target="_blank">this page</a> for more details. Range -34.5..3.5
      - `earfcn` integer, required — Evolved Absolute Radio Frequency Channel (E-ARFCN). Range: 0..262143. See <a href="https://www.etsi.org/deliver/etsi_ts/136100_136199/136106/17.00.00_60/ts_136106v170000p.pdf" target="_blank">ETSI TS 136 106, section 5.7.3</a> for more details.
      - `pci` integer, required — Physical Cell Identity (PCI). Used in the physical layer of E-UTRA systems to identify a cell. Range: 0..503
      - `eci` integer — E-UTRA Cell Identifier (ECI), 28 bits (20 bits eNodeB and 8 bits Cell ID). Calculated using "(eNodeB-ID * 256) + Sector-ID". Range 0 .. 268435455. See <a href="https://www.etsi.org/deliver/etsi_ts/123000_123099/123003/17.09.00_60/ts_123003v170900p.pdf" target="_blank">ETSI TS 123 003, section 19.6</a> for more details.
      - `timeDiff` number, double — Milliseconds that the neighbor cell was observed after the serving cell was observed. Improves accuracy for devices in motion.
  - `gsm` GsmCell[]
    - `mcc` integer, required — Mobile Country Code. As defined in <a href="https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2018-PDF-E.pdf" target="_blank">ITU-T E.212</a>.
    - `mnc` union, required — Mobile Network Code. A number or string: 120 | 1 | "001" | "01" | "000". As defined in <a href="https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2018-PDF-E.pdf" target="_blank">ITU-T E.212</a>.
      - number, double
      - string
    - `lac` integer, required — Location Area Code (LAC). Identifies a group of cells within a location area. Range: 1..65535.
    - `cid` integer, required — GSM Cell Identity (CID), 16 bits. Range: 0..65535.
    - `rssi` number, double — Received Signal Strength Indicator for a cell. Measured in dBm. Typical range -110..-25.
    - `nmr` GsmNeighborMeasurement[]
      - `baseStationId` integer, required — Base Station Identity Code (BSIC) of a GSM neighbor cell. Range: 0..63.
      - `arfcn` integer, required — Absolute Radio Frequency Channel Number of the neighbor cell BCCH carrier (GSM). Range: 0..1023.
      - `rssi` number, double — Received Signal Strength Indicator for a cell. Measured in dBm. Typical range -110..-25.
  - `wcdma` WcdmaCell[]
    - `mcc` integer, required — Mobile Country Code. As defined in <a href="https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2018-PDF-E.pdf" target="_blank">ITU-T E.212</a>.
    - `mnc` union, required — Mobile Network Code. A number or string: 120 | 1 | "001" | "01" | "000". As defined in <a href="https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2018-PDF-E.pdf" target="_blank">ITU-T E.212</a>.
      - number, double
      - string
    - `lac` integer — Location Area Code (LAC). Identifies a group of cells within a location area. Range: 1..65535.
    - `cid` integer, required — WCDMA/UTRAN Cell Identity (UC-Id), up to 28 bits. Range: 0..268435455.
    - `rscp` number, double — Received Signal Code Power (RSCP) of a WCDMA neighbor cell. Measured in dBm. Typical range -120..-25.
    - `nmr` WcdmaNeighborMeasurement[]
      - `uarfcn` integer, required — UTRA Absolute Radio Frequency Channel Number (downlink) of a WCDMA neighbor cell. Range: 0..16383.
      - `psc` integer, required — Primary Scrambling Code (PSC) of a WCDMA neighbor cell. Range: 0..511.
      - `rscp` number, double — Received Signal Code Power (RSCP) of a WCDMA neighbor cell. Measured in dBm. Typical range -120..-25.

## Response `200`

Returns lat/lon coordinates and uncertainty for a device using cell data.

- CellResponseWithFulfillment
  - `lat` number, double, required — WGS 84 geodetic grid line, north to south.
  - `lon` number, double, required — WGS 84 geodetic grid line, east to west.
  - `uncertainty` number, double, required — Radius of the uncertainty circle around the location in meters. Also known as Horizontal Positioning Error (HPE).
  - `fulfilledWith` union, required
    - 'MCELL'
    - 'SCELL'

---

[API](https://skmtc.dev/nrfcloud/apis/nrf-cloud-rest-api.md) · [All operations](https://skmtc.dev/nrfcloud/apis/nrf-cloud-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nrfcloud/nrf-cloud-rest-api/revisions/c4e56e458ebf/schema)
