Exporting Reporting Data Programmatically | Community
Skip to main content
New Participant
March 3, 2021
Solved

Exporting Reporting Data Programmatically

  • March 3, 2021
  • 1 reply
  • 4777 views

Hi All,

I find the reporting in Marketo to be less flexible than I want bc I need to tie the email data to other corporate data in our warehouse. My question is whether the 'Bulk Activity Extract' APIs are the only way to do this? It appears to require several steps (create job, submit job into queue, pull for status, retrieve file). Is that accurate?

 

Also, when if that is the case, will I be receiving all the same info I get in the Marketo Reports such as Opens, Clicks, Bounces, Click URLs, etc that I get from the Campaign and other reports? 

 

Thanks!

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by SanfordWhiteman

The Bulk Activity Extract API isn't the only way, as there's also the paginated Export API.

 

The Extract API is generally better for warehousing, but it isn't the best for every case. For example, if you need only one page of results you can get it synchronously using the Export API instead of queueing a job.  Note Extract is metered by bytes in the final CSV, while Export is metered by the # of JSON pages. Thus they each have their place depending on your data.

 

Regardless of how you get the data, neither is a "Reports API". You don't get generated reports that look anything like what you see in the UI. You get the raw Activity Logs, with which you can (mostly) develop similar reports using your own queries & views.

1 reply

SanfordWhiteman
SanfordWhitemanAccepted solution
New Participant
March 3, 2021

The Bulk Activity Extract API isn't the only way, as there's also the paginated Export API.

 

The Extract API is generally better for warehousing, but it isn't the best for every case. For example, if you need only one page of results you can get it synchronously using the Export API instead of queueing a job.  Note Extract is metered by bytes in the final CSV, while Export is metered by the # of JSON pages. Thus they each have their place depending on your data.

 

Regardless of how you get the data, neither is a "Reports API". You don't get generated reports that look anything like what you see in the UI. You get the raw Activity Logs, with which you can (mostly) develop similar reports using your own queries & views.

Victor_Herrero
New Participant
March 3, 2021

When I was looking into this myself, somewhere I came across this resource, which will eliminate a lot of guesswork when automating reports in case you go for the bulk activity extract option. 

https://docs.google.com/spreadsheets/d/1i-3GVbpUK7oc8YanOokY_1yd_Ly124urK2HHydrN0d8/edit#gid=1253153029

 

Among other useful things it includes a glossary of what each activity ID means: 

 

I'm unfamiliar with the difference between "Export" and "Extract" APIs. Are there some resources I can read on this? I only found "bulk extract" here: https://developers.marketo.com/rest-api/bulk-extract/

For leads, activities and program membership. 

SanfordWhiteman
New Participant
March 3, 2021
The Activity IDs should be downloaded from the Describe Activity endpoint, which is a live version with all the up-to-date IDs. You shouldn't use a static list for that.

The Export API is doc'd here: https://developers.marketo.com/rest-api/endpoint-reference/lead-database-endpoint-reference/#/Activities