# TPS XML API request
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Requests the geographic location of the device based on observed access points, cell
towers, and GPS locations.
**Endpoint URL**: [https://global.skyhook.com/wps2/location](https://global.skyhook.com/wps2/location).
**HTTP method**: POST
**HTTP authentication**: See [HTTP authentication methods](https://docs.qualcomm.com/doc/80-42216-1/topic/2_TPS_XML_API_implementation.html#HTTP_authentication_methods_3).
**Syntax**
...
Copy to clipboard
**Parameters**
| Parameter | Values | Description |
| --- | --- | --- |
| `rqtime` | – | (Optional) The time at which the request data is scanned. This attribute is
reflected back in the response. |
| `timezone-lookup` |
| Requests time zone lookup in addition to lat/long lookup.
- Set to
false to not perform time zone lookup.
- Set to
true to perform time zone lookup, which yields a
timezone in the LocationRS.
|
| `street-address-lookup` |
- None (default)
- Limited
- Full
| Requests street address lookup in addition to lat/long lookup.
- Set to
none to not perform street address lookup.
- Set to
limited to return information of the city, which
yields a street-address in the LocationRS.
- Set to
full to return all address attributes, which yield a
street-address in the LocationRS.
|
| `version` | – | The version of the API used. |
| `hpe-confidence` | | (Optional) Requests reported uncertainty (HPE) percentile change. For example,
a value of 95 reports 95% uncertainty.
Note: The default 68%
confidence is supported inTPS v2.28 and later. For 95% confidence, set
`hpe-confidence` to 95 in the location request. |
| `allowSingleAPLocation` | |
- Set to
true to return a coarse location estimate when only
one known access point is present in the request.
- Set to
false to stop returning locations with only one known
access point.
Note: Set the value of `Skyhook-Proto-Ver`
HEADER to at least `2.41` version. |
| `authentication` | – | The authentication for this API request.
key: The API key used for this project.
username: The serial number, MAC address, or other unique ID
of the device.
version: The version of the authentication type used for this
project.
|
| [access-point](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html#Wi_Fi_access_points__5) | – | (Optional) An access point observed during a scan. Any number of access points
can be provided in a request. |
| [cell-tower](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html#Scanned_cell_tower_group_6) | – | (Optional) A cell tower observed during a scan. Any number of cell towers can be
provided in a request.
The types of cell towers supported are as follows:
|
| [gps-location](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html#GPS_locations_14) | – | (Optional) A GPS point observed during a scan. Any number of GPS points can be
provided in a request. |
| [ble-beacon](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html#Scanned_BLE_beacon_group_15) | – | (Optional) A BLE beacon observed during a scan. Any number of BLE beacons can be
provided in a request.
The types of BLE beacons supported are as follows:
|
## Scanned access points
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Provides the access point observed during a scan.
**Syntax**
E01C413B9414SkyFi-Corp -66100 5260 true
Copy to clipboard
**Parameters**
| Parameter | Values | Description |
| --- | --- | --- |
| `mac` | – | MAC address of the access point.
MAC address must be complete and valid. Each character should be capitalized, and
separators such as colons and dashes should be removed. For example:
- Correct MAC address: 000C4182D88C
- Incorrect MAC address: 00:0C:41:82:D8:8C
|
| `ssid` | – | (Optional) Service Set Identifier (SSID) of the access point. |
| `signal-strength` | – | (Optional) Observed signal strength of the access point, in dBm. |
| `age` | – | (Optional) Relative age of the measurement, in milliseconds or
timestamp. |
| `freq` | – | (Optional) Central channel frequency in MHz; 16‑bit integer. |
| `connected` |
- True
- False
- Empty (default)
| (Optional) Indicates whether the client device is currently connected to the
access point.
true: connected
false: not connected
empty: not connected
|
## Scanned cell towers
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
The scanned cell tower group allows the input of observed cell towers. Multiple towers and
multiple types of cell towers are allowed.
Optionally, the cell tower list can include neighbors cell measurements (NMRs) in addition to
serving cells. Neighbor cells can be provided with the full cell IDs (as serving cell) or
partial IDs (labeled in the table as NMRs).
Note: Partial cell ID must be accompanied by
at least one serving cell.
### GSM cell tower
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Provides the GSM cell tower observed during a scan. The GSM tower block should be used for the
following air-interfaces:
- GSM
- GPRS
- EDGE
**Syntax**
31041012341234535 -90 11 1000 330 GSM_480 false
Copy to clipboard
**Parameters**
| Parameter | Values | Description |
| --- | --- | --- |
| `mcc` | – | Indicates the mobile country code. |
| `mnc` | – | Indicates the mobile network code. |
| `lac` | – | Indicates the local area code. |
| `ci` | – | Indicates the cell ID. |
| `bsic` | Range: 0 to 63 | (Optional) GSM BSIC composed of a 3‑bit Network Color Code (NCC) and a 3‑bit
Base station Color Code (BCC). |
| `rssi` | – | Signal strength of the cell, in dBm. |
| `timing-advance` | Range: 0 to 63 | (Optional) GSM time advance value (TA) when in connected mode. Integer value as
per 3GPP Technical Specification 45.00 (GSM). |
| `age` | – | Relative age of the measurement, in milliseconds or timestamp. |
| `arfcn` | – | (Optional) GSM channel number; 16‑bit integer. |
| `band` | – | (Optional) GSM band; string. |
| `serving` |
- True
- False
- Empty (default)
| (Optional) Indicates whether the client device is currently associated with the
cell tower.
true: connected/serving cell
false: not a serving cell
empty: not serving
|
### UMTS cell tower
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Provides the UMTS cell tower observed during a scan. The UMTS tower block should be
used for the following air-interfaces:
- WCDMA
- UMTS-FDD
- UMST-TDD
- UTRAN
- TD-SCDMA
- HSPA
**Syntax**
31041012345 1234567501 -90
-13
100 1400 false
Copy to clipboard
**Parameters**
| Parameter | Values | Description |
| --- | --- | --- |
| `mcc` | – | Indicates the mobile country code. |
| `mnc` | – | Indicates the mobile network code. |
| `lac` | – | Indicates the local area code. |
| `ci` | – | UMTS UC\_ID (combination of RNDid and Cell\_ID) with a total of 28 bits as per
3GPP Technical Specification 25.401.
Populating cell ID with 16 bits may result in
incorrect tower information. |
| `psc` | Range: 0 to 511 | (Optional) UMTS local cell ID. |
| `rscp` | – | (Optional) Signal strength of the UMTS cell, in dBm. |
| `ec-no` | Range: -24 to 1 | (Optional) Signal quality of the UMTS cell. |
| `age` | – | Relative age of the measurement in milliseconds or timestamp. |
| `uarfcn` | – | (Optional) UMTS channel number; 16-bit integer. |
| `serving` |
- True
- False
- Empty (default)
| (Optional) Indicates whether the client device is currently associated with the
cell tower.
true: connected/serving cell
false: not a serving cell
empty: not serving
|
### LTE cell tower
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Provides the LTE cell tower observed during a scan. The LTE tower block should be used for the
following air-interfaces:
- - LTE
- E-UTRAN
- LTE-TDD
- LTE-FDD
**Syntax**
31041012345 123456123 -90
-29
11
12
66 100 1105 false
Copy to clipboard
**Parameters**
| Parameter | Values | Description |
| --- | --- | --- |
| `mcc` | – | Indicates the mobile country code. |
| `mnc` | – | Indicates the mobile network code. |
| `tac` | – | (Optional) Indicates the tracking area code; 16‑bit integer. |
| `eucid` | – | LTE E-CGI; 28 bits. |
| `pci` | Range: 0 to 503 | (Optional) LTE local cell ID. |
| `rsrp` | – | (Optional) Signal strength received from the LTE cell tower, in dBm. |
| `rsrq` | Range: -34 to 3 | (Optional) Signal quality of the LTE cell. |
| `rssnr` | Range: -20 to 30 | (Optional) Signal-to-noise ratio of the LTE cell. |
| `cqi` | Range: 0 to 15 | (Optional) Channel quality indicator of the LTE cell. |
| `timing-advance` |
- Default range: 0 to 1282
- Extended range: 0 to 7690
| (Optional) Length of time a signal takes to reach the base station from a
mobile phone, half of round-trip time (RTT).
The units are LTE 16xTs symbols as
specified in Section 4.2.3 of 3GPP Technical Specification 36.213 and 36.133
(LTE). |
| `age` | – | Relative age of the measurement in milliseconds or timestamp. |
| `earfcn` | – | (Optional) 3GPP channel number; 18-bit integer. |
| `serving` |
- True
- False
- Empty (default)
| (Optional) Indicates whether the client device is currently associated with the
cell tower.
true: connected/serving cell
false: not a serving cell
empty: not serving
|
### NB-IoT cell tower
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Provides the NB-IoT cell tower (CAT-NB1, CAT-NB2) observed during a scan. The NB-IoT tower block
should be used for low-power IoT networks based on NB-IoT air-interfaces.
**Syntax**
31041012345 123456123 -90 100 1105 false
Copy to clipboard
**Parameters**
| Parameter | Values | Description |
| --- | --- | --- |
| `mcc` | – | Indicates the mobile country code. |
| `mnc` | – | Indicates the mobile network code. |
| `tac` | – | (Optional) Indicates the NB-IoT tracking area code; 16 bit |
| `cid` | – | Indicates the NB-IoT cell ID; 28 bit. |
| `ncid` | Range: 0 to 503 | (Optional) Indicates the NB-IoT local cell ID; equivalent to PCI in
LTE. |
| `nrsrp` | – | (Optional) Signal strength received from the NB-IoT tower, in dBm. |
| `age` | – | Relative age of the measurement, in milliseconds or timestamp. |
| `earfcn` | – | (Optional) 3GPP channel number; 16‑bit integer. |
| `serving` |
- True
- False
- Empty (default)
| (Optional) Indicates whether the client device is currently associated with the
cell tower.
true: connected/serving cell
false: not a serving cell
empty: not serving
|
### CDMA cell tower
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Provides the CDMA cell tower observed during a scan. The CDMA tower block should be used for the
following air-interfaces:
- CDMA
- CDMA2000
- EV-DO
- IS-95
- 1xRTT
**Syntax**
51089150031 41.123456 71.123456 -90 100 1105 1800 false
Copy to clipboard
**Parameters**
| Parameter | Values | Description |
| --- | --- | --- |
| `sid` | – | Indicates the CDMA system identifier. |
| `nid` | – | Indicates the CDMA network identifier. |
| `bsid` | – | Indicates the CDMA base system identifier. |
| `pncode` | Range: 0 to 511 | (Optional) Indicates the CDMA local cell ID. |
| `cdma-lat` | – | (Optional) The latitude of the CDMA tower. |
| `cdma-lon` | – | (Optional) The longitude of the CDMA tower. |
| `pilot-power` | – | (Optional) Signal strength received from the CDMA tower, in dBm. |
| `age` | – | Relative age of the measurement, in milliseconds or timestamp. |
| `channel-number` | – | (Optional) CDMA channel number; 16-bit integer. |
| `band` | – | (Optional) CDMA band; string. |
| `serving` |
- True
- False
- Empty (default)
| (Optional) Indicates whether the client device is currently associated with the
cell tower.
true: connected/serving cell
false: not a serving cell
empty: not serving
|
### NR tower (5G, New Radio)
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Provides the 5G NR cell tower observed during a scan. The NR tower block should be used for cell
towers in a 5G network.
**Syntax**
600
10
25187
6871947673
3400
-50
-10
-11
-15
csi
0
0
4000
true
Copy to clipboard
**Parameters**
| Parameter | Values | Description |
| --- | --- | --- |
| `mcc` | – | Indicates the mobile country code. |
| `mnc` | – | Indicates the mobile network code. |
| `tac` | – | (Optional) Indicates 16‑bit NR tracking area code. |
| `nci` | – | Indicates the 5G local cell ID; 36 bits. |
| `pci` | Range: 0 to 1007 | (Optional) Indicates the 5G local cell ID; equivalent to PCI in LTE. |
| `csi-rsrp` | – | (Optional) Signal strength received from the NR tower, in dBm. |
| `rsrq` | Range: -20 to 3 | (Optional) Signal quality of the NR cell. |
| `sinr` | Range: -23 to 23 | (Optional) Signal-to-noise ratio of the NR cell. |
| `cqi` | – | (Optional) Indicator of NR cell channel quality. |
| `signal-ref-type` | [csi, ss] | (Optional) Type of signal reference. Applicable to 5G NR cells.
The values
are case-sensitive; enum with values [csi, ss].
If this value isn't
available, use the measurements provided. |
| `timing-advance` | Range: 0 to 3846 | (Optional) Length of time a signal takes to reach the base station from a
mobile phone, half of round-trip time (RTT).
The units are Ts as specified in 3GPP
Technical Specification 28.212. |
| `age` | – | Relative age of the measurement, in milliseconds or timestamp. |
| `nrarfcn` | – | (Optional) 3GPP channel number; 24‑bit integer. |
| `serving` |
- True
- False
- Empty (default)
| (Optional) Indicates whether the client device is currently associated with the
cell tower.
true: connected/serving cell
false: not a serving cell
empty: not serving
|
### Neighbor cell reporting
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Neighbor cells improve cell-based accuracy and yield. The positioning service XML API supports reporting of neighbor cells with partial identity.
The key requirements for neighbor cell reporting are as follows:
- At least one cell must be fully qualified, that is, it must include all nonoptional
cell ID elements.
- Neighbor cells with partial identity should include at least local cell ID, such as `pci` in LTE, and channel frequency.
- When the serving cell is 4G (LTE), for example, it's common to see neighbor cells from 4G/3G/2G.
- When available, neighbor cells can be reported with full identity.
- Neighbor cells can be reported using channel frequency from the serving cell and intra-frequency flag. Such neighbor cells must be of the same cell type as the serving cell to use this feature.
**Sample request**
The following example includes a fully qualified serving LTE cell with all cell identifiers specified, an LTE neighbor cell, and a UMTS neighbor cell:
31041012345 123456123 -90 100 1105 true
123 -90 1100 1105
150
true
501 -90 500 1400
73
true
501 -90 500 1400
73
true
501 -90 500 1400
73
true
Copy to clipboard
## Scanned GPS locations
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Provides the GPS location observed during a scan.
**Syntax**
11.12345611.1234561919.1 2 3.1 60 10000.1 5 GPS 4 GLONASS 5 GALILEO 3
Copy to clipboard
**Parameters**
| Parameter | Parameter | Values | Description |
| --- | --- | --- | --- |
| `fix` | `fix` |
- 1 – GPS (default)
- 2 – DGPS
- 3 – PPS
- 4 – RTK
- 5 – FRTK
- 6 – Estimated
- 7 – MIM
- 8 – SM
| Type of fix. |
| `latitude` | `latitude` | – | Calculated physical geographic location, expressed in decimal degrees using
floating point values, using the WGS84 datum. |
| `longitude` | `longitude` | – | Calculated physical geographic location, expressed in decimal degrees using
floating point values, using the WGS84 datum. |
| `hpe` | `hpe` | – | Horizontal Positioning Error.
Estimated horizontal error of the location, in meters, with 68% confidence.
Note: The default 68% confidence is supported in positioning
service v2.28 and later. For 95% confidence, set `hpe-confidence`
to 95 in the location request. |
| `altitude` | `altitude` | – | (Optional) Altitude above WGS84, in meters. |
| `vpe` | `vpe` | – | (Optional) Vertical Positioning Error.
Estimated vertical error of the altitude, in meters, with 68% confidence. |
| `speed` | `speed` | – | (Optional) Speed in m/s. |
| `bearing` | `bearing` | – | (Optional) Bearing, in degrees, from North in counterclockwise (+90 ° is
West). |
| `age` | `age` | – | (Optional) Relative age of the measurement, in milliseconds or
timestamp. |
| `speed-uncertainty` | `speed-uncertainty` | – | (Optional) Uncertainty of speed, in m/s with 68% confidence. |
| `bearing-uncertainty` | `bearing-uncertainty` | – | (Optional) Uncertainty of bearing, in degrees with 68% confidence. |
| `constellation` | `constellation` | – | List of constellation types that contributed to the fix result. |
| | `name` | – | (Optional) Name of the constellation of GNSS satellites.
The possible examples are GPS, GLONASS, Galileo, BeiDou, QZSS, SBAS, and
UNKNOWN. |
| | `nsat` | – | (Optional) Number of GNSS satellites, an integer value, used in a constellation
to compute location. |
| | | | |
## Scanned BLE beacons
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
The scanned Bluetooth low energy (BLE) beacon group allows the input of observed BLE beacons.
Multiple BLE beacons and multiple types of BLE beacons are allowed as input.
### IBeacon BLE
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Provides the iBeacon BLE beacon observed during a scan.
**Syntax**
123e4567-e89b-12d3-A456-426655440000
1
2
666
000C41A2DF52
-95
1000
-50
Copy to clipboard
**Parameters**
| Parameter | Values | Description |
| --- | --- | --- |
| `uuid` | – | Universally Unique Identifier.
Comprises 32 hexadecimal digits, split into 5 groups, separated by hyphens;
16 bytes. |
| `major` | Range: 0 to 65535 | Additional identifying number assigned to iBeacon; unsigned integer. |
| `minor` | Range: 0 to 65535 | Additional identifying number assigned to iBeacon; unsigned integer. |
| `company-id` | – | (Optional) Identifier provided with iBeacon prefix; integer. |
| `mac` | – | (Optional) MAC address of the device. |
| `rssi` | – | (Optional) Signal strength received from the beacon, in dBm.
Note: If this value is provided,
`tx-power` must also be provided for higher
accuracy. |
| `age` | – | (Optional) Relative age of the scan, in milliseconds or timestamp. |
| `tx-power` | Range: -128 to 127 | (Optional) Transmission power of the beacon; `rx_power` at 1 m
from BLE beacon (1 byte); signed integer. |
### Eddystone BLE
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Provides the Eddystone BLE beacon observed during a scan.
Note: Only Eddystone BLE beacons with unique identifiers are
supported.
**Syntax**
123e4567e89b12d3A456
426655440000
000C41A2DF52
-95
1000
-50
Copy to clipboard
**Parameters**
| Parameter | Values | Description |
| --- | --- | --- |
| `namespace-id` | – | 10‑byte hexadecimal identifier; string. |
| `instance-id` | – | 6‑byte hexadecimal identifier; string. |
| `mac` | – | (Optional) MAC address of the device. |
| `rssi` | – | (Optional) Signal strength received from the beacon, in dBm.
Note: If this value is provided,
`tx-power` must also be provided for higher
accuracy. |
| `age` | – | (Optional) Relative age of the scan, in milliseconds or timestamp. |
| `ranging-data` | – | (Optional) Configured maximum transmission power, in dBm, emitted by the beacon
at 0 m (1 byte). |
### AltBeacon BLE
Source: [https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html](https://docs.qualcomm.com/doc/80-42216-1/topic/4_TPS_XML_API_request.html)
Provides the AltBeacon BLE beacon observed during a scan.
**Syntax**
123e4567-e89b-12d3-A456-426655440000
1
2
666
000C41A2DF52
-95
1000
-50
Copy to clipboard
**Parameters**
| Parameter | Values | Description |
| --- | --- | --- |
| `uuid` | – | Universally Unique Identifier.
Comprises 32 hexadecimal digits, split into 5 groups, separated by hyphens;
16 bytes. |
| `major` | Range: 0 to 65535 | Additional identifying number assigned to AltBeacon; unsigned integer. |
| `minor` | Range: 0 to 65535 | Additional identifying number assigned to AltBeacon; unsigned integer. |
| `company-id` | – | (Optional) Identifier provided with AltBeacon prefix; integer. |
| `mac` | – | (Optional) MAC address of the device. |
| `rssi` | – | (Optional) Signal strength received from the beacon, in dBm.
Note: If this value is provided,
`ref-rssi` must also be provided for higher
accuracy. |
| `age` | – | (Optional) Relative age of the scan, in milliseconds or timestamp. |
| `ref-rssi` | Range: -127 to 0 | (Optional) Average signal strength received at 1 m from the advertiser; signed
1‑byte value. |
Last Published: Apr 01, 2026
[Previous Topic
TPS XML API headers and authentication](https://docs.qualcomm.com/bundle/publicresource/80-42216-1/topics/2_TPS_XML_API_implementation.md) [Next Topic
TPS XML API response](https://docs.qualcomm.com/bundle/publicresource/80-42216-1/topics/19_TPS_XML_API_response.md)