API reference

Upload CLF measurements

Submit measurements in CLF3 format.

Uploading measurements from CLF3 file

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

Send a multipart/form-data request containing your API key and a measurement file.

Form fields

NameTypeRequiredDescription
keystringYesYour OpenCellID API key.
datafilefileYesMeasurement file, up to 2 MB. Split larger uploads into multiple files.

File contents

CLF version 3.0 file (to be sent in datafile parameter) of the following format:

//mcc+mnc;cellid;lac;rnc;lat;lon;ratio;data;rfu
26202;07812;03101;0;45.894375;31.51312;0;City Square;0

Columns are semicolon separated and have the following strict order:
mcc+mnc, lac, cellid, rnc, lat, lon, ratio, data, rfu

There is no header in CLF3 files. Therefore the columns must be provided in the order given above and all values must be there.

You can add comments to CLF3 files.
Comments in CLF3 start with // and extend to the end of the physical line.

Supported columns:

NameTypeRequiredDescription
mcc+mncstringYesMobile country code and mobile network code
lacintegerYesLocal area code
cellidintegerYesCell tower id
rncintegerYesRadio network controller; provide "0", (zero, without the quotation marks) or an empty string in case there is no rnc value.
latdoubleYesLatitude
londoubleYesLongitude
ratiointegerNoAccuracy of the cell coordinates. Use -1 for the exact position.
datastringNoShort cell description
rfustringNoNot really used; use 0 if unknown

Example request

Save your measurements as measurements.clf and replace YOUR_API_KEY with your key.

curl "https://opencellid.org/measure/uploadClf" \
  -F "key=YOUR_API_KEY" \
  -F "[email protected];type=text/plain"

Response

HTTP 200:

0,OK

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