Skip to content
Limesurvey Remote Control PHP package
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Latest Version on Packagist Build Status Quality Score Total Downloads

A package to use the Limesurvey Remote Control with PHP, and Laravel in particular. Currently it supports all default remote control actions, and any actions you have added using the fantastic Extended Remote from Denis Chenu ( using the genericRemoteQuery.


You can install the package via composer:

composer require evently/limeremote


Standard use

// First create a new remote with your user, password, remote control url and optionally a survey id.
// The plugin creates a new remote and automatically gets a session key to communicate with Limesurvey 
$remote = new LimeRemote('admin', 'password', '',123456);

// Use any of the functions, optionally passing variables to the remote
$surveys = $remote->listSurveys();

Results in:

array:26 [
  0 => array:5 [
    "sid" => "123456"
    "surveyls_title" => "First Survey"
    "startdate" => null
    "expires" => null
    "active" => "Y"
  1 => array:5 [
    "sid" => "123457"
    "surveyls_title" => "Second Survey"
    "startdate" => null
    "expires" => null
    "active" => "N"


// To use the genericRemoteQuery pass the action you want to trigger with the necessary variables
// For instance, the list_participants action accepts start and limit, and optionally an unused boolean, an array of attributes to get and and array of conditions. So:
$participant = $remote->genericRemoteQuery('list_participants', [123456,0,50,true])
// will get the 50 first unused tokens
array:50 [▼
  0 => array:3 [▼
    "tid" => "1"
    "token" => "abcdefghijklmn"
    "participant_info" => array:3 [▼
      "firstname" => "Jane"
      "lastname" => "Doe"
      "email" => ""
  1 => array:3 [▼
    "tid" => "2"
    "token" => "opqrstuvwxyzab"
    "participant_info" => array:3 [▶]



The package will also come with helpers that make it easier to use several of the remote control options. For now there is only one, to easily get the response timeline for the last X days:

$timeline = $remote->getLastNumDaysTimeline(8)

will result in 
array:6 [▼
  "2019-01-01" => 23
  "2019-01-02" => 15
  "2019-01-03" => 41
  "2019-01-04" => 28
  "2019-01-05" => 12
  "2019-01-06" => 5



Tests are not yet written but pull requests with test are more than welcome!


Please see CHANGELOG for more information what has changed recently.


Please see CONTRIBUTING for details.


If you discover any security related issues, please email instead of using the issue tracker.



The MIT License (MIT). Please see License File for more information.

You can’t perform that action at this time.