A client implementation of the Socrata Open Data API in Coffeescript and Javascript.
In order to access the SODA API via HTTPS, clients must now support the Server Name Indication extension to the TLS protocol. What does this mean? It means that if you’re using soda-js
, you must use a JavaScript VM that supports SNI:
Supports both consumer and producer API, but does not currently support creating datasets or the import workflow.
See the sample/
directory for sample code, but here’s the general idea:
var soda = require('soda-js');
You can query a dataset by SODA2 clauses, or supply a custom SoQL query to be run.
var consumer = new soda.Consumer('explore.data.gov');
consumer.query() .withDataset('644b-gaut') .limit(5) .where({ namelast: 'SMITH' }) .order('namelast') .getRows() .on('success', function(rows) { console.log(rows); }) .on('error', function(error) { console.error(error); });
Using ‘like’ in a where clause:
.where("namelast like '%MITH'")
You can add, update, replace, delete, and upsert rows, as well as truncate a dataset.
var producer = new soda.Producer('sandbox.demo.socrata.com', sodaConnectionOptions);
var data = { mynum : 42, mytext: "hello world" }
producer.operation() .withDataset('rphc-ayt9') .add(data) .on('success', function(row) { console.log(row); }) .on('error', function(error) { console.error(error); })
Provided under the MIT license.