Search icon

App Integration

Understanding the App Types

Native App

  • Examples: iOS or Android apps built with Swift, Kotlin, or Java.
  • Key point: JavaScript is not directly supported in this integration (unless you use a WebView). Native apps cannot execute a JS snippet, so you integrate directly against Doofinder's Search API.
  • Recommended integration: Doofinder API.

Responsive / PWA

  • Examples: Progressive Web Apps or any mobile-friendly web app.
  • Key point: JavaScript is supported, so you can embed Doofinder scripts directly. If your "app" is a Progressive Web App or a responsive web view that runs in a browser context (including WebView components inside a native shell), you can use the standard script installation.
  • Recommended integration: Doofinder script (JS widget).

How to Integrate Doofinder

Native app

Native apps cannot execute a JS snippet in this integration, so you integrate directly against Doofinder's Search API.

How it works: Making a Search Request

You make HTTP requests from your app's backend or directly from the client to Doofinder's API endpoint:

GET
https://{zone}-search.doofinder.com/6/search?hashid={YOUR_HASHID}&query=shoes
Authorization: Token {YOUR_API_TOKEN}
  • Your zone: determined by the prefix in your API Key (eu1 = Europe, us1 = USA, ap1 = Asia-Pacific).

You will need:

  1. Your Hash ID: found in Admin Panel > Configuration > Search engines.
  2. Your API Key: found in Admin Panel > User > API Keys.
  3. Call the API and render results natively in your app's UI.

Key points:

  • You build and style the search UI yourself (no Doofinder layer/widget).
  • Full API reference: docs.doofinder.com.

Analytics: Sending Stats Events

Analytics will not work unless you send events manually. Unlike the JS widget (which tracks everything automatically), native app integrations require you to send click and checkout events to Doofinder's Stats API yourself. Without this, your Admin Panel stats (CTR, Conversion Rate, etc.) will be incomplete.

You are responsible for sending at minimum two types of events:

  • Click event: send this when a user taps on a search result. This populates your Click-Through Rate (CTR) data.
  • Checkout event: send this when a user completes a purchase. This populates your Conversion Rate (CR) data.

You will also need to include a session_id parameter in your search requests. This is a unique identifier per user session, and it ties search queries to click and checkout events so Doofinder can track the full journey.

Full Stats API reference: docs.doofinder.com/api/management/v2/stats

Responsive / PWA

Doofinder's JS layer handles everything: the search input detection (via CSS selector), the results popup, filtering, and analytics automatically.

How it works:

  1. Embed the Doofinder JS script in your web app:
<script src="https://eu1-config.doofinder.com/2.x/1234567891011121314.js" async>&lt;/script>
  1. Ensure your APP domain is explicitly allowlisted in the security section.

Key points:

  • Quick to implement.
  • Full features like autocomplete, facets, instant results.
  • If you don't want to touch the HTML directly, you can deploy the script through Google Tag Manager.
  • Stats information can be managed from the Doofinder admin stats.

Did you find this page helpful?