Industry packs are ready for eight industries. Start from journeys built for yours.Browse packs
Getting startedUpdated 29 Oct 2026

What Is an SDK? Meaning, Examples and How It Differs From an API

What an SDK is, what is inside one, how it differs from an API, what a marketing SDK does in your app and what to check before you integrate.

HS
Written by Hemant Sharma
  • Published29 Oct 2026
  • Read time6 min
  • Length1,246 words
Share this guide
What is an SDK guide cover

If you have ever added analytics, payments or push notifications to an app, you probably did it by installing an SDK. The term appears everywhere in product and marketing conversations, yet it is often explained only to developers. This guide explains what an SDK is in plain language, what is inside one, how it differs from an API, what a marketing or engagement SDK does inside your app, how to integrate one safely and what to check for performance and privacy.

What is an SDK?

SDK stands for software development kit. It is a package of ready-made code, tools and documentation that lets developers add a capability to their software without building it from scratch. The general idea is described in the article on software development kits. Think of it as a toolbox supplied by a service provider: instead of writing the code to talk to a payment network, a maps service or a messaging platform yourself, you install the provider’s kit and call a few simple functions.

Layers of an SDK: your app calls the SDK, which handles device details and talks to the provider service through an API
Your app calls simple functions. The SDK does the heavy lifting.

What is inside an SDK?

PartWhat it does
LibrariesCompiled code that performs the work, such as sending events or handling push tokens
APIs and methodsThe functions your developers call, for example track("order_completed")
DocumentationSetup steps, reference and examples
Sample codeA working demo app to copy from
ToolsCommand-line helpers, test utilities or debuggers
ConfigurationKeys, settings and permissions the SDK needs

SDK vs API

An API, or application programming interface, is a set of rules for how two programs talk to each other, usually over the internet. An SDK often wraps an API with ready-to-use code for a specific platform. You can use the API directly, which gives full control but needs more work, or use the SDK, which saves time and handles platform quirks.

SDKAPI
What it isA kit of code and toolsA contract for communication
EffortLower, install and callHigher, write requests yourself
PlatformSpecific to iOS, Android, web, etc.Works from any language that can make requests
ControlLess, you follow the kit’s designMore, you decide every detail
UpdatesYou update the libraryProvider may change endpoints
Typical useMobile apps, games, analyticsServer-to-server integrations

Many products offer both. A mobile engagement platform might give you an SDK for the app and an API for your servers, as described on our developers page.

Common types of SDK

TypeExamples of what it does
AnalyticsRecords screens and events so you can study behaviour
Engagement and messagingRegisters devices for push, shows in-app messages, tracks events for segments
PaymentsCollects card or UPI details securely and starts a transaction
AuthenticationHandles sign-in with phone, email or social accounts
Maps and locationShows maps, geocoding and routes
Advertising and attributionMeasures installs and campaign sources
Crash reportingCaptures errors and stack traces

What a marketing SDK does in your app

An engagement SDK is the bridge between your app and your marketing platform. Once installed, it typically does four jobs.

  1. Identifies the user. It creates or links a profile, using an anonymous ID first and a login ID later, so activity belongs to one person.
  2. Collects events and attributes. Screens viewed, products added, orders placed and traits such as plan or city flow to the platform.
  3. Registers for push. It obtains the device token and manages permission, so that you can send push notifications.
  4. Displays messages. It renders in-app messages and handles clicks and deep links.

In Flowfox, those events land on the same profile used for segments and journeys, which is why a tap in the app can change what an email or WhatsApp message says. The data model page explains how events and attributes are structured, and sending your first event walks through a test.

// Illustrative pseudocode, not a real library
Client.init({ apiKey: "YOUR_KEY" })
Client.identify("customer_8841", { plan: "gold", city: "Jaipur" })
Client.track("product_viewed", { sku: "TR-07", price: 3499 })
Client.requestPushPermission()

The calls above show the pattern: initialise, identify, track, ask for permission. Real syntax differs by provider and platform.

How to integrate an SDK safely

  1. Read the documentation first. Check supported OS versions, permissions and known limits.
  2. Install in a test build. Use a separate environment and test keys before production.
  3. Add only what you need. Enable the modules you will use, not every feature.
  4. Name events consistently. Agree a tracking plan with product, marketing and engineering.
  5. Ask for permissions at the right moment. Explain why before showing the system prompt for push or location.
  6. Test on real devices. Check behaviour on low-end phones, poor networks and different OS versions.
  7. Release gradually. Roll out to a small percentage first and watch crash rates.

What to check before adding an SDK

AreaQuestions to ask
SizeHow much does it add to the app download?
PerformanceDoes it slow startup or drain battery?
PrivacyWhat data does it collect, where is it sent and stored?
SecurityIs the code maintained, signed and regularly updated?
ComplianceDoes it support consent, deletion and regional rules such as the DPDP Act?
SupportIs there documentation, a changelog and responsive help?
ExitHow easy is it to remove or replace later?

Each SDK is code from a third party running inside your app, with the same access to the device that your own code has. App stores such as Apple’s require you to describe what data your app and its SDKs collect, so keep a simple register of every SDK, its version and its purpose. Keep them updated; old versions are a common source of bugs and security issues. The concept of software supply chain security explains why this matters.

What marketers should know

You do not need to write code to work well with an SDK, but a few points help you plan. SDK releases depend on app releases, so a new event or feature may take weeks to reach users, who must update the app. Plan tracking in advance and ask for events you will need later. Events sent only after login lose the anonymous browsing history unless identity is merged properly, so ask engineers how identity works. And remember that push permission can only be requested once on iOS in a useful way, so design the moment carefully. Our guide to customer data platforms explains why consistent identity matters so much.

1SDK to install per capability
4Jobs of an engagement SDK
1Register of all SDKs in your app

An integration walk-through

Say a food-delivery app wants to send an order-ready push and a win-back email. The developer adds the SDK, initialises it with the project key on app start and calls identify when the customer logs in. From then on, each order is sent as an event with the restaurant, the amount and the delivery time. Marketing builds a segment of people with no order in 30 days and a journey that sends a push first and an email two days later if the app has not been opened. None of this required the marketing team to touch code, but it did depend on the developer planning the right events early.

Common mistakes

  • Installing too many SDKs. Each adds weight and risk.
  • Skipping the tracking plan. Messy event names are hard to fix later.
  • Ignoring consent. Collect only after permission where required.
  • Never updating. Old versions break and leak.
  • Testing only on a new phone. Real users have older devices.

An SDK is borrowed code with a key to your app. Choose it the way you would choose a new team member.

Connect your app to your customer profile. Send events, push and in-app messages from one platform.

See developer docs

Read next: customer data platform, notification badges and the blog.

Frequently asked questions

What is an SDK?

An SDK, or software development kit, is a package of code, tools and documentation that lets developers add a capability to their software without building it from scratch.

What is the difference between an SDK and an API?

An API is a set of rules for how programs communicate. An SDK is a kit that often wraps an API with ready-to-use code for a particular platform.

What does a marketing SDK do?

It identifies users, records events and attributes, registers devices for push notifications and displays in-app messages, sending the data to the marketing platform.

Do I need a developer to add an SDK?

Yes, usually. A developer installs and configures the SDK in the app, though marketers can plan events and use the data afterwards.

Can an SDK slow down my app?

It can, if it is heavy or poorly built. Check size, startup impact and battery use, and test on low-end devices.

Are SDKs safe for user privacy?

They can be, if they collect only what is needed, honour consent and are well maintained. Review each SDK’s data practices and describe them in your privacy notice.

How often should I update an SDK?

Review releases regularly, update at least a few times a year and promptly for security fixes, testing each update before release.

Topics#sdk#api#mobile app#integration#developers
Was this guide helpful?Your answer helps us improve our guides.

See your own customers in Flowfox this week.

Start a free workspace, connect a data source and send your first journey. Or book a guided demo.