11 integration surfaces.
Native SDKs for Python, Node, Web, React Native, Android, iOS, Flutter, Unity and Rust — plus drop-in adx.js and low-bandwidth adx-lite.js tags. More platform coverage than any independent ad network, all speaking the same versioned contract.
Pick your platform, paste, ship
Every SDK below is generated from one authoritative wire contract, with SQL-filter-safe encoding, fraud-safe user agents and IAB viewability handled for you.
Web (drop-in tag)
adx.js / adx-lite.jsNo build step — one script tag
<script async src="https://api.adx.theaimart.co/static/sdk/v1/adx.js"></script>
<div id="ad-slot"></div>
<script>
TaimAds.init({ apiKey: "YOUR_API_KEY" });
TaimAds.createBanner({ slotId: "YOUR_SLOT_ID", container: "ad-slot" });
</script>Web (npm)
@theaimart/adx-webnpm install @theaimart/adx-web
import { AdxWebClient } from "@theaimart/adx-web";
const client = new AdxWebClient({ apiKey: "YOUR_API_KEY" });
const ad = await client.requestAd({ slotId: "YOUR_SLOT_ID", pageUrl: location.href });Node (server)
@theaimart/adx-nodenpm install @theaimart/adx-node
import { Adx } from "@theaimart/adx-node";
const adx = new Adx({ apiKey: process.env.ADX_API_KEY });
const ad = await adx.requestAd({ slotId: "YOUR_SLOT_ID", pageUrl: req.url });Python
theaimart-adxpip install theaimart-adx
from theaimart_adx import Adx
adx = Adx(api_key="YOUR_API_KEY")
ad = adx.request_ad(slot_id="YOUR_SLOT_ID", page_url="https://example.com")Rust (server)
theaimart-adxcargo add theaimart-adx
let adx = theaimart_adx::Adx::new("YOUR_API_KEY");
let ad = adx.request_ad(&AdRequest { slot_id: Some("YOUR_SLOT_ID"), ..Default::default() });Android (Kotlin)
co.theaimart:adx-androidimplementation("co.theaimart:adx-android:1.0.0")
val adx = Adx(apiKey = "YOUR_API_KEY")
val banner = BannerAdView(context)
banner.load(adx, AdRequest(slotId = "YOUR_SLOT_ID"))iOS (Swift)
TheaimartAdx.package(url: "https://github.com/theaimartco/theaimart-adx-sdks.git", from: "1.0.0")
let adx = Adx(apiKey: "YOUR_API_KEY")
let banner = BannerAdView(frame: .zero)
banner.load(adx, request: AdRequest(slotID: "YOUR_SLOT_ID"))Flutter (Dart)
theaimart_adxflutter pub add theaimart_adx
BannerAd(
apiKey: 'YOUR_API_KEY',
slotId: 'YOUR_SLOT_ID',
)React Native
@theaimart/adx-react-nativenpm install @theaimart/adx-react-native
import { BannerAd } from "@theaimart/adx-react-native";
<BannerAd apiKey="YOUR_API_KEY" slotId="YOUR_SLOT_ID" />Unity (C#)
co.theaimart.adx (UPM)Add co.theaimart.adx via Unity Package Manager
var adx = new Adx("YOUR_API_KEY");
StartCoroutine(adx.RequestAd(new AdRequest { SlotId = "YOUR_SLOT_ID" }, ad => {
if (ad.Filled) { /* render ad.Creative.AssetUrl */ }
}));Low-bandwidth web
adx-lite.jsFor 2G/3G-heavy audiences — a few KB, zero dependencies
<script async src="https://api.adx.theaimart.co/static/sdk/v1/adx-lite.js"></script>
<div id="ad-slot"></div>
<script>
TaimAds.init({ apiKey: "YOUR_API_KEY" });
TaimAds.createBanner({ slotId: "YOUR_SLOT_ID", container: "ad-slot" });
</script>Hardening you don't have to build
Every SDK enforces the same production guarantees, derived from real backend behavior.
Fail-closed rendering
Any error, non-200 or unparseable response renders nothing. An ad can never crash or block your app.
IAB viewability built in
One beacon per ad, fired at ≥50% visible for ≥1 second, deduplicated client-side — MRC-style counting by default.
Sandboxed creatives
HTML and OpenRTB markup render inside a sandboxed iframe/WebView. Hostile creatives can't touch your DOM or smuggle javascript: URLs.
One wire contract
Every SDK implements the same versioned REST contract, so behavior is identical across all 11 surfaces.
Made for real networks
adx-lite.js serves ads in a few KB for 2G/3G users — an audience most ad networks silently drop.
No SDK? Use OpenRTB
Already on Prebid or another exchange? Point it at our inbound OpenRTB 2.5 endpoint — connect from the publisher dashboard in minutes.
Developer FAQ
How many platforms does adx support?
+
Eleven integration surfaces: Python, Node, Web (npm), React Native, Android/Kotlin, iOS/Swift, Flutter/Dart, Unity/C# and Rust SDKs, plus the adx.js drop-in tag and adx-lite.js for low-bandwidth users. Most independent ad networks ship two or three.
Is the API key safe to embed in my app?
+
Yes. The api_key is a public client identifier — like any ad SDK's publisher key — designed to be shipped in client binaries. It is not a server secret and grants no account access.
Will the SDK slow my site or app down?
+
No. SDKs are thin, dependency-light clients that load asynchronously and fail closed. On the web, ads never block content or hurt Core Web Vitals; adx-lite.js is only a few kilobytes.
Can I integrate without any SDK?
+
Yes — two ways. Use a plain HTML ad tag generated in the dashboard, or sell through your existing header-bidding stack via our inbound OpenRTB 2.5 endpoint (Header Bidding tab in the publisher dashboard).
How do I test my integration?
+
Every account includes a sandbox mode that serves real creative payloads with zero billing or tracking side effects. Toggle it from the Sandbox tab in the dashboard.
Integrate in an afternoon
Create a site, mint an API key and serve your first (sandbox) ad before your coffee gets cold.
Start building