Call blocking SDK for iOS and Android, white-label, about 10 lines of code
The CallerAPI call blocking SDK puts spam protection inside your own app, under your own brand. MVNOs and mobile security vendors sell it as a VAS to increase ARPU. Users stop answering scams and stay longer.
import com.callerapi.sdk.CallerAPI
override fun onCreate() {
super.onCreate()
CallerAPI.register(
context = this,
featureEnabled = true,
clientKey = "<dashboard client key>",
)
}
val spam = CallerAPI.isSpam("+18882211161") // true
val label = CallerAPI.lookupLabel("+18883578668") // "CallerAPI LC"
4
platforms from one package: Swift, Kotlin, Flutter and React Native.
~10
lines of app code per platform. Register on launch, then ask two questions.
0
subscriber numbers visible to us. Lookups are anonymous on iOS and on Android.
Register once. Two calls after that.
Your app asks two questions: is this spam, and who is it. The SDK does everything else.
import CallerAPI
CallerAPI.configure(
CallerAPIConfig(sdkKey: "<dashboard>",
sdkSecret: "<dashboard>"),
featureEnabled: true)
CallerAPI.BackgroundSync.register()
let spam = try await CallerAPI.isSpam("+18882211161")
let label = try await CallerAPI.lookupLabel("+18883578668")
What the SDK carries for you
- Call screening service. Incoming calls are checked and labeled before they ring.
- Background sync. Verdicts stay fresh without your app opening.
- Apple extensions. Call Directory and Live Caller ID targets, added by the setup script.
- Anonymous lookups. Private information retrieval on iOS, k-anonymity on Android.
- Metering. Device and block counts in the dashboard, so billing needs no guesswork.
Flutter and React Native wrap the same two calls.
The breach that cannot happen
Carrier apps have leaked subscriber call logs before. This SDK is built so that class of breach is impossible on our side, because we never receive the number being checked.
On the phone
Incoming call
The OS hands the number to your app's screening extension. It never leaves the device in the clear.
iOS
Live Caller ID Lookup
Private information retrieval over homomorphic encryption. The server answers a query it cannot read. Older iPhones use Call Directory on-device.
Android
k-anonymity
The device asks about a bucket of numbers, never one. The match happens on the phone. We cannot tell which number rang.
On our side
Nothing to leak
No call log, no lookup history, no subscriber numbers. Your privacy review gets a short answer.
A feature subscribers pay for every month
Minutes and data are commodities. Spam protection is not. Put it in the plan as a paid add-on or a premium tier, under your name, and about 70% of what it earns stays with you. The data, the infrastructure and the app extensions are ours to run. The customer relationship and the margin are yours.
Licensing is a flat fee or per subscriber per month with active blocking. The dashboard reports devices and blocks, so billing needs no guesswork.
Where each subscription dollar goes
- Your brand on every blocked call and caller label
- No data team, no complaint feeds to license, no infrastructure to run
- Lower churn: subscribers whose phone stops ringing with scams stay
Who ships the call blocking SDK
Companies that already have the users and were missing the feature.
MVNOs and carriers
Margins on minutes and data are thin. Spam protection is a feature subscribers pay for every month, and you keep about 70% of it. Your brand is on every blocked call. Churn drops because the phone stops ringing with scams.
Runs on the same data as the spam phone number database you may already host at the switch.
Mobile security vendors
You already sell antivirus, VPN or identity protection to millions of devices. Scam call blocking is the feature they ask for next. Add it in a sprint and charge for the tier.
CPaaS and UCaaS with an app
Your softphone already shows the caller. Now it labels spam and blocks it, with the same verdicts as the spam call blocking API on your platform.
We ship it ourselves
WarnCall, our own consumer blocking app, runs on this SDK. Every fix and every platform update lands in the package you get, because we depend on it too.
What the package includes
- Native libraries for Swift and Kotlin, plus Flutter and React Native bridges
- Setup scripts that add the iOS extension targets for you
- Caller labels and spam verdicts on incoming calls, plus lookups from your own UI
- Dashboard with device counts and block counts for billing
- Junior-proof integration docs and a test number that always returns a label
Call blocking SDK questions
Ship spam protection this sprint
Tell us your platforms and subscriber count. You get the package, the docs and a revenue model the same week.