ParadeDB pg_search (Full-Text Search)

BM25 full-text search inside Postgres via the pg_search extension, built on Tantivy. Consumed as SQL over the PostgreSQL wire protocol - BM25 indexes are created with CREATE INDEX ... USING bm25, queried with the @@@ operator, and scored or highlighted with paradedb.score() and paradedb.snippet(). No REST API.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pg_search"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

paradedb-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: ParadeDB SQL Interface (No REST API)
  description: >-
    ParadeDB does NOT expose a REST or HTTP API. It is an open-source PostgreSQL
    extension stack (pg_search for BM25 full-text search, pg_analytics for
    columnar OLAP) and is consumed exclusively as SQL over the PostgreSQL wire
    protocol (default TCP port 5432).


    There are no HTTP request/response endpoints to model, so the `paths` object
    is intentionally empty. This document exists only to record that the
    integration surface is SQL/Postgres, not REST.


    How ParadeDB is actually used:

    - Connect with any standard Postgres client, driver, or ORM (psql, libpq,
      Drizzle, Django, SQLAlchemy, Rails, EF Core) over the PostgreSQL wire
      protocol: postgresql://user:pass@host:5432/dbname
    - Enable the extensions: `CREATE EXTENSION pg_search;`
    - Create a BM25 index:
      `CREATE INDEX search_idx ON mock_items USING bm25 (id, description)
      WITH (key_field='id');`
    - Run a full-text search with the `@@@` operator:
      `SELECT * FROM mock_items WHERE description @@@ 'keyboard';`
    - Score and highlight with `paradedb.score(id)` and
      `paradedb.snippet(description)`.
    - Run analytics with standard SQL aggregates accelerated by columnar
      storage and Postgres parallel workers.


    Because no REST endpoints exist, none are fabricated here.
  termsOfService: https://www.paradedb.com/terms
  contact:
    name: ParadeDB
    email: sales@paradedb.com
    url: https://www.paradedb.com
  license:
    name: AGPL-3.0 (Community) / Commercial (Enterprise)
    url: https://github.com/paradedb/paradedb/blob/dev/LICENSE
  version: '0.19'
servers:
  - url: postgresql://localhost:5432
    description: >-
      Not an HTTP server. Shown for reference only - ParadeDB is reached over
      the PostgreSQL wire protocol, not HTTP. There is no REST base URL.
paths: {}