No description or website provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.travis.yml Update .travis.yml Apr 13, 2018
Gomfile Update Gomfile May 2, 2018
LICENSE Create LICENSE Aug 1, 2014 Do not add limit/offset if it is already used in query string May 10, 2016
bulkRequest.go SSR-113 Feb 28, 2018
bulkRequest_test.go Update logic import & export function Nov 16, 2017
export_test.go Use go-flags Feb 23, 2018
import-with-bulkRequest_test.go Use go-flags Feb 23, 2018
main.go update help message Mar 28, 2018
main_test.go Use go-flags Feb 23, 2018


cli-kintone is a command line utility for exporting and importing kintone App data.



How to Build


  • Go 1.9.3
  • Git and Mercurial to be able to clone the packages

Getting the source code

$ export GOPATH=/path/to/your/Go/project/folder
$ cd ${GOPATH}/src
$ git clone

Install dependencies

$ export GOPATH=/path/to/your/Go/project/folder
$ go get
$ sudo ln -s $GOPATH/bin/gom /usr/local/bin/gom
$ gom -production install


$ cd ${GOPATH}/src/cli-kintone
$ gom build


These binaries are available for download.

  • Windows
  • Linux
  • Mac OS X


        cli-kintone [OPTIONS]

    Application Options:
        -d=           Domain name (specify the FQDN)
        -a=           App ID (default: 0)
        -u=           User's log in name
        -p=           User's password
        -t=           API token
        -g=           Guest Space ID (default: 0)
        -o=           Output format. Specify either 'json' or 'csv' (default: csv)
        -e=           Character encoding. Specify one of the following -> 'utf-8'(default), 'utf-16', 'utf-16be-with-signature', 'utf-16le-with-signature', 'sjis' or
                        'euc-jp' (default: utf-8)
        -U=           Basic authentication user name
        -P=           Basic authentication password
        -q=           Query string
        -c=           Fields to export (comma separated). Specify the field code name
        -f=           Input file path
        -b=           Attachment file directory
        -D            Delete records before insert. You can specify the deleting record condition by option "-q"
        -l=           Position index of data in the input file (default: 1)
            --import  Import data from stdin. If "-f" is also specified, data is imported from the file instead
            --export  Export kintone data to stdout

    Help Options:
        -h, --help    Show this help message


Export all columns from an app

$ cli-kintone -a <APP_ID> -d <FQDN> -t <API_TOKEN>

Export the specified columns to csv file as Shif-JIS encoding

$ cli-kintone -a <APP_ID> -d <FQDN> -e sjis -c "$id, name1, name2" -t <API_TOKEN> > <OUTPUT_FILE>

Import specified file into an App

$ cli-kintone --import -a <APP_ID> -d <FQDN> -e sjis -t <API_TOKEN> -f <INPUT_FILE>

Records are updated and/or added if the import file contains either an $id column (that represents the Record Number field), or a column representing a key field (denoted with a * symbol before the field code name, such as "*mykeyfield").  

If the value in the $id (or key field) column matches a record number value, that record will be updated.
If the value in the $id (or key field) column is empty, a new record will be added.
If the value in the $id (or key field) column does not match with any record number values, the import process will stop, and an error will occur.
If an $id (or key field) column does not exist in the file, new records will be added, and no records will be updated.

Export and download attachment files to ./mydownloads directory

$ cli-kintone -a <APP_ID> -d <FQDN> -t <API_TOKEN> -b mydownloads

Import and upload attachment files from ./myuploads directory

$ cli-kintone --import -a <APP_ID> -d <FQDN> -t <API_TOKEN> -b myuploads -f <INPUT_FILE>

Import and update by selecting a key to bulk update

The key to bulk update must be specified within the INPUT_FILE by placing an * in front of the field code name,
e.g. “update_date",“*id",“status".

$ cli-kintone --import -a <APP_ID> -d <FQDN> -e sjis -t <API_TOKEN> -f <INPUT_FILE>

Import CSV from line 25 of the input file

 $ cli-kintone --import -a <APP_ID> -d <FQDN> -t <API_TOKEN> -f <INPUT_FILE> -l 25

Import from standard input (stdin)

 $ printf "name,age\nJohn,37\nJane,29" | cli-kintone --import -a <APP_ID> -d <FQDN> -t <API_TOKEN>

Documents for Basic Usage



  • The limit of the file upload size is 10 MB.
  • Client certificates cannot be used with cli-kintone.
  • The following record data cannot be retrieved: Category, Status, Field group.
  • The following fields cannot be retrieved if they are set inside a Field group: Record number, Created by, Created datetime, Updated by, Updated datetime, Blank space, Label, Border.


GPL v2


Copyright(c) Cybozu, Inc.