Skip to main content
GET
/
api
/
v1
/
search
Search premium financial newsletter and podcast posts by topic.
curl --request GET \
  --url https://dripstack.xyz/api/v1/search
{
  "mode": "hybrid",
  "asOf": "2026-06-15T10:30:00Z",
  "query": "AI infrastructure spending",
  "normalizedQuery": "ai infrastructure spending",
  "matchConfidence": "strong",
  "searchTierUsed": "scoped",
  "timeWindow": {
    "label": "last_week",
    "startIso": "2026-06-08T00:00:00Z",
    "endIso": "2026-06-15T00:00:00Z",
    "days": 7
  },
  "freshnessCoverage": {
    "requestedWindow": {
      "label": "last_week",
      "startIso": "2026-06-08T00:00:00Z",
      "endIso": "2026-06-15T00:00:00Z",
      "days": 7
    },
    "rankedInWindow": 4,
    "researchCandidatesInWindow": 12,
    "staleFallbackMode": false
  },
  "totalCount": 4,
  "count": 3,
  "items": [
    {
      "publicationSlug": "stratechery",
      "slug": "the-ai-infrastructure-boom",
      "title": "The AI Infrastructure Boom",
      "subtitle": "Why hyperscalers are spending billions on GPU clusters",
      "isScopedPublisher": true,
      "relevanceScore": 0.92,
      "matchedTokenCount": 3,
      "totalTokenCount": 3,
      "topicCoverageRatio": 1,
      "whyMatched": [
        "Title matches AI + infrastructure",
        "Body discusses capex spending"
      ],
      "publishedAt": "2026-06-14T12:00:00Z",
      "isInTimeWindow": true,
      "snippet": "Nvidia's datacenter revenue hit $26B last quarter as hyperscalers race to build out GPU clusters..."
    }
  ]
}

Query Parameters

q
string
required

Natural-language query string.

Minimum string length: 2
limit
integer
default:10

Maximum number of items returned (1-30).

Required range: 1 <= x <= 30
mode
enum<string>
default:hybrid

Search mode. fts is lexical only; hybrid blends lexical and semantic.

Available options:
fts,
hybrid

Response

Search results.

mode
enum<string>
required

Search mode used.

Available options:
fts,
hybrid
asOf
string
required

Server timestamp when the response was generated.

query
string
required

Original search query.

normalizedQuery
string
required

Normalized query after preprocessing.

matchConfidence
enum<string>
required

Overall match confidence for the query.

Available options:
strong,
weak,
none
searchTierUsed
enum<string>
required

Whether scoped (preferred) or non-scoped publishers were used.

Available options:
scoped,
non_scoped
timeWindow
object
required

Resolved time window for the search, if applicable.

freshnessCoverage
object
required

Freshness and coverage metadata for the time window.

totalCount
integer
required

Total matching results before limit.

Required range: x >= 0
count
integer
required

Number of results returned.

Required range: x >= 0
items
object[]
required

Ranked search results.