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

# Search Notes by text

`GET /api/notes/search`

## Request

- Base URL: `https://keep.md`
- URL: `https://keep.md/api/notes/search`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `keep.session_token`

Search Notes by text.

## Query parameters

- `q` string, required
- `includeArchived` boolean
- `limit` integer

## Headers

- `Keep-API-Version` string

## Response `200`

Compact matching Note coordinates

- KeepSearchResponse
  - `query` string, required
  - `mode` 'lexical' | 'semantic' | 'hybrid', required
  - `results` KeepSearchResult[], required
    - `resource` object, required
      - `type` 'item' | 'note', required
      - `id` string, required
    - `title` string, required
    - `snippet` string, required: At most 600 UTF-8 bytes.
    - `snippetTruncated` boolean
    - `matchKind` 'title' | 'body' | 'summary' | 'highlight' | 'metadata', required
    - `revision` integer
    - `range` object
      - `startLine` integer, required
      - `endLine` integer, required
    - `details` object
    - `content` string
    - `contentTruncated` boolean
  - `semantic` object, required
    - `status` string, required
    - `available` boolean, required
    - `used` boolean, required
    - `lexicalOnlyCount` integer, required

## Other responses

- `400`: Invalid request
- `401`: Authentication required
- `403`: The credential lacks access or the plan does not include the feature

---

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