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 request

Replace YOUR_API_KEY and the example values with a real observation before submitting.

curl "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

Upon successful insert, HTTP 200 is returned with the string "Your measurement has been inserted."

Time needed for processing newly uploaded measurements

After uploading new measurements to the OpenCellID community servers they are added to our waiting queues and processed in the background. We aim the real-time processing, but maximum time depends on traffic on OpenCellID servers. Current throughput of our servers is around 15000 measurements per second.

Measurements are processed in 3 steps:

  1. parsing and filtering raw data
  2. updating measurement statistics and storing measurements in the database
  3. updating existing cell towers information or adding new cell towers to the database

Our waiting queues for cell towers and for measurements are independent, so you can see your measurements in the OpenCellID database but related cell towers might be not updated yet. This means that if you upload a measurement of a cell tower that was not in the database before and the waiting queue for cell towers has some data to process, you have to expect some times (usually few minutes) until the queue delivers the newly uploaded cell tower information.


API overview · Measurement fields · Errors

On this page