Skip to content

Integrations

Search that fits the stack you already ship.

One retrieval API, then a recipe for wherever your data lives: React, server-rendered apps, relational databases, commerce systems, and A/B/C search experiments.

Adoption path

  1. 01 Pick a framework recipe for the UI.
  2. 02 Sync source data into one or more indexes.
  3. 03 Run A/B/C retrieval experiments before a full rollout.
Start with the React SDK

Framework recipes

UI paths for modern app stacks

Live means a first-party package exists today. Recipe means the pattern is documented on stable REST/SDK primitives.

  • Next.js + React

    Live

    Use @headband/react in App Router or Pages Router search surfaces.

    npm i @headband/reactOpen recipe
  • Remix / React Router

    Recipe

    Call /v1/search from a loader, with the search key kept on the server.

    curl -X POST https://headband.dev/v1/search -H "Authorization: Bearer $HEADBAND_SEARCH_KEY" -H "Content-Type: application/json" -d '{"index":"products","q":"shoes"}'Open recipe
  • Astro

    Recipe

    Call /v1/search from a server-rendered page, with the search key kept on the server.

    curl -X POST https://headband.dev/v1/search -H "Authorization: Bearer $HEADBAND_SEARCH_KEY" -H "Content-Type: application/json" -d '{"index":"products","q":"shoes"}'Open recipe
  • SvelteKit

    Recipe

    Call /v1/search from a server load function, with the search key kept on the server.

    curl -X POST https://headband.dev/v1/search -H "Authorization: Bearer $HEADBAND_SEARCH_KEY" -H "Content-Type: application/json" -d '{"index":"products","q":"shoes"}'Open recipe
  • Rails / Laravel / Django

    Recipe

    Send your records with the admin key from a job, and search with the search key from a controller or view.

    curl -X POST https://headband.dev/v1/search -H "Authorization: Bearer $HEADBAND_SEARCH_KEY" -H "Content-Type: application/json" -d '{"index":"products","q":"shoes"}'Open recipe

Sync connectors

Get source data into search safely

These connectors are scripts you run on your own schedule, pushing records through the bulk API. They are in the headband-examples repo: each command below runs from its connectors/ folder. Managed Postgres Sync is a separate product in early access: Headband reads your database's change stream and keeps the index current, with no script to run. See the Sync docs.

  • Postgres / Neon / Supabase

    Recipe

    Run a scheduled SQL export into /v1/bulk, then validate with /v1/search.

    npm run sync:postgres
    Auto-sync
    Create, update, delete
    Schedule
    Every 15 minutes for active catalogs
    View sync guide
  • MySQL / PlanetScale

    Recipe

    Export MySQL rows through the mysql CLI and batch them into Headband.

    npm run sync:mysql
    Auto-sync
    Create, update, delete
    Schedule
    Every 15-60 minutes for product/search tables
    View sync guide
  • Shopify

    Recipe

    Mirror Shopify products/variants into a searchable catalog index.

    npm run sync:shopify
    Auto-sync
    Create, update, delete
    Schedule
    Every 5-15 minutes for product catalogs
    View sync guide
  • Stripe catalog

    Recipe

    Mirror products/prices into an index for account portals, docs, and internal tools.

    npm run sync:stripe
    Auto-sync
    Create, update, delete
    Schedule
    Hourly for active catalogs
    View sync guide
  • BataDB

    Recipe

    Sync BataDB tables into Headband indexes with the bounded backfill script, field projection, and explicit deletes.

    npm run sync:batadb
    Auto-sync
    Create, update, delete
    Schedule
    Every 5-15 minutes for active tables
    View sync guide
  • Hosted connector scheduler

    Roadmap

    Managed scheduling, retries, logs, and secret storage belong in the connector runtime roadmap.

    Auto-sync
    Managed scheduling is on the roadmap
    Schedule
    Tenant-configurable once hosted connector scheduling ships
    View sync guide

A/B/C testing

Experiment with retrieval before betting the product on it.

Use Headband indexes as experiment variants. Headband can assign each visitor a variant, or your app can split traffic itself; either way Headband keeps retrieval outcomes beside query quality.

  • Engine A/B/C test

    Recipe

    Split traffic across Meilisearch, Typesense, Elasticsearch, and Visor indexes for the same corpus.

    Pattern
  • Ranking rules test

    Recipe

    Compare synonyms, typo tolerance, filters, and boosts without changing client code.

    Pattern
  • Hybrid/RAG quality test

    Recipe

    Compare lexical, vector, and hybrid retrieval before rolling a RAG flow to everyone.

    Pattern