Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including algolia-csv with all npm packages installed. Try it out:

algolia-csv lists no main file and has no index.js, so it can't be directly required. If this is a mistake, please let us know. It may however contain internal files that you can require manually:

// require("algolia-csv/[??]")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

algolia-csv v1.3.0

Algolia CSV toolbox CLI

Algolia CSV toolbox

What is this project about?

It's a CLI and library to easily upload CSV files to Algolia in an efficient manner without limitations.

Cool features:

  • uses the header (first line of the csv file) to set the name of the columns
  • automatically detects the types of the fields
  • adds an objectID automatically if not set (useful for public datasets)
  • uses batch best practices to upload to Algolia
  • based on streams

Installation / usage


  • Node + npm
  • an algolia account and and API key that can upload (not the search API key)


npm install -g algolia-csv

You must have a file in which the first row contains the name of all the fields.

algolia-upload $APP_ID $API_KEY $indexName $file|$url [-d $delimiter] [-b $batchSizer] [--clear-index] [--parse-arrays=$column] [--array-delimiter=$delimiter] [--geo-columns=$latCol,$longCol]

Mandatory parameters are the aplication id, a key with write rights, the target index name and the input CSV (locally or accessible with http/https).

Other parameters:

  • -d let you set the delimiter used in your file. This should be set in quotes. Default is ','.
  • -b let you set the batch size. Default is 10000.
  • --clear-index forces the index to be cleared before uploading the new data.
  • --parse-arrays=column let you specify if a column value should be split before uploading the data. More than one column can be set using this parameter multiple times. Value will be split with --array-delimiter.
  • --array-delimiter let you specify the delimiter used to split the values of columns defined with --parse-arrays. Default is ','.
  • --geo-columns=latCol,longCol let you specify two columns that are to be used for creating the special algolia attribute _geoloc.

As a library

npm install --save algolia-csv
var algoliaCsvTools = require('algolia-csv');

  appId: '',
  apiKey: '',
  indexName: '',
  inputFile: '',
  batchSize: 1000,
  delimiter: ',',
  clearIndex: false,
  parseArrays: ['column'],
  arrayDelimiter: '|',
  geoColumns: {lat: 'latCol', 'lng': 'longColumn'}


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free