Adobe Marketing Cloud APIs

I have “mentioned” the Reporting API before, a means of getting information out of Adobe analytics programmatically.

There are of course some more APIs that allow you to automate tasks in the context of the Adobe Marketing Cloud. This post shall introduce the most important ones. You can also check out the official introduction on the Developer Connection.

Most APIs can be accessed via SOAP or REST, depending on your preference. It should also be said that the easiest way to use most of them is via PHP. We have successfully used Java and C# to access them and code samples for all of those are available on the Developer Connection.

Reporting API

The Reporting API is basically programmatic access to the data in Adobe Analytics. The data that you get out of the system using the Reporting API at any time reflects exactly what your colleague in marketing can see when she logs into Adobe Analytics — Reports & Analytics.

Not all the data in Analytics is available, though. Pathing reports or funnels can’t be accessed via the Reporting API. The best comparison is Report Builder, which itself uses the API. If something can be retrieved using Report Builder then it can be retrieved using the Reporting API.

The easiest way to use the Reporting API is to ask your colleague in marketing for a sample report from Report Builder, then build that specific report.

We have posted an example of how to do that already.

Data Warehouse API

The Data Warehouse API primarily allows you to create Data Warehouse requests. The actual results, the data, will be delivered as usual, i.e. via FTP or email.

This is useful if you have a need to repeatedly schedule DWH reports.

As an example: I was working a couple of years ago with a customer in Switzerland, who ran an in-depth analysis 3 times a month. So they wanted the same reports out of Data Warehouse at the beginning, after the 10th and after the 20th of every calendar month. Scheduling those reports manually was of course out of the question, so the Data Warehouse API came in handy.

Data Insertion API

I hesitate calling Data Insertion an API, but I guess in the broader sense it is one. Data Insertion allows you to send tracking data into Adobe Analytics programmatically, without using Javascript.

The common use case is to track server-side rather than on the visitors’ browsers. The main reason to do so is for added accuracy.

Example retail: if you track the purchase in the browser with Javascript, the orders, units and revenue in SiteCatalyst will never exactly match the numbers in the transactional backlog. It boils down to client-side tracking just not being 100% controllable. Track server-side, though, and you can easily get to almost total accuracy. Might be worth it for you, might not.

We will certainly write more about Data Insertion!

Data Sources API

Data Sources are one more way of getting data into Adobe Analytics. The data is usually uploaded to an Adobe FTP server and subsequently consumed by the system. The Data Sources API allows you to automate this process and use REST or SOAP to upload the data.

The big advantage is that the Data Sources API will perform basic data validation immediately whereas you have to wait for an import process if you use FTP upload.


SAINT is the tool that allows marketers to enrich tracked data with meta data (“classifications”). There is a manual way of doing it, and there is the SAINT API which allows you to export and import the meta data programmatically.

This is great if you have an inhouse campaign management tool! Programming an extension to that tool will allow you to completely automate meta data manaement of those campaigns in SiteCatalyst.

Administration API

The Administration API is your programmatic access to some of the administrative tasks around Adobe Analytics.

You can use it to administer report suites, permissions (create and administer users), bookmarks and dashboards and some company-related stuff.

Test&Target API

The Test&Target API can be used to retrieve data for your tests or your target campaigns. It can also be used to administer some aspects of your campaigns.

We’ll go into some if not all of these APIs and provide examples. Our question to you: which programming language do you use? PHP? Java? Something else? What should we use for the examples?

Our natural tendency is to show sample code in Java. It’s close enough to the .NET languages to be useful for both, plus because accessing the APIs using PHP is easier, you should be able to adapt the sample code easily. There’s also a lot of sample PHP code on the Developer Connection.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.