Search Requests

Full-text search across all feature requests with optional AI topic expansion. Searches title, description, tags, and author name.

POST/api/v1/requests/search

Full-text search across feature requests with optional AI topic expansion. Searches title, description, tags, and author name.

Request Body

FieldTypeRequiredDescription
querystringrequiredSearch query
limitnumberoptionalMax results (1-100) (default: 20)
expandbooleanoptionalEnable AI topic expansion + realtime scraping (default: false)
platformsarrayoptionalPlatforms to scrape (only when expand=true) (default: reddit,x)

Notes

  • Search is capped at 100 results maximum (Convex limitation)
  • Set `expand=true` to trigger AI topic expansion and realtime scraping
  • Expansion only triggers when cached results < 10
  • Without expand, counts against cached quota only
  • With expand, counts against both cached and realtime quota
  • Use `hasMore` to show 'Load more' UI

Response Example

200 OK
{
  "data": {
    "results": [
      {
        "_id": "abc123",
        "title": "[Notion] Add offline mode",
        "description": "Users want offline support...",
        "votes": 100,
        "tags": [
          "offline",
          "productivity"
        ]
      }
    ],
    "hasMore": true,
    "limitReached": false
  },
  "meta": {
    "originalQuery": "notion offline",
    "cachedResults": 3,
    "expanded": true,
    "expandedTopics": [
      "notion offline mode",
      "notion desktop app",
      "notion sync"
    ],
    "topicsScraped": 2,
    "topicsSkipped": 1,
    "newResultsFound": 15,
    "scrapingTimeMs": 4500
  },
  "usage": {
    "cached": {
      "used": 151,
      "limit": 1000,
      "remaining": 849
    },
    "realtime": {
      "used": 26,
      "limit": 500,
      "remaining": 474
    }
  }
}

Response Metadata

When expand=true, the response includes detailed metadata:

originalQueryYour original search query
cachedResultsNumber of results from cache
expandedWhether expansion was triggered
expandedTopicsArray of AI-generated related topics
topicsScrapedNumber of topics that were scraped
topicsSkippedTopics skipped due to TTL (recently scraped)
newResultsFoundNew feature requests discovered
scrapingTimeMsTotal time for expansion pipeline