Skip to content
SearchJet
Universal JavaScript Search API

Instant Search for Any Website

Add powerful search to any website with one HTTP request to the SearchJet REST API — no SDK needed. React autocomplete, headless Next.js search, and vanilla JS site search — with a free API key in 60 seconds.

app.js
// No SDK, no npm install — one HTTP request
const res = await fetch(
  'https://app.searchjetengine.com/api/v1/search?q=laptop+deals&limit=10',
  { headers: { Authorization: 'Bearer 8e371cadae7aefedd3c99e41835df7ad709a27128c2a2d0c10ac408b1124c5a7' } }
);

const { results, total } = await res.json();
console.log(total, results); // results is the array of hits

One HTTP request. Instant search on any website.

Works With Your Favorite Framework

Click a framework to see a live preview and copy-paste code that runs out of the box

https://your-site.devLive preview
Try:

The UI the code below produces — search-as-you-type, backed by the live SearchJet product index.

App.jsx
// App.jsx — copy-paste, no SDK needed
import { useEffect, useState } from 'react';

const SEARCH_URL = 'https://app.searchjetengine.com/api/v1/search';

export default function App() {
  const [query, setQuery] = useState('');
  const [hits, setHits] = useState([]);

  useEffect(() => {
    if (!query.trim()) return setHits([]);
    const controller = new AbortController();
    const timer = setTimeout(async () => {
      const res = await fetch(`${SEARCH_URL}?q=${encodeURIComponent(query)}&limit=10`, {
        headers: { Authorization: 'Bearer ' },
        signal: controller.signal,
      });
      const { results } = await res.json(); // results is the array of hits
      setHits(results);
    }, 150); // debounce keystrokes
    return () => { clearTimeout(timer); controller.abort(); };
  }, [query]);

  return (
    <div>
      <input value={query} onChange={(e) => setQuery(e.target.value)} placeholder="Search products…" />
      {hits.map((hit) => (
        <a key={hit.id} href={hit.url} className="block border-b border-zinc-800 p-3 hover:bg-zinc-800/60">
          <h4 className="font-semibold text-on-surface">{hit.title}</h4>
          {hit.excerpt && <p className="text-sm text-zinc-500">{hit.excerpt}</p>}
        </a>
      ))}
    </div>
  );
}

Click YOUR_API_KEY in the code to generate your free key — it's injected instantly.

Everything You Need

Built with modern web development best practices

Framework Agnostic

Works with React, Vue, Angular, Svelte, or plain JavaScript. Use it anywhere you can make an HTTP request.

Any HTTP Client

No SDK needed — one HTTP request with fetch, axios, or any other HTTP client.

No Build Step

Copy-paste fetch examples run in a plain inline <script> or inside your bundler. Nothing to install.

Zero Dependencies

Nothing to download or bundle — just a fetch call and a JSON response.

Mobile First

The examples use plain inputs and lists, so they fit any responsive layout you already have.

Fully Customizable

Headless by default. The API returns JSON — render results with your own components and complete control.

Component Gallery

Try the Search UI Patterns Developers Search For

Live, interactive demos with copy-paste code for each pattern

Live demo · autocomplete
autocomplete.jsx
import { useEffect, useState } from 'react';

const SEARCH_URL = 'https://app.searchjetengine.com/api/v1/search';

function App() {
  const [query, setQuery] = useState('');
  const [suggestions, setSuggestions] = useState([]);

  useEffect(() => {
    if (!query.trim()) return setSuggestions([]);
    const timer = setTimeout(async () => {   // debounce: avoid hammering the API
      const res = await fetch(`${SEARCH_URL}?q=${encodeURIComponent(query)}&limit=6`, {
        headers: { Authorization: 'Bearer your_search_api_key' },
      });
      const { results } = await res.json();  // results is the array of hits
      setSuggestions(results);
    }, 150);
    return () => clearTimeout(timer);
  }, [query]);

  return (
    <div>
      <input value={query} onChange={(e) => setQuery(e.target.value)} placeholder="Search docs & products…" />
      <ul>
        {suggestions.map((hit) => (
          <li key={hit.id} onClick={() => (window.location.href = hit.url)}>{hit.title}</li>
        ))}
      </ul>
    </div>
  );
}

Copy-paste ready. Swap your_search_api_key with the free key from the widget above.

Get Started in 4 Steps

From API key to live search in minutes

01

Get a Key

Generate a free search API key in 60 seconds

02

Call the API

Send GET /search with your key — the key selects the index

03

Render Results

Loop over the results array with your own UI

04

Customize

Style and configure to match your brand

Developer Recipes

Pick Your Stack. We've Written the Search for You.

Copy-paste, framework-specific guides for the exact search pattern you're building today.

Why Developers Love the SearchJet API

Modern, performant, and developer-friendly. Built for the modern web.

No SDK needed - one HTTP request
Works with any HTTP client (fetch, axios, curl)
CORS enabled for direct browser calls with a search key
Copy-paste debounce + AbortController patterns
Keyboard navigation and ARIA roles in the React example
Plain JSON results - style them however you like
Server-side key pattern for Next.js route handlers
Extensive documentation and examples

Ready to Add Search to Your Site?

Start building with the SearchJet API today. Works with any JavaScript framework or plain HTML.

Frequently Asked Questions

Everything you need to know about searching with SearchJet from JavaScript

How long does it take to add SearchJet to my website?
Most developers get SearchJet running in under 5 minutes. Generate a free API key on this page, then copy a fetch example that calls GET /search with your key and render the results array in your own UI. No SDK or npm install needed. The live sandbox on this page lets you test queries before writing any code.
Can I try SearchJet without installing anything?
Yes. The live sandbox on this page queries the real SearchJet API from your browser — type a query and watch the JSON response update in real time. The component gallery also includes interactive autocomplete, faceted search, voice search, and zero-result fallback demos.
How do I get a free SearchJet API key?
Enter your email in the "Zero to Search" widget at the top of this page. We instantly inject a working demo key into the live sandbox so you can search the moment it is generated. Create a free account to get a key scoped to your own index and content.
Which frameworks are supported?
SearchJet is a plain REST API, so it works with every major JavaScript framework including React, Vue, Angular, Next.js, Svelte, and vanilla JavaScript — anything that can make an HTTP request. No SDK needed.
Does it work with server-side rendering (SSR)?
Yes. Call the API with fetch from server code — Next.js route handlers and Server Components, Nuxt server routes, or any SSR/SSG framework — and keep your key in an environment variable.
Is TypeScript supported?
Yes. It is a plain fetch call, so it works in any TypeScript project. There is no SDK to ship types, so define a small type for the hit fields you use (id, title, content, url, excerpt, type, author, date).
What happens if I exceed my plan limits?
Your search continues to work normally. We notify you to upgrade but your users experience no disruption. Upgrade anytime with a single click.
Is there a free plan available?
Yes. The Free plan is free forever with 10,000 search queries per month and up to 1,000 indexed pages. No credit card required.

Simple, Transparent Pricing

Start free, upgrade when you need more

Free Forever

Free

$0/month
  • 10,000 search queries/month
  • Up to 1,000 indexed pages
  • 7-day analytics retention
  • Community support
Get My Free API Key
Most Popular

Pro

$19/month
  • 50,000 search queries/month
  • Up to 25,000 indexed pages
  • 30-day analytics retention
  • Email support
  • 1 site
Get Started

Growth

$79/month
  • 250,000 search queries/month
  • Up to 100,000 indexed pages
  • 90-day analytics retention
  • Priority support
  • Up to 3 sites
Get Started

Enterprise

$299/month
  • Unlimited search queries
  • Unlimited indexed pages
  • SLA + account manager
  • Up to 10 sites
Contact Sales

All plans include SSL and CDN delivery. Paid plans are covered by a 99.5% monthly uptime SLA. View detailed pricing

Related Use Cases