soda-js
A client implementation of the Socrata Open Data API in Coffeescript and Javascript.
Important Note
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:
Supported Operations
Supports both consumer and producer API, but does not currently support creating datasets or the import workflow.
Usage
See the sample/
directory for sample code, but hereโs the general idea:
var soda = require('soda-js');
API
ConsumerYou 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'")
API
ProducerYou 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); })
License
Provided under the MIT license.