Synchronous api

Hi everyone,

I would like to ask for your suggestions regarding an issue I’m facing with the KoboToolbox synchronous API.

For several months, I have been exporting my Kobo data to Excel (.xls) using the synchronous API. In Excel, I use Refresh to automatically update the data whenever new submissions are received.

Our organization receives approximately 300 new submissions each month.

However, starting in June, I noticed a problem. Instead of refreshing the entire dataset, the synchronous API seems to return only part of the data. For example, my Kobo form currently has 708 total submissions, but after refreshing, Excel only loads 508 rows instead of all 708.

Has anyone experienced a similar issue? Is there any way to ensure that the synchronous API always returns the complete dataset instead of only a portion of it?

I also plan to build a Power BI dashboard using the same synchronous API as the data source. Because of this issue, I’m worried that Power BI may also fail to retrieve all records.

Would you recommend:

  • Continuing to use the synchronous API as the Power BI data source?

  • Or exporting to Excel first and connecting Power BI to the Excel file instead?

Any suggestions or best practices would be greatly appreciated.

Thank you!

Welcome to the community, @zaw_phyo!

You could do either way. But for time saving you could directly synchronize your KoboToolbox project data with Power BI.

This does not look good. Can you confirm if you see all your 708 submissions when you download your data? Could you try making a fresh synchronize of your project data to Excel to see if all the submissions appear in your Excel file?

Here’s the link to the KoboToolbox documentation that explains the recommended method for connecting to Power BI:

1 Like

Yes when I export xls not using api, it got 708 roles and data are not missing. But, API only retrieve last submission not the oldest ones.

Hi @zaw_phyo, I recommend creating a new named export by following these steps:

  1. In your KoboToolbox project, go to DATA → Downloads.
  2. Adjust the export settings as needed.
  3. Open Advanced options if you want to customize the exported data.
  4. Click Save selection as… and give your export a name.
  5. Click Export to save the configuration.

This will create a reusable export with its own uid_export_setting.

Once that’s done, you can construct the API URL to retrieve the export details. Replace your server URL and asset UID in:

Code

https://[server_url]/api/v2/assets/[project_asset_uid]/export-settings/

From there, follow the steps described in the documentation to retrieve the synchronous export link: https://support.kobotoolbox.org/synchronous_exports.html#retrieving-the-synchronous-export-link
Please keep us informed on how it goes — we’re happy to help.