One choice - dropdown (type:'dropdown'). Get the choices from a restfull service.

Source code: Survey setup
Survey.defaultBootstrapCss.navigationButton = "btn btn-primary";
Survey.Survey.cssType = "bootstrap";
var survey = new Survey.Model({ questions: [
    { type: "dropdown", name: "country", title: "Select the country...", isRequired: true, 
     choicesByUrl: {url: "http://services.groupkt.com/country/get/all", path: "RestResponse;result", valueName: "name"} }
]});

survey.render("surveyElement");

Link to a restufull service:

var q = survey.getQuestionByName('country');
q.choicesByUrl.url = 'http://yourrestfullserviceurl';
q.choicesByUrl.run();

The path to the array of results in the returned json:

var q = survey.getQuestionByName('country');
q.choicesByUrl.path = 'MyPathToTheResult';
q.choicesByUrl.run();

The 'value' element name in the returned json:

var q = survey.getQuestionByName('country');
q.choicesByUrl.valueName = 'thePropertyNameForValue';
q.choicesByUrl.run();

The 'title' element name in the returned json (if empty, the value is used):

var q = survey.getQuestionByName('country');
q.choicesByUrl.titleName = 'thePropertyNameForTitle';
q.choicesByUrl.run();