---
title: "Search notes"
method: GET
path: "/notes/search"
tags: ["Notes"]
---

# Search notes

`GET /notes/search`

## Request

- Base URL: `https://app.cleve.ai/api/v1`
- URL: `https://app.cleve.ai/api/v1/notes/search`
- Auth: HTTP bearer

Full-text search across note titles and bodies. Use searchNotesWithBody when the query has characters that are awkward to URL-encode.

## Query parameters

- `query` string, required
- `limit` integer
- `folderId` string
- `isPinned` boolean

## Response `200`

Matching notes, best match first.

- object
  - `data` Note[], required
    - `_id` string, required: Note ID.
    - `_creationTime` number, required: Creation time, milliseconds since the Unix epoch.
    - `userId` string: ID of the note's owner.
    - `title` string
    - `content` string, required: Full plain-text body.
    - `kind` 'note' | 'memory' | 'welcome' | 'imported': `memory` notes hold what Cleve remembers about you; `imported` notes came from an import.
    - `isPinned` boolean, required
    - `isPublic` boolean: Whether link sharing is on.
    - `isPublished` boolean: Whether the note is published to the web.
    - `publishedAt` number: Publish time, milliseconds since the Unix epoch.
    - `folderId` string: Folder the note is in, if any.
    - `updatedAt` number, required: Last update, milliseconds since the Unix epoch.
    - `orgId` string: Workspace ID.
    - `permission` 'owner' | 'editor' | 'viewer': What the caller may do with the note.
    - `canManageSharing` boolean

## Other responses

- `400`: The request is invalid. `error` says which field is missing or wrong.
- `401`: Missing or invalid API key.
- `500`: Unexpected server error. Safe to retry once.

---

[API](https://skmtc.dev/cleve/apis/cleve-rest-api.md) · [All operations](https://skmtc.dev/cleve/apis/cleve-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cleve/apis/cleve-rest-api/revisions/d35e11aae036?raw)
