survey monkey provides an api to extract responses here
https://developer.surveymonkey.com/mashery/get_responses
However, the responses map to a question_id along with column, row and/or text for the user response.
How do I go about extracting the question details from the question_id? I was not able to find any documentation for this.
To map this back you need to use the data retrieved via get_survey_details, documented here:
https://developer.surveymonkey.com/mashery/get_survey_details
This will return the question and answer ids so you can map the response back to what was asked.
We have a sample app in the works that will show an example of how to do this in code, however it should be relatively straightforward for you to map things back.
Cheers,
Miles
Related
In my app I used the get_respondent_list API in API v2 to get an overview of the responses and to allow me to select those responses which were relevant to download in greater detail - fields of interest to me included date_modified, status .
I had hoped that /surveys/{ID}/responses would give a similar facility but all it returns for each response is href and id. The parameters of the call enable me to filter the list in various ways but I would need to make several calls to identify the different categories that I am interested in.
When I made a similar point about the survey list it turned out there was an incorrectly documented include parameter which I could use to get additional fields in the response. I tried that for /surveys/{id}/responses but that was rejected. Could such a facility be added?
If not I guess I will go for /surveys/{id}/responses/bulk and do all the work in the app.
The bulk endpoint is the correct choice. It is basically a call to /surveys/{ID}/responses with 'include' covering every field. The only downside is is the smaller maximum page size. Not sure sure what additional work you are referring to, since you would need to handle pagination at /surveys/{ID}/responses for more than 1000 responses, and all the fields you are looking for are available at the top level of the returned response dictionary.
This wrapper for the API (not written by me) makes it fairly easy to get all the responses from a survey paired with the relevant question details.
In order to get the data structured in a way that resembles the output from the manual export, a bit of gymnastics is needed (I can recommend Pandas' .pivot_table(). Which columns that contain the actual answers vary depending on questions type, adding further complications depending on the complexity of the survey.
I am planning to do a survey using survey monkey. I will require API support to automatically pull responses from your datasource. I looked into https://developer.surveymonkey.com/docs/methods/get_responses/ and it looks like I need to use services like curl to extract data. It also looks like I can extract data in json format. And the data that is extracted using get_responses api, returns only ids.
So my questions are:
1. Do you support REST APIs to download data?
2. Can I download data in csv format?
3. Can I download actual responses with questions and not just ids? What APIs will be return survey, questions asked and user responses?
3. Can you send me an example format of how data will look when downloaded using the APIs?
5. Finally, with $26/month subscription for one month, will I get API support? Is the API support available for free subscription?
Thanks!!
SurveyMonkey does have a REST API
You can get all responses (just ids) doing:
GET /surveys/{survey_id}/responses
See: https://developer.surveymonkey.com/api/v3/#surveys-id-responses
You can get the details and all answers to questions for a specific response by ID doing:
GET /responses/{response_id}/details
See: https://developer.surveymonkey.com/api/v3/#responses-id
Or you can do this all at once by doing
GET /surveys/{id}/responses/bulk
See: https://developer.surveymonkey.com/api/v3/#surveys-id-responses-bulk
Answered by akand074.
We only support JSON at this time.
You'll have to make a separate GET to /v3/surveys/{survey_id}/details to get the survey details, and then map it to the response data.
The format, along with response data examples can be found here.
You'll have to contact api-support#surveymonkey.com to find out.
I'm trying to get the results from a survey through the API, I know I need a list of respondents Ids and the survey ID. When I use the getResponses method I get the results but all the questions and answers come in numbers (Ids) except the questions with open answers (text). How can I bring the actual questions and answers from an API request?
Thanks
You need to combine the information received in get_responses with the survey structure retrieved with get_survey_details.
Note I believe there is an outstanding issue where if questions are deleted from the survey they will no longer be in the get_survey_details response.
I've put out a survey and gotten >100 responses. However, when I get the survey details using the api (i'm using python if it helps), then get the responses from respondents, I find a question in the response that is not present in the survey details.
I thought that the responses would only have question id's that were present in the survey details -- so I'm not sure what is going on.
Any help/advice?
I want to get a list of users who have used a particular hashtag. Eg. #ManOfSteel.
How can I get a list of the users who are using that hashtag as well as their details (like which city they are tweeting from) using a twitter API or any other means?
Yes, you can. And it's quite simple, really.
According to the documentation:
GET search/tweets: - Returns a collection of relevant Tweets matching a specified query.
Resource URL: https://api.twitter.com/1.1/search/tweets.json
Now if you scroll down on that page, it gives an example of what a query for a tweet returns (I took a screen, sorry about the appalling arrow, it's 10am here and I haven't had my tea yet).
Great! So you know the URL and method (GET) that you need to get your data. As for searching for a hashtag specifically, the query documentation is what you're after.
This is basically as urlencoded string in the GET request like: ?q=#hashtag. Perform the search like that and you'll get back the data above. Then just loop through it, find the user object, and grab the value location key if you want the user's city.
Now, as for a library to interact with the twitter API, you haven't even stated what language you're using. From your profile, you use JAVA I'm guessing. Regardless, checkout the libraries page on the twitter dev site - there's one for JAVA that looks pretty good (and many for other languages too).
If you were using php, this post would be immensely helpful.