Firebase App Indexing is a Google service that indexes mobile app content and makes it available in search results, allowing users to navigate directly to the desired app screen from Google search results. App Indexing links app URI schemes with indexed website pages, creating a unified search system. According to Firebase Documentation, 2026, apps with App Indexing configured receive on average 30% additional traffic from Google search on Android devices. The service supports automatic indexing via Google Play Services and manual indexing via the Firebase App Indexing API.
Key Takeaways
Firebase App Indexing is a Google technology that makes mobile app content accessible to the Google search crawler, allowing app screens to be indexed just like Google indexes web pages. When app content is indexed, users can find it in Google Search, Google Assistant, or Google Lens and navigate directly to the desired app screen with one click, bypassing the web page.
Google indexes apps through two mechanisms: automatic indexing and the Firebase App Indexing API. Automatic indexing works on Android via Google Play Services: if the app is installed, Google automatically indexes content that has deep links. API indexing allows developers to programmatically control which content is visible in search, using the Firebase App Indexing API to update or remove indexed pages.
App indexing solves several tasks: attracting new users from Google search (search results show app content in cards). Increased engagement — existing users find needed content faster through on-device search. Increased installations — Google search shows deep links to content, and if the app is not installed, Google displays an install link. App Indexing also improves app visibility in Google Assistant, which can suggest opening the app during voice search.
The indexing process begins when Google discovers your app’s URI schemes. For Android, Google uses information from Google Play Store (API level, intent-filter, URI schemes) to build an app map. For iOS, indexing is done through Spotlight Integration and CSSearchableIndex. When Google indexes app content, it links the URI (e.g., myapp://product/123) with a web URL, if it exists, and stores this pair in the search index.
For proper indexing, Google must understand the relationship between your app and website. Digital Asset Links is a JSON file uploaded to your website that confirms the mobile app belongs to the site owner. The assetlinks.json file is placed in the domain root and contains the SHA256 fingerprint of the app’s signing certificate. Google verifies this link before showing an app open button in search results.
// https://yourapp.com/.well-known/assetlinks.json
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.myapp",
"sha256_cert_fingerprints": [
"14:6D:E9:92:..."
]
}
}
]
Google receives content for indexing from several sources: Google Play Store (list of published apps with their URI schemes), Android App Links (verified HTTP schemes in Android 6.0+), Firebase App Indexing API (programmatic index update), and automatic indexing via Google Play Services on devices with the app installed. Each source supplements the overall index, making app content as accessible as possible for search.
Google Play Services automatically indexes content of installed apps on Android if the app uses correct URI schemes and intent-filter. The mechanism scans the app for intent-filter with VIEW action and collects URIs used in the app. This process is fully automatic and requires no additional code from the developer — just properly configure deep links in the manifest.
Google automatically indexes URIs that meet certain criteria: the URI must be accessible via intent-filter with VIEW action, the scheme must be HTTP/HTTPS for Android App Links. URIs with custom schemes (myapp://) are also indexed, but only when the app is installed. Automatic indexing does not apply to URIs that lead to authentication pages or personal user data.
Automatic indexing has several limitations: the index does not update instantly but with a delay from several hours to days. App API level — automatic indexing requires minSdkVersion 23 or higher. URIs without HTTP/HTTPS schemes are indexed only on devices with the app installed. To speed up indexing and add content without web counterparts, it is recommended to use the Firebase App Indexing API.
Firebase App Indexing API is a Google HTTP API that allows developers to programmatically manage the app’s indexed content. The API accepts requests to add, update, and remove URI pages from the Google index. Unlike automatic indexing, the API works instantly: after a call, Google begins considering new URIs in search results within minutes.
A request to the Firebase App Indexing API contains a page object with its URI, title, description, and optional images. Each URI is processed as a separate page that can be found through Google search. The API uses OAuth 2.0 authentication via a Firebase Service Account. For bulk addition of URIs, batch processing of up to 1000 pages in a single request is supported.
import com.google.firebase.appindexing.FirebaseAppIndex;
import com.google.firebase.appindexing.Indexable;
import com.google.firebase.appindexing.builders.Indexables;
public class AppIndexingHelper {
public static void indexProduct(String productId,
String name, String price) {
Indexable product = Indexables.newSimpleBuilder(name)
.setUrl("myapp://product/" + productId)
.setDescription("Price: " + price)
.build();
FirebaseAppIndex.getInstance()
.update(product)
.addOnSuccessListener(aVoid ->
Log.d("Index", "OK"))
.addOnFailureListener(e ->
Log.e("Index", "Error", e));
}
public static void removeProduct(String productId) {
FirebaseAppIndex.getInstance()
.remove("myapp://product/" + productId);
}
}
When app content changes, it is necessary to update the Google index via the Firebase App Indexing API. Removing outdated content is also important: if a URI no longer exists or leads to a 404, it should be removed from the index. Firebase App Indexing does not automatically remove content when it changes in the app — the developer is responsible for synchronizing the index with the current content state. It is recommended to call the API on every data change: adding, editing, or deleting products, articles, profiles.
Setting up Firebase App Indexing in Android includes several steps: adding the Firebase SDK, adding app-indexing dependencies in build.gradle, configuring Android App Links, and creating a service to handle URIs. The minimum API version for Firebase App Indexing is 23. After SDK configuration, the app automatically begins sending data for indexing to Google via Google Play Services.
For Firebase App Indexing, you need to add the com.google.firebase:firebase-appindexing dependency and the google-services plugin to the app module’s build.gradle. Firebase automatically processes indexing data via Google Play Services if the app meets the requirements: minSdkVersion 23+, presence of intent-filter with HTTP/HTTPS schemes, and use of Android App Links for verification. For URIs with custom schemes, additional configuration is required.
// build.gradle (Module: app)
plugins {
id 'com.android.application'
id 'com.google.gms.google-services'
}
android {
defaultConfig { minSdkVersion 24 }
}
dependencies {
implementation platform('com.google.firebase:firebase-bom:32.0.0')
implementation 'com.google.firebase:firebase-appindexing'
}
Android App Links are HTTP/HTTPS links that Google verifies as belonging to your app. Verification is performed through Digital Asset Links: the assetlinks.json file is uploaded to your website. After verification, Android automatically handles all links from your domain as App Links, without asking the user which app to open the link in. This is a necessary condition for proper app content indexing.
After configuration, you need to verify that the app content is actually being indexed. Firebase Console in the App Indexing section shows statistics: number of indexed URIs, number of search impressions and clicks. For detailed verification, use Google Search Console, which displays indexing errors and recommendations. You can also search for site:https://your-app.page.link in Google to see the app’s indexed pages.
Effective app indexing requires following several key practices. All URIs you want to index should lead to real content — no placeholders, empty screens, or error pages. It is recommended to index only public content and not to index pages requiring authentication. Each URI should have a readable name and description in the user’s language.
Index content that users search for in Google: product cards, articles, profiles, menu categories, recipes, events. Do not index pages with personal data, settings, shopping cart, order history, or any other private data. For dynamic content (news feed, personalized selections), use the Firebase App Indexing API to add new URIs as they are created and remove them when deleted.
Each indexed URI should have a meaningful title, description, and preview image for search results. Use keywords in the title and description that match real user search queries. For images, use square format 1200x1200 px and ensure they are accessible via public URLs. Regularly update content: Google shows fresh pages more often in search.
| Content Type | Recommended to index | Not recommended |
|---|---|---|
| e-commerce | Products, categories, promotions | Cart, checkout, profile |
| Social networks | Public profiles, posts | Friend feed, private messages |
| Media | Articles, videos, podcasts | Drafts, viewing history |
| Services | Services, catalog, contacts | Settings, notifications |
Frequently Asked Questions
App Indexing indexes content inside a mobile app, not web pages. Google indexes app URI schemes and shows an “Open in app” button in search results. For websites, HTML pages are sufficient; for apps, configured deep links and Digital Asset Links are required.
In Firebase Console, open the App Indexing section — it displays statistics on indexed URIs and clicks. Also check Google Search Console: add your project as a resource and review the app indexing report and any errors.
Yes, but with limitations. URIs with custom schemes (myapp://) are indexed only on devices where the app is already installed. For cross-platform indexing (showing in search on all devices), a web counterpart with configured Digital Asset Links is required.
When using the Firebase App Indexing API — within minutes. With automatic indexing via Google Play Services — from several hours to 1–2 days. For faster indexing, use the API when adding important content.
There is no limit on the number of URIs. Firebase App Indexing API allows adding up to 1000 URIs in a single batch request. Google recommends indexing only high-quality and up-to-date content — no more than 10,000 URIs per app for optimal search performance.
Summary
We will develop a mobile application turnkey
IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.
Read also