Campaign
Our Delivery API

Author
Tom Wendt
30 Apr 2026
Use the AdUp Delivery API to programmatically integrate, update or remove ads – ideal for dynamic websites and modern web applications.

Overview
With the AdUp Delivery API, you can programmatically integrate, update, and remove advertisements on your website.
To do this, the API provides the global JavaScript object window.uAd and supports both Responsive Ads and Static Ads.
The Delivery API is particularly suitable for:
dynamic websites
Single Page Applications (SPA)
complex publisher integrations
programmatic ad placements
Prerequisites
Before using the Delivery API, you will need:
a registered website
an ad block in your publisher account
a valid
placementkey
Additionally, the Delivery API must be loaded once on the page.
Loading the Delivery API
The API must be loaded only once per page view.
If it is integrated multiple times, the initialization callback may be executed multiple times, which can cause ads to load repeatedly.
Depending on the project, various options are available.
Standard Integration (recommended)
For most websites, standard integration is sufficient.
After the API is loaded, the callback function window.uAd_init() is executed automatically.
Suitable for:
classic websites
few ad placements
simple integrations
Advanced Integration
For more complex websites, a global helper function is recommended.
This ensures that the API is only loaded once, even if ads are added dynamically at a later stage.
This variant is particularly suitable for:
Single Page Applications
React
Vue
Angular
dynamic page content
Subsequently, ads can be integrated at any time.
adup(function () { // Integrate ads});
AMD / RequireJS
Alternatively, the Delivery API can also be integrated as an AMD module.
This variant is suitable for projects that use RequireJS or a compatible AMD loader.
var require = { paths: { uAd: "https://s.d.adup-tech.com/jsapi" }};
The API can then be loaded.
require(["uAd"], function () { // Use ads});
Integrating Ads
embed()
An ad block is generated inside an existing HTML container using window.uAd.embed().
Syntax:
window.uAd.embed("container-id", { placementkey: "..."});
Example
Once called, the API automatically generates an iFrame inside the specified container.
Updating Ads
reload()
An existing ad block can be reloaded using window.uAd.reload().
Syntax:
window.uAd.reload("adup1");
This uses the same parameters as the original embed() call.
Important:
An ad block may be reloaded at most once every 10 seconds.
Each reload generates a new impression.
Example
setInterval(function () { window.uAd.reload("adup1");}, 30000);
This example reloads the ad block every 30 seconds.
Removing Ads
remove()
You can remove a previously integrated ad block using window.uAd.remove().
Syntax:
window.uAd.remove("adup1");
Example
setTimeout(function () { window.uAd.remove("adup1");}, 120000);
The ad block is removed after two minutes.
Overview of API Methods
Method | Description |
|---|---|
| Creates an ad block |
| Reloads an existing ad block |
| Removes an ad block |
Typical Applications
The Delivery API is particularly suitable for:
Single Page Applications
Infinite Scroll
dynamically generated content
personalized web pages
complex publisher systems
Best Practises
Only load API once
The Delivery API should only be integrated once per page view.
Load asynchronously
Asynchronous integration improves performance and prevents blocking page loads.
Only update ads when necessary
Use reload() only when new ads actually need to be loaded.
A reload always generates a new impression.
Remove ads cleanly
If containers are deleted dynamically, remove() should also be called.
This ensures that memory and resources are cleaned up properly.
Name containers uniquely
Use a unique container ID for each ad block.
Example:
adup-headeradup-sidebaradup-footer
Common Error Sources
API integrated multiple times
The API must only be loaded once per page view.
Ads initialized before API
window.uAd.embed() must only be called after the API has fully loaded.
Reload executed too frequently
At least 10 seconds must elapse between two reloads.
Incorrect container ID
The HTML container must already exist before embed() is called.
