Guide · 8 min read
iOS Spotlight Search for App Re-engagement: The Index That Recovers Lapsed Users (2026)
Every iOS app gets one free Spotlight entry: a result showing your icon and name when a user types your app's name. Almost no indie app goes further — which means a re-engagement channel that operates entirely outside the App Store is sitting unconfigured on every device where your app is installed. Core Spotlight and NSUserActivity let you index specific in-app content directly into iOS system search. A user who stopped opening your app six weeks ago can find a note, task, or saved item through Spotlight and land exactly there.
Spotlight's default vs indexed content — what most apps never configure
The default Spotlight entry for any installed app is a single result: your app's icon and name. It appears when the user searches your app's exact name. This requires zero configuration — Apple adds it automatically on install. What almost no indie app configures is the content layer: indexing specific records, notes, tasks, or saved data so that those items appear in Spotlight alongside results from built-in apps like Notes, Messages, and Reminders.
When you index content with Core Spotlight, a user searching for a recipe name, a contact in your CRM, or a task title finds your data alongside everything else on their device. The result shows your app's icon, a title, a subtitle, and optionally a thumbnail — tapping it deep-links directly to that content inside your app. This is a fundamentally different surface from the App Store: the user already has your app installed, they just stopped opening it. Spotlight turns searches they are already conducting into re-opening events.
Core Spotlight only works for installed apps — indexed items are completely removed when a user uninstalls. This makes it a re-engagement and retention tool, not an acquisition surface. The measure of success is sessions recovered and Day-30 retention improvement, not new installs. The investment is small (a day of work at most), the audience is your entire existing install base, and the competition is near-zero — fewer than 10% of indie apps implement it beyond the default app entry.
Core Spotlight vs NSUserActivity — which to implement first
Core Spotlight (CSSearchableItem) is for indexing objects — things your app stores that are searchable at any time regardless of recency: tasks, notes, contacts, recipes, articles, saved items. The index is persistent: items remain until you explicitly delete them or the user uninstalls the app. This is the right API for content the user would search for by name even if they have not touched it in weeks.
NSUserActivity is for indexing behaviors — things the user has done recently: recently opened projects, in-progress edits, last-viewed screens. NSUserActivity powers Spotlight suggestions and also enables Handoff continuity across Apple devices. Activities decay over time when not re-engaged; the system reduces their ranking weight after they go stale. NSUserActivity is the right choice for 'resume where I left off' navigation, not cold content discovery.
Start with Core Spotlight for your app's primary data model — the objects users open most. Once that's indexed and deep links work, add NSUserActivity to your two or three most-opened screens. The two APIs complement each other: Core Spotlight handles the long tail of content users might search for cold, NSUserActivity handles the warm-resume case for frequent users. Together they give your app a presence in iOS system search with about a day of implementation. For apps that have already built out the App Intents framework for Siri integration, the identifier and routing infrastructure overlaps — see the Apple App Intents guide for the shared foundation.
3 rules for indexing content users actually search for
Not all content is worth indexing. Indexing everything creates noise in Spotlight — users see low-value results, stop tapping them, and Spotlight's ranking engine deprioritizes your items based on that negative engagement signal. Three criteria separate content worth indexing from content that dilutes your relevance.
The user has a name for it. Items with recognizable, searchable titles index well: a task named 'Q3 proposal draft', a contact named 'Elena Vargas', a recipe named 'miso ramen'. Generic items like 'Untitled Note #47' or 'Project 8' create results nobody searches for. Index items with real, user-generated or user-assigned names — not system-generated identifiers. Landing on the item is better than landing on the home screen. A Spotlight tap that takes a user to a specific note or task is valuable. A tap that drops them on your app's generic home screen is not — the default app entry already does that. Every indexed item must have a working deep link that navigates directly to the content.
The user wants to pick up, not start over. Index items users return to repeatedly: saved content, ongoing projects, active records. Single-use flows and onboarding screens are not worth indexing. The canonical use case is a user who last opened your app three weeks ago, remembers something they saved, and searches for it in Spotlight instead of opening the app and browsing. That re-opening event is what the channel exists to create. If your app has premium content behind a paywall, index that content for all users — a Spotlight result is a high-intent moment to show value, and the right moment to present an upgrade. The contextual paywall design guide covers how to convert users at exactly those moments.
How Spotlight results display and what CSSearchableItem can show
A CSSearchableItem result in Spotlight shows four elements: a title (from CSSearchableItemAttributeSet.title), a content description (contentDescription), an optional thumbnail image (thumbnailData or thumbnailURL), and your app's icon as a source badge. The title and content description are the primary conversion copy — write them the same way you'd write notification text: specific, clear, and immediately scannable. A title like 'Q3 Marketing Plan' with a description 'Last edited 3 days ago — 4 open tasks' tells the user exactly what they found.
The tap fires your AppDelegate or SceneDelegate's application(_:continue:restorationHandler:) method with an NSUserActivity containing the item's uniqueIdentifier. Your app routes to the right content based on that identifier. This is where most implementations fail: the developer indexes content but does not wire the deep link handler, so the tap drops users on the home screen rather than the specific item. A result that doesn't navigate to the right place destroys the re-engagement value and quickly trains users not to tap your results.
Spotlight ranks your results using engagement signals. Items users tap frequently after a matching search rank higher in future results. Items that are never tapped are ranked down over time. Freshness also matters — recently created or updated items rank higher than old, untouched records. Your initial index quality directly shapes your long-term ranking: index your highest-value, most-recognized content first rather than bulk-indexing your entire database. Starting with your best 100–500 items produces better engagement signals and better ranking than indexing 10,000 items indiscriminately. For tips on building the App Store listing that converts new users while Spotlight recovers lapsed ones, the App Store screenshot size reference is the asset setup guide to pair with this implementation.
Core Spotlight in practice: the day-one implementation
The Core Spotlight integration is three steps. First, create a CSSearchableItemAttributeSet for your content type. For text-based content like notes or tasks, use UTType.text as the content type. Set title, contentDescription, and optionally thumbnailData. Second, create a CSSearchableItem with a uniqueIdentifier (your record's ID), a domainIdentifier (a reverse-DNS string like com.yourapp.tasks), and the attribute set. Third, call CSSearchableIndex.default().indexSearchableItems([items]) — pass an array to batch multiple items in a single call.
Index in batches, not one item per write operation. The right trigger is a meaningful user event: loading a list view, completing a sync, or running a background refresh. Batch sizes of 50–200 items are typical for apps with modest data models. Delete indexed items when the corresponding records are deleted — use CSSearchableIndex.default().deleteSearchableItems(withIdentifiers:) — and update existing items by re-indexing the same uniqueIdentifier with fresh attribute data. The system deduplicates on uniqueIdentifier, so re-indexing an existing item updates it cleanly without creating a duplicate.
Wiring the deep link handler is the critical last step. In your AppDelegate or SceneDelegate, implement application(_:continue:restorationHandler:) and check for activityType == CSSearchableItemActionType. Extract the uniqueIdentifier from userInfo[CSSearchableItemActivityIdentifier] and route to the correct screen. If you have already set up routing for push notification deep links or Universal Links — as described in the Universal Links and web-to-app conversion guide — your existing routing layer handles Spotlight taps with minimal additions: the identifier-to-screen routing logic is structurally identical.
App Intents + Spotlight in 2026 — the re-engagement surface that suggests actions, not just content
iOS 26 extended Spotlight's ability to surface App Intents alongside content items. When you declare App Intents that match common queries ('create a new task', 'show my workout log', 'open my most recent note'), Spotlight suggests those actions directly in search results even when the user is not searching for a specific content item's name. Developers who implemented App Intents report 10–20% increases in session starts from Spotlight and Siri surfaces in developer community data from mid-2026.
Core Spotlight and App Intents are complementary re-engagement mechanisms. Core Spotlight meets users who are searching for something they saved in your app. App Intents meet users who are searching for something to do — and remember your app can do it. An indie task manager that indexes tasks in Core Spotlight and declares intents like 'add a task' and 'show overdue items' covers both re-engagement patterns: returning users who want specific content, and lapsed users who remember what the app does and want to restart with a specific action.
Proactive Siri Suggestions — shown on the Lock Screen and in Spotlight before the user types anything — are also powered by App Intents. When users engage with your intents through Spotlight, Siri learns to surface those actions at contextually relevant moments without a search. This transforms Spotlight from a passive result into an active suggestion system for your app's core actions. The full App Intents implementation path is in the Apple App Intents guide. If you're also building Live Activities or Home Screen widgets, all three surfaces share App Intents as their interaction model — the implementation work overlaps significantly, making the combined investment smaller than building each surface independently.
A re-engagement channel with no competition in your category
Fewer than 10% of indie apps configure Core Spotlight beyond the default app entry. That means every installed user you have is reachable through a search interface they use many times daily, and you are almost certainly the only app in your category with content indexed there. The implementation is a day's work. The audience is your entire install base. The competition is essentially zero.
Start with your most searchable content type: tasks, notes, recipes, contacts — whatever objects your app stores with real user-assigned names. Wire the deep links so taps actually navigate to the right content. Index in batches. Then watch your re-engagement sessions: users who haven't opened your app in weeks are finding it through Spotlight searches they were going to run regardless. Pair it with a strong App Store listing to convert new users, and use the screenshot editor to build the assets that make both acquisition and re-engagement work together.
Build your App Store screenshots →
Frequently asked questions
does ios spotlight search index app content automatically?
iOS automatically indexes your app's name and icon — this default entry appears when a user searches for your app by name. In-app content (notes, tasks, contacts, records) is NOT indexed automatically. You must implement Core Spotlight (CSSearchableItem) or NSUserActivity to surface specific items in Spotlight results. Without these APIs, only the app entry appears; nothing inside the app is searchable through Spotlight.
how to add app content to ios spotlight
Create a CSSearchableItemAttributeSet with your item's title, contentDescription, and optional thumbnail. Set contentType to UTType.text for text-based content. Wrap it in a CSSearchableItem with a uniqueIdentifier (your record's ID) and a domainIdentifier, then call CSSearchableIndex.default().indexSearchableItems([item]). Handle the deep link by implementing application(_:continue:restorationHandler:) in your AppDelegate or SceneDelegate — check for activityType == CSSearchableItemActionType, extract userInfo[CSSearchableItemActivityIdentifier], and navigate to the matching content.
does core spotlight help app store ranking?
Core Spotlight and App Store search are separate systems — indexing in Core Spotlight has no direct effect on App Store search ranking. The indirect effect is real: Spotlight re-engagement improves your Day-7 and Day-30 retention metrics, and sustained retention is a quality signal Apple uses in its App Store ranking algorithm. The channel is a retention tool that feeds into long-term ranking signals through App Store Connect analytics, not a direct ASO lever.
what happens to spotlight index when app is deleted?
The entire Core Spotlight index for your app is wiped immediately when the user uninstalls the app. No indexed items survive uninstall. This makes Spotlight exclusively a re-engagement tool for currently-installed users — it cannot resurface your app to users who have already deleted it. Plan your Spotlight strategy accordingly: it is a session-recovery and retention tool for the users you already have, not a second acquisition channel.
nsuseractivity vs core spotlight for ios spotlight search
Use Core Spotlight (CSSearchableItem) for persistent content — objects the user might search for at any time regardless of recency. Use NSUserActivity for recent behaviors — recently opened screens, in-progress tasks, or items the user just interacted with. NSUserActivity also enables Handoff across Apple devices; Core Spotlight does not. For most indie apps: implement Core Spotlight first for your primary data model, then add NSUserActivity to your most frequently-opened screens. Core Spotlight handles cold content discovery; NSUserActivity handles warm re-engagement for active users.