SearchJetEngine
React Search Library

Instant Search for React — Hooks, Components & TypeScript

AI-Powered Search for Modern React Applications

Add AI-powered search to any React app in minutes. useSearch hook, pre-built components, zero-config setup.

React 18 Ready
Headless Hooks
TypeScript Native
No Credit Card Required
Works with Any React Setup
Free Forever Plan
The Problem

React Search Options Are Limited

Building search in React means choosing between expensive SaaS, complex infrastructure, or months of custom development.

Common React Pain Point

Algolia = Expensive + Complex

Algolia pricing scales aggressively as your user base grows, and the setup is more complex than most React projects need.

Common React Pain Point

ElasticSearch = Infrastructure Nightmare

Self-hosted ElasticSearch requires DevOps expertise, dedicated servers, and ongoing maintenance that pulls your team away from product work.

Common React Pain Point

Custom Solution = Months of Work

Building relevance, typo tolerance, faceting, and autocomplete from scratch takes months and rarely matches purpose-built search quality.

The Solution

SearchJet React SDK

Drop-in React components with full hooks, TypeScript, and zero-config defaults. Built for any React stack.

useSearch Hook

Headless hook that gives you full control over search state and UI. Wire it to any component, any design system.

Pre-built Components

SearchBox, Hits, Facets, Pagination — ready to drop in. Customize or replace any piece with your own components.

TypeScript First

Full generic types for your data shape. Autocomplete everywhere — from SearchProvider props to hit objects.

Zero Config

Works out of the box with sensible defaults. Customize when you need to, but never forced to configure.

Framework Agnostic

Works with Vite, Create React App, Next.js, Remix, Astro, or any React setup. One package, everywhere.

Tiny Bundle

<10KB gzipped, tree-shakeable. Only ships the code you actually use. No bloat, no performance hit.

Copy-Paste Integration

Two approaches — simple components or full control with hooks

Basic Hook Usage

SearchPage.tsx
// SearchPage.tsx
import { SearchProvider, SearchBox, Hits, Highlight } from '@searchjet/react';

export default function SearchPage() {
  return (
    <SearchProvider
      indexName="your_index"
      searchApiKey="your_search_api_key"
    >
      <SearchBox placeholder="Search anything..." />
      <Hits>
        {({ hit }) => (
          <article className="p-4 border-b">
            <h3>
              <Highlight attribute="title" hit={hit} />
            </h3>
            <p>
              <Highlight attribute="content" hit={hit} />
            </p>
          </article>
        )}
      </Hits>
    </SearchProvider>
  );
}

Full Component with UI

SearchWithFilters.tsx
// SearchWithFilters.tsx
import { useSearch, useHits, useFacets } from '@searchjet/react';

export function SearchWithFilters() {
  const { query, setQuery, isSearching } = useSearch();
  const { hits } = useHits();
  const { facets } = useFacets();

  return (
    <div className="flex gap-8">
      {/* Sidebar filters */}
      <aside className="w-64">
        {facets.map(facet => (
          <FacetGroup key={facet.name} facet={facet} />
        ))}
      </aside>

      {/* Results */}
      <main className="flex-1">
        <input
          type="text"
          value={query}
          onChange={(e) => setQuery(e.target.value)}
          placeholder="Search products..."
          className="w-full p-3 border rounded-lg"
        />
        {isSearching ? (
          <Spinner />
        ) : (
          hits.map(hit => (
            <ProductCard key={hit.objectID} hit={hit} />
          ))
        )}
      </main>
    </div>
  );
}

Need a complete starter project?

View GitHub Examples

Frequently Asked Questions

Everything you need to know about SearchJet for React

Does SearchJet work with React 18?
Yes, SearchJet is fully compatible with React 18 including concurrent features, Suspense boundaries, and streaming SSR. No hydration issues.
What React versions are supported?
React 16.8+ is required (hooks support). Works with Vite, Create React App, Next.js, Remix, Astro, and any React-based setup.
Is there a useSearch hook?
Yes, SearchJet provides useSearch, useHits, useAutocomplete, and useFacets hooks for fully custom implementations with your own UI.
Can I customize the UI completely?
Absolutely. The headless hooks let you build any UI from scratch. Pre-built components are included for speed, but every piece is replaceable.
Does it work with React Native?
The core hooks work with React Native, but the pre-built components are web-only. Use the hooks to build native search UIs.
How does it handle large datasets?
Search runs on external infrastructure, so dataset size doesn't affect your React bundle or client-side performance. Results stream in as users type.

Still have questions?

Contact our support team

Ready to Add Search to Your React App?

Join developers building exceptional search experiences with SearchJet

Free Forever Plan
No Credit Card
5-Min Setup

Already have an account? Log in

Related Use Cases