---
title: "Search the Thrive content library"
method: GET
path: "/v1/search"
tags: ["search"]
---

# Search the Thrive content library

`GET /v1/search`

Search the entire Thrive content library — Resets, Stories, Microsteps, Courses, Podcasts, Journeys, Challenges, Soundscapes, Bedtime Stories, and Meditations — in a single request. Every match is returned as a complete, ready-to-render item, so there are no follow-up by-id calls to make.

**Thrive Search is a premium capability of the Partner API.** To enable it for your organisation, contact your Thrive Global representative. Once enabled, your existing bearer token unlocks this endpoint automatically — no new credentials required. Requests made before Search is enabled return `403 Forbidden`.

Results are returned in relevance order, capped at approximately 20 hits, and are not paginated. This endpoint responds with a bare `{ data: [...] }` array rather than the `{ message, valid, data }` envelope used by the collection endpoints.

## Query parameters

- `query` string, required
- `types` string
- `locale` string

## Response `200`

Search results in relevance order

- object
  - `data` SearchResultItem[]
    - `id` string, uuid, required
    - `type` 'reset' | 'story' | 'microstep' | 'learnCourse' | 'podcast' | 'journey' | 'challenge' | 'soundscape' | 'bedtime-story' | 'meditation', required
    - `mediaType` 'AUDIO' | 'TEXT' | 'VIDEO' — Absent on soundscape, bedtime-story, and meditation items
    - `title` string — Absent on soundscape, bedtime-story, and meditation items (use `name`)
    - `snippet` string, nullable — Matched text, highlight markup stripped
    - `tags` TaxonomyTerm[] — Tags as term objects; may be empty.
      - `id` string, nullable, required — Stable identifier for the term; null where none exists
      - `slug` string, required
      - `name` string, nullable, required
    - `conditions` TaxonomyTerm[] — Health conditions as term objects; empty for most types today.
      - `id` string, nullable, required — Stable identifier for the term; null where none exists
      - `slug` string, required
      - `name` string, nullable, required
    - `coreHealthBehaviors` TaxonomyTerm[] — Core health behaviors as term objects; populated for challenges (from journeys), empty for most other types today.
      - `id` string, nullable, required — Stable identifier for the term; null where none exists
      - `slug` string, required
      - `name` string, nullable, required

## Other responses

- `401` — Unauthorized — missing, invalid, or expired token
- `403` — Forbidden — Thrive Search is not enabled for your account. Contact your Thrive Global representative to enable it.
- `422` — Invalid query parameters (e.g. unknown type, missing query)

---

[API](https://skmtc.net/thriveglobal/apis/thrive-global-partner-api.md) · [All operations](https://skmtc.net/thriveglobal/apis/thrive-global-partner-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/thriveglobal/thrive-global-partner-api/revisions/0e40a805593b/schema)
