This blog post explains how you could insert data from a CSV file into CiviCRM. We use Pentaho Data Integration to read the CSV file and to call a Form Processor in CiviCRM.
This blog post is an example and when you follow the steps described in this post you can run the same import as me.
Pentaho is a tool to extract and transform data.
The form processor is an extension to create end points for forms in CiviCRM. Those end points can then be called through the api.