API reference

Add a measurement

Submit a single cell observation.

Adding a single measurement

POST https://opencellid.org/measure/add

Send URL-encoded form fields. GET with query parameters is also supported.

Parameters

NameTypeRequiredDescription
keystringYesAPI key assigned to the user submitting the measurement
latdoubleYesLatitude
londoubleYesLongitude
mccintegerYes, except CDMAMobile country code
mncintegerYes, except CDMA if sid is providedMobile network code or system identifier
lacintegerYes, except CDMA if nid is provided or LTE or NR if tac is providedLocal area code, tracking area code or network id
cellidintegerYes, except CDMA if bid is providedCell tower id or base station id
signalintegerNoSignal level: either in dBm or as defined in TS 27.007 8.5; both is accepted.
measured_atdateNoWhen 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
ratingdoubleNoGPS quality/accuracy information (metres)
speeddoubleNoSpeed when creating the measurement, in metres/second
directiondoubleNoHeading direction when creating the measurement (0=north, 90=east)
actstringNoNetwork 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
taintegerNoTiming advance; only for GSM and LTE
pscintegerNoPrimary scrambling code; only for UMTS and TDSCDMA
tacintegerNoTracking area code; only for LTE or NR
pciintegerNoPhysical cell Id; only for LTE or NR
sidintegerNoSystem identifier; only for CDMA
nidintegerNoNetwork id; only for CDMA
bidintegerNoBase station id; only for CDMA
devnstringNoDevice name as concatenated strings with the manufacturer and the model name; max 50 characters
txpintegerNoTX power in dBm
tsrfintegerNoTemperature 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.


API overview · Measurement fields · Errors

On this page