A simple library to make it easier to access SODA services from PHP
Switch branches/tags
Nothing to show
Clone or download
chrismetcalf Merge pull request #24 from aepton/master
Fixing issue that causes PUT requests to return 0 due to malformed URLs
Latest commit 963ee60 Jun 1, 2017


Build Status

Socrata - Basic PHP Library

This library provides a simple wrapper for accessing some of the features of the Socrata Open Data API from PHP. Currently it supports HTTP GET, POST, and PUT operations.

The library is very simple. To access the Socrata API, you first instantiate a "Socrata" object, passing in the domain of the data site you wish to access. The library will also accept the full root path including the protocol (ex: http://data.medicare.gov). Then you can use its included methods to make simple API calls:

Supported PHP versions

In order to access the SODA API via HTTPS, clients must now support the Server Name Indication (SNI) extension to the TLS protocol. What does this mean? It means that if you're using soda-php, you must use PHP 5.6 or above, as that is when PHP introduced support for SNI.


Via composer

composer require socrata/soda-php


$socrata = new Socrata("data.medicare.gov");
$response = $socrata->get("abcd-2345");

In your API calls, specify ether the full endpoint relative path (eg: /resource/abcd-2345.json), or the dataset ID (eg: abcd-2345).


Simple filters and SoQL Queries can be passed as a parameter to the get function:

$socrata = new Socrata("data.austintexas.gov", $app_token);

$params = array("\$where" => "within_circle(location, $latitude, $longitude, $range)");

$response = $socrata->get($view_uid, $params);


To use the library to publish data you can use the PUT (replace) or POST (upsert) methods:

$socrata = new Socrata("data.medicare.gov", $app_token, $user_name, $password);

// Publish data via 'upsert'
$response = $socrata->post("abcd-2345", $data_as_json);

// Publish data via 'replace'
$response = $socrata->put("abcd-2345", $data_as_json);

The library also includes a simple example application, which retrieves rows from a dataset and dumps them in a simple table.


Apache License, Version 2.0. Please see License File for more information.