Add a measurement
Submit a single cell observation.
Adding a single measurement
POST https://opencellid.org/measure/addSend URL-encoded form fields. GET with query parameters is also supported.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
key | string | Yes | API key assigned to the user submitting the measurement |
lat | double | Yes | Latitude |
lon | double | Yes | Longitude |
mcc | integer | Yes, except CDMA | Mobile country code |
mnc | integer | Yes, except CDMA if sid is provided | Mobile network code or system identifier |
lac | integer | Yes, except CDMA if nid is provided or LTE or NR if tac is provided | Local area code, tracking area code or network id |
cellid | integer | Yes, except CDMA if bid is provided | Cell tower id or base station id |
signal | integer | No | Signal level: either in dBm or as defined in TS 27.007 8.5; both is accepted. |
measured_at | date | No | When the measurement was measured. Supported date formats: - timestamp (milliseconds since 1/1/1970 00:00:00 GMT) - "yyyy-MM-dd HH:mm:ss" - "yyyyMMddHHmmss" - "yyyy-MM-dd HH:mm:ss.SSSZ" - "yyyy-MM-dd" Time zone: UTC |
rating | double | No | GPS quality/accuracy information (metres) |
speed | double | No | Speed when creating the measurement, in metres/second |
direction | double | No | Heading direction when creating the measurement (0=north, 90=east) |
act | string | No | Network access type; currently supported: 1xRTT, CDMA, eHRPD, IS95A, IS95B, EVDO_0, EVDO_A, EVDO_B, UMTS, HSPA+, HSDPA, HSUPA, HSPA, TDSCDMA, LTE, LTECATM, NR, NBIOT, EDGE, GPRS, GSM |
ta | integer | No | Timing advance; only for GSM and LTE |
psc | integer | No | Primary scrambling code; only for UMTS and TDSCDMA |
tac | integer | No | Tracking area code; only for LTE or NR |
pci | integer | No | Physical cell Id; only for LTE or NR |
sid | integer | No | System identifier; only for CDMA |
nid | integer | No | Network id; only for CDMA |
bid | integer | No | Base station id; only for CDMA |
devn | string | No | Device name as concatenated strings with the manufacturer and the model name; max 50 characters |
txp | integer | No | TX power in dBm |
tsrf | integer | No | Temperature in the RF module; in degrees Celsius; only with txp parameter |
See Measurement fields for radio technology definitions and validation rules for accepted values.
Example POST request
Replace YOUR_API_KEY and the example values with a real observation before submitting. This sends the fields in an application/x-www-form-urlencoded request body.
curl -X POST "https://opencellid.org/measure/add" \
-d "key=YOUR_API_KEY&lat=52.892139&lon=9.436598&mcc=262&mnc=2&lac=434&cellid=9200&act=GSM"Response
An accepted submission returns HTTP 200 with this plain-text body:
Your measurement has been inserted.This acknowledges receipt for background processing; it does not confirm that the measurement passed validation or updated a cell position.
Errors can also return HTTP 200. Check the response body and see Measurement submission errors for Err: Invalid token, err and how to handle them.
For processing stages and when cell positions update, see Processing time.
