Overview
Podium provides multiple search and discovery surfaces powered by PostgreSQLtsvector full-text search with custom ranking. The search system spans products, creators, campaigns, rewards, and collectibles with both traditional keyword search and AI-enhanced universal search.
Full-Text Search
Entity Search
Query Parameters
| Param | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query |
type | enum | No | campaign, creator, user, product, or reward |
orderBy | string | No | Sort order |
page | integer | No | Page number (1-indexed) |
limit | integer | No | Results per page |
type is omitted, the search returns results across all entity types, grouped by category.
Response
Universal Search
Universal search provides a unified search experience with optional LLM-powered synthesis that generates natural-language answers alongside traditional results.Query Parameters
| Param | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query |
entityTypes | string | No | Comma-separated: product, campaign, creator |
page | integer | No | Page number |
limit | integer | No | Results per page |
llm | boolean | No | Enable LLM synthesis |
llmMode | enum | No | auto, force, or off — controls when LLM is invoked |
answer | boolean | No | Include LLM-generated answer |
includeSuggestions | boolean | No | Include search suggestions |
LLM Modes
| Mode | Behavior |
|---|---|
auto | LLM is invoked when the query appears conversational or complex |
force | Always invoke LLM synthesis |
off | Traditional search only (default) |
Response with LLM Synthesis
Search Suggestions
| Param | Type | Default | Description |
|---|---|---|---|
query | string | — | Partial query for suggestions |
limit | integer | 10 | Max suggestions (max: 50) |
Autocomplete
Legacy autocomplete endpoint for backward compatibility:| Param | Type | Default | Description |
|---|---|---|---|
query | string | — | Partial query |
limit | integer | 10 | Max results |
/universal-search/suggestions for new integrations.
Discovery Feeds
Curated content surfaces for browsing.Main Discovery
| Param | Type | Description |
|---|---|---|
userId | string | Personalize for this user |
suggested | boolean | Include editorial suggestions |
page | integer | Page number |
limit | integer | Results per page |
Category-Specific Discovery
| Endpoint | Returns |
|---|---|
/discover/campaigns | Active discoverable campaigns |
/discover/collectibles | Discoverable on-chain collectibles |
/discover/creators | Featured creators |
Personalized Feeds
For-You Feed
Returns a personalized product feed based on the user’s intent profile, interactions, and enrichment data. This is the consumer-facing expression of the agentic product feed.| Param | Type | Required | Description |
|---|---|---|---|
userId | string | Yes | User to personalize for |
interests | string | No | JSON array of interest overrides |
page | integer | No | Page number |
Recommended Creators
Saved Items (Wishlist)
Users can save items for later across three entity types.Save an Item
List Saved Items
Remove Saved Item
Supported Item Types
| Type | Description |
|---|---|
PRODUCT | Saved product |
CAMPAIGN | Saved campaign |
REWARD | Saved reward |
Search Architecture
Search uses PostgreSQL’s built-in full-text search withtsvector columns on SearchDoc and SearchChunk models. Documents are indexed with custom ranking weights for relevance ordering.
Products published via the product-published event are automatically indexed. Campaign and creator records are indexed on creation and update.
The universal search layer adds optional AI synthesis to generate conversational answers grounded in the search results.
Endpoint Summary
| Method | Path | Description |
|---|---|---|
GET | /search | Full-text search (by entity type) |
GET | /autocomplete | Legacy autocomplete |
GET | /universal-search | Unified search with optional AI synthesis |
GET | /universal-search/suggestions | Search suggestions |
GET | /discover | Curated discovery feed |
GET | /discover/campaigns | Discoverable campaigns |
GET | /discover/collectibles | Discoverable collectibles |
GET | /discover/creators | Discoverable creators |
GET | /for-you/feed | Personalized feed |
GET | /for-you/creators | Recommended creators |
POST | /saved-item | Save an item |
GET | /saved-item | List saved items |
DELETE | /saved-item/{id} | Remove saved item |

