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 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:
- parsing and filtering raw data
- updating measurement statistics and storing measurements in the database
- 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.
