Uploading flights through sFTP

Connecting to CitizenPlane's FTP server


You will need your sFTP username and password to set up a connection to CitizenPlane's FTP server. If you don't have sFTP enabled for your account, contact support@citizenplane.com and ask to have your account configured and receive a username / password.

Connecting to the server

Several tools can be used as FTP client. We will be using CyberDuck as an example for this guide.


Once you have installed the software, click on the top left of the application's main window and select Open Connection.

Enter the following information:

Protocol: FTP or sFTP

Server/Host / Username / Password: Ask us for it at support@citizenplane.com

and click on Connect.

You will be prompted a warning if you choose to use FTP, click on continue.

Once connected you will have access to a single directory: data, which you'll use to upload files.

Note: You can only upload files in the data folder

Your screen should now look similar to the following:

Uploading files onto the server

File format

All files must be in .csv format (other formats won't be processed), with a comma as a delimiter. Other formats and delimiters will not be taken into accounts.

Note: File name must not contain spaces. Otherwise, there are no naming conventions for the files you upload.

The format of the csv is strict and should follow the example below:


When one or more optional parameters are not available (such as origin_terminal_airport or via_airport), just leave them empty but don't change the structure of the file, otherwise, your file won't be processed.

File size must be limited to 150Kb. If the file size exceeds 150Kb (approximatively 1600-1800 rows of data), your file won't be processed and be kept in your folder.

Note: you can upload multiple files, we will treat them sequentially, from least recent to most recent file.

Validity checks

Multiple checks will be performed on each file to ensure data consistency. Make sure to read the following instructions and verify your files follow our restrictions before uploading.

Here is the list of columns along with the different checks:



  • terminals must follow IATA official denomination. You can find the list of airports with their associated terminals here
  • Do not use ICAO codes for airports, we only accept IATA codes

Error report

Should we detect an error in your file, the whole batch won't be processed to avoid unwanted side effects and your file will be deleted. You will then receive a report by mail with a list of detected errors.

Upload workflow

You can upload your files any time of the day, as long as they respect the format specified above. We will scan your folder every five minutes to detect any new files. If you have uploaded a new file, we will parse it and run the validity checks. If everything's okay, your flights will be sent onto our platform and will be either created or updated if they already exist on our platform.

Once your flights have been processed, your file will be deleted.

Updating your flights

You can also use the ftp server to update your flights in a batch. If your file contains flights that have already been uploaded onto our platform, we will update them if the following flight information has been changed:

  • Price
  • Available seats
  • End selling date

You can only change these three fields. Should you need to change any other information, please login onto your personal dashboard on citizenplane.com or contact support@citizenplane.com.