Skip to content
SearchJet
SaaS Documentation

Documentation Search That Actually Works

Replace Broken Default Search in Minutes

Typo-tolerant, AI-powered search for your docs. Users find answers instantly. You get analytics on what they're searching for. No servers to manage.

The Problem

Default Documentation Search Fails Users

Every SaaS company has the same problem: documentation search that doesn't work. Users can't find what they need, so they email support instead.

⚠

Default Search is Worthless

Built-in documentation search from Jekyll, Sphinx, or your CMS is slow, inflexible, and doesn't handle typos. Users give up and email support instead.

⚠

Users Can't Find Answers

Exact-match search misses content. Searching "how to reset password" doesn't find "password reset instructions". Users bounce to competitors.

⚠

No Search Analytics

You can't see what users are searching for or what they can't find. Zero-result queries are invisible. Support tickets pile up while documentation gaps go unnoticed.

The Solution

SearchJet Documentation Search

Smart search that understands intent. Analytics that show you what users need. Zero infrastructure.

Typo Tolerance & Fuzzy Matching

Users type "authentcation" and still find "authentication". Misspellings, abbreviations, and variations all work. No false negatives.

Semantic Search & Synonyms

Understand intent, not just keywords. "How do I reset my account" finds "password reset", "account recovery", and "forgot password" guides.

Fast Indexing

Update docs and search sees changes instantly. No rebuild cycles, no cache invalidation, no waiting for Algolia to sync.

Advanced Analytics

Track what users search, what they click, and what queries return zero results. Turn search data into content opportunities.

Multi-Language Support

Index and search across multiple languages. Single search input returns results from all locales — perfect for global products.

Zero Database Load

Search runs on external infrastructure. Your docs server stays fast whether you get 100 or 1M searches per month.

Works Everywhere

Integrates with Your Doc Platform

Static Site Generators

Build-time integration via the REST API. Index your pages at deploy time.

JekyllHugoGatsbyAstro

Wiki & Doc Platforms

Use each platform's webhooks or API to send changes to your own endpoint, which pushes them to SearchJet.

ConfluenceNotionMediaWikiGitBook

Help Center Tools

Replace built-in search with SearchJet for better results and analytics.

ZendeskHelp ScoutFreshdeskIntercom

Custom Solutions

Full control with the REST API and any HTTP client. Index any documentation source.

REST APIWebhooksCustom scrapers
Three Ways to Integrate

Simple Implementation Options

HTML Search Box (Easiest)

index.html
<!-- Add to your documentation layout -->
<input id="docs-search" type="search"
  placeholder="Search documentation..." autocomplete="off">
<ul id="docs-results"></ul>

<script>
  // Use a SEARCH key here, never the private key
  const SEARCH_KEY = 'your_search_key';
  const input = document.getElementById('docs-search');
  const list = document.getElementById('docs-results');
  let timer;

  input.addEventListener('input', () => {
    clearTimeout(timer);
    timer = setTimeout(async () => {
      const q = input.value.trim();
      list.innerHTML = '';
      if (!q) return;
      const res = await fetch(
        'https://app.searchjetengine.com/api/v1/search?limit=8&q=' +
          encodeURIComponent(q),
        { headers: { 'Authorization': 'Bearer ' + SEARCH_KEY } }
      );
      const { results } = await res.json(); // array of hits
      for (const hit of results) {
        const li = document.createElement('li');
        const a = document.createElement('a');
        a.href = hit.url;
        a.textContent = hit.title;
        li.appendChild(a);
        list.appendChild(li);
      }
    }, 200);
  });
</script>

REST API (Flexible)

index-docs.mjs
// scripts/index-docs.mjs: run after each docs build (CI/server-side)
const docs = [
  {
    id: 'getting-started',
    title: 'Getting Started',
    content: 'Welcome to our documentation...',
    url: 'https://docs.example.com/getting-started',
    type: 'guide',
    metadata: { locale: 'en' }
  },
  // ... more documents
];

const response = await fetch('https://app.searchjetengine.com/api/v1/index/bulk', {
  method: 'POST',
  headers: {
    // Private key from your CI secrets, never shipped to the browser
    'Authorization': 'Bearer ' + process.env.SEARCHJET_PRIVATE_KEY,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ documents: docs })
});
console.log(await response.json()); // includes taskUid

Analytics & Insights

zero-results.js
// Spot content gaps from your own search calls
const res = await fetch(
  'https://app.searchjetengine.com/api/v1/search?q=' + encodeURIComponent(query),
  { headers: { 'Authorization': 'Bearer YOUR_SEARCH_KEY' } }
);
const data = await res.json();

if (data.total === 0) {
  // Zero-result query: a missing guide or a missing synonym.
  // Send it to your own logging or analytics tool.
  logZeroResult(query);
}

// Every response also includes:
// - data.results: the matching docs
// - data.total: number of matches
// - data.processing_time_ms: search time on the server
Illustrative Example

Before and After

Illustrative example of a docs site moving off built-in search. Your results will vary.

MetricBeforeAfterImpact
Search LatencySeconds<150msMany times faster
Result RelevanceExact keywords onlyTypo-tolerant + semanticMore relevant results
User RetentionBaselineMore docs found via searchBetter engagement
Support LoadTickets for documented answersMore self-serve answersFewer tickets
10K
Monthly Searches
Included on the Free plan
Fewer
Support Tickets
Users find answers in search
<150ms
Search Response Time
Instant results every time

Frequently Asked Questions

Everything you need to know about SearchJet for documentation

How do I index my existing documentation?
We provide multiple options: (1) Upload an XML sitemap, (2) use our crawler to auto-index public docs, (3) integrate via REST API for custom sources, or (4) set up webhooks for real-time updates. Most docs are indexed within minutes.
Can SearchJet replace my current documentation search?
Yes, completely. If you're using native search from Jekyll, Hugo, Sphinx, or a help center platform, SearchJet can replace it. Add a small search box script that calls the search API to your docs layout and you're done.
Do you support multiple languages?
Yes. You can index docs in English, Spanish, French, German, Chinese, Arabic, and 50+ other languages. Search works across all languages simultaneously if needed.
How does analytics help improve my docs?
See which topics users search for most, which queries return zero results (content gaps), and which pages get clicked from search. Use this data to prioritize documentation improvements and add missing guides.
Can I customize the search UI?
Yes. The search API returns plain JSON, so you can build a completely custom UI, from a simple dropdown to a full search modal, styled to match your documentation site.
What if my docs are behind authentication?
Our crawler can authenticate and index private docs if you provide credentials. Alternatively, use our REST API to push content directly to SearchJet from your backend.

Ready to Fix Your Documentation Search?

See how search can reduce support tickets and help users find answers instantly.

No credit card required. Free forever plan available. Contact us for a demo.