Filters - Versions 4 and under

Note: The following information referes to versions 4 and under of the API. Access version 5 filtering information here.

Filtering can be used in conjunction with the GET method on the following objects and sub-objects: survey, surveycampaign, surveyresponse, and accountuser. Filtering is not supported in the PUT, POST or DELETE methods.

Basic Structure

A filter is actually made up of three separate parameters - the field, the operator, and the value. These are accessed using array notation:

filter[field], filter[operator] and filter[value]

Because you can specify multiple filters on the same API call, there is an index added on to each parameter. These are 0-indexed, so your first filter would be made up of:

filter[field][0], filter[operator][0] and filter[value][0]

Put together, you'll end up with the following:


If you have multiple conditions it should look like so:


Alternative Structure

If you are having trouble filtering, try this alternative method! Use the query string parameter altfilter and url encode your filter parameters.



Possible FieldsExampleAssociated Objects
Question Option[question(2), option(10001)]surveyresponse
URL Variable[url("variablename")]*surveyresponse
Date Submitted datesubmitted (EST/EDT or GMT -5/GMT -4)datesubmittedsurveyresponse
Is Test Dataistestdatasurveyresponse
Contact ID (v4 & v5 API only)contact_idsurveyresponse
Statusstatussurveyresponse, survey, surveycampaign
Time of Creationcreatedonsurvey
Time of Last Modificationmodifiedonsurvey
Survey Titletitlesurvey
Type of Project (Survey, Quiz, Form, Poll)subtypesurvey
Team Survey Belongs Toteamsurvey
Type of Link_typesurveycampaign
Name of Linknamesurveycampaign
Secure / Unsecure Linksslsurveycampaign
Date Link was Createddatecreatedsurveycampaign
Date Link was Last Modifieddatemodifiedsurveycampaign
Email Address
statusActive, Disabled, allaccountuser

*URL Encode the square brackets and the double quotes.


OperationSyntaxRequires a Value
Is Equal To=True
Is Not Equal To<> or !=True
Less Than or Equal To<=True
Greater Than or Equal To>=True
Is Answered / Is Not BlankIS NOT NULLFalse
Is Not Answered / Is BlankIS NULLFalse
In Comma Separated ListinTrue

Filtering Examples

This query would return responses with question-id 2 answered yes.[field][0]=[question(2)]&filter[operator][0]==&filter[value][0]=yes

This query would return responses with submission times greater than or equal to 2011-02-23 13:23:28 and with the status of Complete.[field][0]=datesubmitted&filter[operator][0]=>=&filter[value][0]=2011-02-23+13:23:28&filter[field][1]=status&filter[operator][1]==&filter[value][1]=Complete

This query would return the specified contact record (by email) within the given campaign. If no contacts are found for the given email address, total_count of '0' will be displayed.[field][0]=semailaddress&filter[operator][0]==&filter[value][0]

Browsing Survey Responses

Returns default to 50 results for page. Use the page and resultsperpage parameters to customize your return for these calls.

ParameterExampleAssociated Objects
pagepage=3survey, surveyresponse, surveycampaign, surveyquestion, surveypage, contact
resultsperpage*resultsperpage=100 (max=500)survey, surveyresponse

*Note: The limit for resultsperpage is 500 (subject to change), if set over the limit it will default back to the limit.

Browsing Examples

To view a different page of results use the page parameter. The below call would return results 101-150 as results are displayed 50 per page.

To view more results per page use the resultsperpage parameter. The below call would return results 1-100.

Use the page and resultsperpage parameters in conjunction. This below call would return results 201-300.