Forum Discussion
Is there an API to read Microsoft forms data
waltksfc I abandoned my attempts at the time, but looking at it again now I see that I can get info on a specific form with:
https://forms.office.com/formapi/api/forms/{formid}Then I can get the questions or responses on that form with these:
https://forms.office.com/formapi/api/forms/{formid}/questions
https://forms.office.com/formapi/api/forms/{formid}/responses
Get the {formid} from the /forms API call.
Unfortunately, now in 2023 the useful calls to forms API to get responses, now just doesn't work.
This works to get ID and other bumpf:
https://forms.office.com/formapi/api/forms
However, to get very useful form and responses:
https://forms.office.com/formapi/api/forms/{form id}
https://forms.office.com/formapi/api/forms/{form id}/reponses
.....using the "form id" from the https://forms.office.com/formapi/api/forms
.... now does not work. I tried all sorts of variants methodically.
I guess Microsoft is desperate for people to get tied into their very old asynch/dynamics infrastructure and go through "PowerAutomate" aka "Flow" instead, to output raw data to an incredibly slow SharePoint list, or an archaic Excel with all the bugs!
Ah! Why is so much in Microsoft-land so disappointing!
Data Scientists want the raw data on-tap!
Why force developers into another inefficient Microsoft infrastructure that's built to tie the customer into a poor solution?
- GideonHuangOct 08, 2023
Microsoft
Oh_No_Its_Microsoft Hi Dan, thanks for being interested in using Forms api to get form and response raw data. https://forms.office.com/formapi/api/forms/... are not designed for programmed retrieving data and it would be changed by other scenario needs and infrastructure changes. We're working on publishing microsoft graph api for Forms which will be used for the programmed retrieving data. These Forms Graph APIs will be released in coming monthes.
FYI Ruoying Liang
- Oh_No_Its_MicrosoftOct 09, 2023Brass Contributor
Hi GideonHuang,
Thank you for your reply.
In reply to your email/message: “ https://forms.office.com/formapi/api/forms/... are not designed for programmed retrieving data “
An API (Application Programming Interface) from Microsoft is not designed for programmed retrieving data?
Please can you help me understand why a Microsoft link that contains the word API in the URL above, isn’t an API?
It was a working API according to people in this thread - they posted it as a solution.
We programmers want to work with Microsoft to achieve our goals. Sometimes, we don’t understand why Microsoft develops cost effective solutions which work, only to subsequently replace them with either very expensive Microsoft solutions that don’t work well at all, or we have to wait 5 years for the basics. I’m sure the vast majority of developers and engineers at Microsoft are great and really want to develop the best they can.
It’s the erratic management of the Microsoft products, the illogicality and the bugs that really are hard to understand and deal with.
An API that’s now not an API, is a completely new one on me. I can only assume the development on this Forms API has been deliberately stopped by Microsoft to ensure that PowerAutomate is used as a tie-in to extract data?
Thanks for letting us know about forthcoming developments. However, how long will it be before we can interrogate MS Graph? You mention months –this could be 60 months which is 5 years.
Does extracting batches of 100 records every 5 seconds from MS Graph ultimately sound an efficient method for data retrieval compared to your original simple JSON API? Is this scalable as a data pipeline?
I thought I should express my concerns on behalf of organisations who are genuinely confused with Microsoft’s management of this data pipeline.
Assuming I'm utterly misguided - Please can you help suggest a straight-forward and efficient solution to extract Microsoft Forms data automatically via an online call to an API? (A simple method that has a persistent secret tokens so it doesn't require a manual authentication every time?)
Such as:
https://forms.office.com/formapi/api/forms/
So many other non-Microsoft Forms solutions providers have such easy to digest web APIs. I've done it in about 15 minutes with non-Microsoft solutions it's so very very easy!
After hours and hours of investigations and trying, I wonder why automated data extraction from Microsoft Forms is so oddly challenging and requires so much infrastructure and workarounds? Why prohibit easy automated extraction to a data science application?
I'm sure a simple API solution would be very useful for 100% of people who have tried to work this out within this thread who utilise Python, R, Java, MATLAB or C++ for their data science.
Many thanks
- GideonHuangOct 09, 2023
Microsoft
Oh_No_Its_Microsoft Hi Dan, let me to introduce the things be clearer. Web requests "https://forms.office.com/formapi/api/forms/..." were designed for Forms Web application, they're not published as APIs for other applications. You can use https://forms.office.com/formapi/api/{tenantid}/users/{userid}/light/forms; https://forms.office.com/formapi/api/{tenantid}/users/{userid}/light/forms(formid)/responses; web requests to retrieve data as Forms web application is doing. But these web requests are not promised not be changed. For APIs published for all developers, they need object model stabling, backward versions compatible, throttled and continues, easily authentication for different applications, administrator/data owner consenting etc. The upcoming Microsoft Graph APIs for Forms are aiming for it. These APIs will make sure integration applications/solutions be stable and effective. These APIs will be published via Microsoft Graph endpoint, and the 1st wave of APIs will be published in 3 months.